From a60c74f61eb4b7523ef6d4065624312bfd0aa03a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Han?= Date: Wed, 30 Aug 2017 14:44:34 +0200 Subject: [PATCH] ceph-docker-common: re-organize stat ceph file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a single file to run the checks instead of duplicating code. Signed-off-by: Sébastien Han --- roles/ceph-docker-common/tasks/checks.yml | 26 +--------- .../tasks/fetch_configs.yml | 47 +----------------- .../tasks/stat_ceph_files.yml | 48 +++++++++++++++++++ 3 files changed, 50 insertions(+), 71 deletions(-) create mode 100644 roles/ceph-docker-common/tasks/stat_ceph_files.yml diff --git a/roles/ceph-docker-common/tasks/checks.yml b/roles/ceph-docker-common/tasks/checks.yml index ae0ced2cc..4ccc4c41f 100644 --- a/roles/ceph-docker-common/tasks/checks.yml +++ b/roles/ceph-docker-common/tasks/checks.yml @@ -1,29 +1,5 @@ --- -- 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: set config and keys paths - set_fact: - ceph_config_keys: - - "{{ ceph_conf_key_directory }}/{{ cluster }}.client.admin.keyring" - - "{{ ceph_conf_key_directory }}/{{ cluster }}.conf" - - "{{ 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 - - "{{ bootstrap_rbd_keyring | default([]) }}" - -- name: stat for ceph config and keys - stat: - path: "{{ item }}" - with_items: "{{ ceph_config_keys }}" - changed_when: false - failed_when: false - always_run: true - register: statleftover +- include: stat_ceph_files.yml - name: fail if we find existing cluster files fail: diff --git a/roles/ceph-docker-common/tasks/fetch_configs.yml b/roles/ceph-docker-common/tasks/fetch_configs.yml index d36178274..513443436 100644 --- a/roles/ceph-docker-common/tasks/fetch_configs.yml +++ b/roles/ceph-docker-common/tasks/fetch_configs.yml @@ -1,50 +1,5 @@ --- -- 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 +- include: stat_ceph_files.yml - name: try to fetch ceph config and keys copy: diff --git a/roles/ceph-docker-common/tasks/stat_ceph_files.yml b/roles/ceph-docker-common/tasks/stat_ceph_files.yml new file mode 100644 index 000000000..4492843c2 --- /dev/null +++ b/roles/ceph-docker-common/tasks/stat_ceph_files.yml @@ -0,0 +1,48 @@ +--- +- 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 +