diff --git a/roles/ceph-docker-common/tasks/create_configs.yml b/roles/ceph-docker-common/tasks/create_configs.yml index fbee9dcad..d1e6a2926 100644 --- a/roles/ceph-docker-common/tasks/create_configs.yml +++ b/roles/ceph-docker-common/tasks/create_configs.yml @@ -1,10 +1,20 @@ --- +# only create fetch directory when: +# we are not populating kv_store with default ceph.conf AND host is a mon +# OR +# we are not population kv_store with default ceph.conf AND there at least 1 nfs in nfs group AND host is the first nfs - name: create a local fetch directory if it does not exist local_action: file path={{ fetch_directory }} state=directory changed_when: false become: false run_once: true - when: cephx or generate_fsid + when: + - (cephx or generate_fsid) + - (not mon_containerized_default_ceph_conf_with_kv and + (inventory_hostname in groups.get(mon_group_name, []))) or + (not mon_containerized_default_ceph_conf_with_kv and + ((groups.get(nfs_group_name, []) | length > 0) + and (inventory_hostname == groups.get(nfs_group_name, [])[0]))) - name: generate cluster uuid local_action: shell python -c 'import uuid; print(str(uuid.uuid4()))' | tee {{ fetch_directory }}/ceph_cluster_uuid.conf @@ -32,6 +42,12 @@ mode: "0644" config_overrides: "{{ ceph_conf_overrides }}" config_type: ini + when: + - (not mon_containerized_default_ceph_conf_with_kv and + (inventory_hostname in groups.get(mon_group_name, []))) or + (not mon_containerized_default_ceph_conf_with_kv and + ((groups.get(nfs_group_name, []) | length > 0) + and (inventory_hostname == groups.get(nfs_group_name, [])[0]))) - name: set fsid fact when generate_fsid = true set_fact: diff --git a/roles/ceph-docker-common/tasks/main.yml b/roles/ceph-docker-common/tasks/main.yml index fc86e14fc..3701fd90e 100644 --- a/roles/ceph-docker-common/tasks/main.yml +++ b/roles/ceph-docker-common/tasks/main.yml @@ -67,18 +67,7 @@ # # because it creates the directories needed by the latter. - include: ./dirs_permissions.yml -# let the first mon create configs and keyrings -# Only include 'create_configs.yml" when: -# we are not populating kv_store with default ceph.conf AND host is a mon -# OR -# we are not population kv_store with default ceph.conf AND there at least 1 nfs in nfs group AND host is the first nfs - include: create_configs.yml - when: - - (not mon_containerized_default_ceph_conf_with_kv and - (inventory_hostname in groups.get(mon_group_name, []))) or - (not mon_containerized_default_ceph_conf_with_kv and - ((groups.get(nfs_group_name, []) | length > 0) - and (inventory_hostname == groups.get(nfs_group_name, [])[0]))) # Only include 'fetch_configs.yml' when: # - we are deploying containers without kv AND host is either a mon OR a nfs OR an osd