From 37e50114dedf6a7aec0f1b2e1b9d2dd997a11d8e Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Tue, 14 Aug 2018 09:52:04 +0300 Subject: [PATCH] roles: ceph-defaults: Delegate cluster information task to monitor node Since commit f422efb1d6b56ce56a7d39a21736a471e4ed357 ("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 --- roles/ceph-defaults/tasks/facts.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/ceph-defaults/tasks/facts.yml b/roles/ceph-defaults/tasks/facts.yml index 470182344..ee6742782 100644 --- a/roles/ceph-defaults/tasks/facts.yml +++ b/roles/ceph-defaults/tasks/facts.yml @@ -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) -- 2.39.5