If there are no services on the cluster, then the 'rgw' could be missing
and the task is failing with the following problem:
msg": "The task includes an option with an undefined variable.
The error was: 'dict object' has no attribute 'rgw'
We fix this by checking the existence of the 'rgw' attribute. If it's
missing, we skip the task since the role already contains code to set
a good default rgw_hostname.
Signed-off-by: Markos Chandras <mchandras@suse.de>
(cherry picked from commit
126e2e3f92475a17f9a04e1e792ee6eb69fbfab0)
- name: set_fact rgw_hostname
set_fact:
rgw_hostname: "{% for key in ceph_current_status['servicemap']['services']['rgw']['daemons'].keys() %}{% if key == ansible_fqdn %}{{ key }}{% endif %}{% endfor %}"
+ when: ceph_current_status['servicemap']['services']['rgw'] is defined
when:
- ceph_current_fsid.get('rc', 1) == 0
- inventory_hostname in groups.get(rgw_group_name, [])