mirror of https://github.com/ceph/ceph-ansible.git
ceph-osd: Fix start_osds.yml in check mode
This construct doesn't work as intended since ansible/ansible#74212: ``` ceph_osd_ids.stdout | default('{}') | from_json ``` That PR made the `command` module return `stdout` even in check mode (setting it to the empty string), so `default()` has no effect in that case and `from_json()` fails to parse an empty string. Instead, `default()` needs to be invoked with its second argument set to `True`, so that it replaces any `False` value (such as an empty string) with its first argument: ``` ceph_osd_ids.stdout | default('{}', True) | from_json ``` Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>pull/7081/head
parent
79ca442d53
commit
0b3a608216
|
@ -46,7 +46,7 @@
|
|||
mode: "{{ ceph_directories_mode }}"
|
||||
owner: "{{ ceph_uid if containerized_deployment | bool else 'ceph' }}"
|
||||
group: "{{ ceph_uid if containerized_deployment | bool else 'ceph' }}"
|
||||
with_items: "{{ ((ceph_osd_ids.stdout | default('{}') | from_json).keys() | list) | union(osd_ids_non_container.stdout_lines | default([])) }}"
|
||||
with_items: "{{ ((ceph_osd_ids.stdout | default('{}', True) | from_json).keys() | list) | union(osd_ids_non_container.stdout_lines | default([])) }}"
|
||||
|
||||
- name: systemd start osd
|
||||
systemd:
|
||||
|
@ -55,4 +55,4 @@
|
|||
enabled: yes
|
||||
masked: no
|
||||
daemon_reload: yes
|
||||
with_items: "{{ ((ceph_osd_ids.stdout | default('{}') | from_json).keys() | list) | union(osd_ids_non_container.stdout_lines | default([])) }}"
|
||||
with_items: "{{ ((ceph_osd_ids.stdout | default('{}', True) | from_json).keys() | list) | union(osd_ids_non_container.stdout_lines | default([])) }}"
|
||||
|
|
Loading…
Reference in New Issue