roles: ceph-defaults: Delegate cluster information task to monitor node

Since commit f422efb1d6 ("config: ensure
rgw section has the correct name") we observe the following failures in
new Ceph deployment with OpenStack-Ansible

fatal: [aio1_ceph-rgw_container-fc588f0a]: FAILED! => {"changed": false,
"cmd": "ceph --cluster ceph -s -f json", "msg": "[Errno 2] No such file
or directory"

This is because the task executes 'ceph' but at this point no package
installation has happened. Packages are normally installed in the
'ceph-common' role which runs after the 'ceph-defaults' one.

Since we are looking to obtain cluster information, the task should be
delegated to a monitor node similar to other tasks in that role

Signed-off-by: Markos Chandras <mchandras@suse.de>
pull/3037/head
Markos Chandras 2018-08-14 09:52:04 +03:00 committed by Sébastien Han
parent f6519e4003
commit 37e50114de
1 changed files with 8 additions and 0 deletions

View File

@ -221,6 +221,14 @@
- block:
- name: get current cluster status (if already running)
command: "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} -s -f json"
changed_when: false
failed_when: false
check_mode: no
run_once: true
delegate_to: "{{ groups[mon_group_name][0] }}"
when:
- not rolling_update
- groups.get(mon_group_name, []) | length > 0
register: ceph_current_status
- name: set_fact ceph_current_status (convert to json)