From 948df8fd4fc7cd061ec9b0f1c1fbe5147cd48d33 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Mon, 18 Jun 2018 17:26:21 +0200 Subject: [PATCH] mgr: fix enabling of mgr module on mimic The data structure has slightly changed on mimic. Prior to mimic, it used to be: ``` { "enabled_modules": [ "status" ], "disabled_modules": [ "balancer", "dashboard", "influx", "localpool", "prometheus", "restful", "selftest", "zabbix" ] } ``` From mimic it looks like this: ``` { "enabled_modules": [ "status" ], "disabled_modules": [ { "name": "balancer", "can_run": true, "error_string": "" }, { "name": "dashboard", "can_run": true, "error_string": "" } ] } ``` This means we can't simply check if `item` is in `item in _ceph_mgr_modules.disabled_modules` the idea here is to use filter `map(attribute='name')` to build a list when deploying mimic. Fixes: #2766 Signed-off-by: Guillaume Abrioux (cherry picked from commit 3abc253fecc91f29c90e23ae95e1b83f8ffd3de6) --- roles/ceph-mgr/tasks/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/roles/ceph-mgr/tasks/main.yml b/roles/ceph-mgr/tasks/main.yml index e5874f14d..2970daf37 100644 --- a/roles/ceph-mgr/tasks/main.yml +++ b/roles/ceph-mgr/tasks/main.yml @@ -17,6 +17,8 @@ command: "{{ docker_exec_cmd_mgr | default('') }} ceph --cluster {{ cluster }} --format json mgr module ls" register: _ceph_mgr_modules delegate_to: "{{ groups[mon_group_name][0] }}" + when: + - ceph_release_num[ceph_release] >= ceph_release_num['luminous'] - name: set _ceph_mgr_modules fact (convert _ceph_mgr_modules.stdout to a dict) set_fact: @@ -45,3 +47,6 @@ command: "{{ docker_exec_cmd_mgr | default('') }} ceph --cluster {{ cluster }} mgr module enable {{ item }}" with_items: "{{ ceph_mgr_modules }}" delegate_to: "{{ groups[mon_group_name][0] }}" + when: + - item in _ceph_mgr_modules.disabled_modules + - ceph_release_num[ceph_release] >= ceph_release_num['luminous'] -- 2.39.5