--- - name: set config and keys paths set_fact: ceph_config_keys: - "{{ ceph_conf_key_directory }}/{{ cluster }}.client.admin.keyring" - "{{ ceph_conf_key_directory }}/monmap-{{ cluster }}" - "{{ ceph_conf_key_directory }}/{{ cluster }}.mon.keyring" - /var/lib/ceph/bootstrap-osd/{{ cluster }}.keyring - /var/lib/ceph/bootstrap-rgw/{{ cluster }}.keyring - /var/lib/ceph/bootstrap-mds/{{ cluster }}.keyring - name: register rbd bootstrap key set_fact: bootstrap_rbd_keyring: - "/var/lib/ceph/bootstrap-rbd/{{ cluster }}.keyring" when: ceph_release_num.{{ ceph_release }} >= ceph_release_num.luminous - name: merge rbd bootstrap key to config and keys paths set_fact: ceph_config_keys: "{{ ceph_config_keys + bootstrap_rbd_keyring }}" when: ceph_release_num.{{ ceph_release }} >= ceph_release_num.luminous - name: add mgr keys to config and keys paths set_fact: tmp_ceph_mgr_keys: "{{ ceph_conf_key_directory }}/{{ cluster }}.mgr.{{ hostvars[item]['ansible_hostname'] }}.keyring" with_items: "{{ groups.get(mgr_group_name, []) }}" register: tmp_ceph_mgr_keys_result when: "{{ groups.get(mgr_group_name, []) | length > 0 }}" - name: convert mgr keys to an array set_fact: ceph_mgr_keys: "{{ tmp_ceph_mgr_keys_result.results | map(attribute='ansible_facts.tmp_ceph_mgr_keys') | list }}" when: "{{ groups.get(mgr_group_name, []) | length > 0 }}" - name: merge mgr keys to config and keys paths set_fact: ceph_config_keys: "{{ ceph_config_keys + ceph_mgr_keys }}" when: "{{ groups.get(mgr_group_name, []) | length > 0 }}" - name: stat for ceph config and keys local_action: stat path={{ fetch_directory }}/{{ fsid }}/{{ item }} with_items: "{{ ceph_config_keys }}" changed_when: false become: false failed_when: false register: statconfig always_run: true - name: try to fetch ceph config and keys copy: src: "{{ fetch_directory }}/{{ fsid }}/{{ item.0 }}" dest: "{{ item.0 }}" owner: root group: root mode: 0600 changed_when: false with_together: - "{{ ceph_config_keys }}" - "{{ statconfig.results }}" when: item.1.stat.exists == true