24 lines
1.6 KiB
YAML
24 lines
1.6 KiB
YAML
# SPDX-License-Identifier: MIT
|
|
- name: 'Check if Ceph enterprise repo is present'
|
|
register: 'pve_apt_repo_files_with_ceph_enterprise_repo'
|
|
changed_when: false
|
|
ansible.builtin.shell: |
|
|
pvesh get /nodes/{{ inventory_hostname_short }}/apt/repositories --output-format=json | jq '.files[] | select(.repositories[].Components | index("enterprise")) | .path'
|
|
|
|
- name: 'If Ceph enterprise repo is present check if Ceph enterprise repo is enabled'
|
|
when: 'pve_apt_repo_files_with_ceph_enterprise_repo.stdout_lines | length > 0'
|
|
register: 'pve_apt_repo_files_ceph_enterprise_repo_enabled_state'
|
|
changed_when: false
|
|
ansible.builtin.shell: |
|
|
pvesh get /nodes/{{ inventory_hostname_short }}/apt/repositories --output-format=json | jq '.files[] | select(.repositories[].Components | index("enterprise")) | .repositories[] | select(.Components | index("enterprise")) | .Enabled'
|
|
|
|
- name: 'If Ceph enterprise repo is enabled disable Ceph enterprise repo'
|
|
when: 'pve_apt_repo_files_ceph_enterprise_repo_enabled_state.stdout == "1"'
|
|
loop_control:
|
|
loop_var: 'apt_repo_file'
|
|
label: 'Disable Ceph enterprise repo in {{ apt_repo_file | regex_replace(''"'', "''") }}'
|
|
loop: '{{ pve_apt_repo_files_with_ceph_enterprise_repo.stdout_lines }}'
|
|
ansible.builtin.shell: |
|
|
index_in_file="$(pvesh get /nodes/{{ inventory_hostname_short }}/apt/repositories --output-format=json | jq '.files[] | select(.path=={{ apt_repo_file }}) | .repositories | map(.Components | index("enterprise")) | index(0)')"
|
|
pvesh create /nodes/{{ inventory_hostname_short }}/apt/repositories -index "${index_in_file}" -path {{ apt_repo_file }} -enabled 'false'
|