]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
shrink-osd: various fixes
authorBenoît Knecht <bknecht@protonmail.ch>
Tue, 28 Jul 2020 11:47:26 +0000 (13:47 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Tue, 4 Aug 2020 23:30:57 +0000 (01:30 +0200)
This handles missing /etc/ceph/osd, by ensuring we actually found files in
`/etc/ceph/osd` before trying to slurp their content.

This also add a missing `| default(False)` to avoid fowlloing error:

```
fatal: [ceph01]: FAILED! =>
  msg: |-
    The conditional check 'ceph_osd_data_json[item.2]['encrypted'] | bool' failed. The error was: error while evaluating conditional (ceph_osd_data_json[item.2]['encrypted'] | bool): 'dict object' has no attribute 'encrypted'
```

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1862416
Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
infrastructure-playbooks/shrink-osd.yml

index ff9f4dcd2e0a1c51784051845a22103a4aed151c..5a46269d6ce4216c8d4dc0c843b7550a71f04574 100644 (file)
       delegate_to: "{{ item.item.0 }}"
       register: ceph_osd_files_content
       loop: "{{ ceph_osd_data.results }}"
-      when: item.skipped is undefined
+      when:
+        - item.skipped is undefined
+        - item.matched > 0
 
     - name: set_fact ceph_osd_files_json
       set_fact:
       until: result is succeeded
       when:
         - item.2 not in _lvm_list.keys()
-        - ceph_osd_data_json[item.2]['encrypted'] | bool
+        - ceph_osd_data_json[item.2]['encrypted'] | default(False) | bool
         - ceph_osd_data_json[item.2][item.3] is defined
 
     - name: use ceph-volume lvm zap to destroy all partitions