]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commit
ceph-facts: Fix get_def_crush_rule_name.yml in check mode
authorBenoît Knecht <bknecht@protonmail.ch>
Mon, 13 Dec 2021 15:36:27 +0000 (16:36 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Mon, 7 Feb 2022 13:13:19 +0000 (14:13 +0100)
commit7684d892c083ea1e07ada163e78da9f0359b116f
treef6ffcbd6c6d1fe93072675b6bc1351eb45ef6bc2
parentef05e9a313ad232508440131b59f1ab832aaa46d
ceph-facts: Fix get_def_crush_rule_name.yml in check mode

This construct doesn't work as intended since ansible/ansible#74212:

```
item.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:

```
item.stdout | default('{}', True) | from_json
```

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
roles/ceph-facts/tasks/get_def_crush_rule_name.yml