From: Rishabh Dave Date: Wed, 24 Apr 2019 09:08:15 +0000 (+0530) Subject: ceph-mds: group similar tasks in create_mds_filesystem.yml X-Git-Tag: v4.0.0rc7~9 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=8959ed50a5e069d6ebcd4dd1b1d1ee35b2e05c26;p=ceph-ansible.git ceph-mds: group similar tasks in create_mds_filesystem.yml Group similar tasks together using block keyword. Signed-off-by: Rishabh Dave (cherry picked from commit 1a4dccdbb9266cc1e86b3d302aa8b00bfb3cd4e2) --- diff --git a/roles/ceph-mds/tasks/create_mds_filesystems.yml b/roles/ceph-mds/tasks/create_mds_filesystems.yml index 027a111c2..d00af283c 100644 --- a/roles/ceph-mds/tasks/create_mds_filesystems.yml +++ b/roles/ceph-mds/tasks/create_mds_filesystems.yml @@ -1,74 +1,74 @@ --- -- name: compile a list of pool names - set_fact: - cephfs_pool_names: "{{ cephfs_pools | map(attribute='name') | list }}" - -- name: check if filesystem pool already exists +- name: check and deploy filesystem pools delegate_to: "{{ groups[mon_group_name][0] }}" block: - - name: get and store list of filesystem pools - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool ls" - changed_when: false - register: osd_pool_ls + - name: check if filesystem pool already exists + block: + - name: compile a list of pool names + set_fact: + cephfs_pool_names: "{{ cephfs_pools | map(attribute='name') | list }}" - - name: look whether pools to be created are present in the output - set_fact: - fs_pools_created: True - when: osd_pool_ls.stdout_lines | intersect(cephfs_pool_names) | length > 0 + - name: get and store list of filesystem pools + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool ls" + changed_when: false + register: osd_pool_ls -- name: deploy filesystem pools - when: fs_pools_created is not defined - delegate_to: "{{ groups[mon_group_name][0] }}" - block: - - name: create filesystem pools - command: > - {{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} - osd pool create {{ item.name }} - {{ item.pg_num | default(item.pgs) | default(osd_pool_default_pg_num) }} - {{ item.pgp_num | default(item.pgs) | default(item.pg_num) | default(osd_pool_default_pg_num) }} - {{ 'replicated_rule' if not item.rule_name | default('replicated_rule') else item.rule_name | default('replicated_rule') }} - {{ 1 if item.type|default(1) == 'replicated' else 3 if item.type|default(1) == 'erasure' else item.type|default(1) }} - {%- if (item.type | default("1") == '3' or item.type | default("1") == 'erasure') and item.erasure_profile != '' %} - {{ item.erasure_profile }} - {%- endif %} - {{ item.expected_num_objects | default('') }} - changed_when: false - with_items: - - "{{ cephfs_pools }}" + - name: look whether pools to be created are present in the output + set_fact: + fs_pools_created: True + when: osd_pool_ls.stdout_lines | intersect(cephfs_pool_names) | length > 0 - - name: customize pool size - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool set {{ item.name }} size {{ item.size | default(osd_pool_default_size) }}" - with_items: "{{ cephfs_pools | unique }}" - changed_when: false - when: item.size | default(osd_pool_default_size) != ceph_osd_pool_default_size + - name: deploy filesystem pools + when: fs_pools_created is not defined + block: + - name: create filesystem pools + command: > + {{ hostvars[groups[mon_group_name][0]]['docker_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} + osd pool create {{ item.name }} + {{ item.pg_num | default(item.pgs) | default(osd_pool_default_pg_num) }} + {{ item.pgp_num | default(item.pgs) | default(item.pg_num) | default(osd_pool_default_pg_num) }} + {{ 'replicated_rule' if not item.rule_name | default('replicated_rule') else item.rule_name | default('replicated_rule') }} + {{ 1 if item.type|default(1) == 'replicated' else 3 if item.type|default(1) == 'erasure' else item.type|default(1) }} + {%- if (item.type | default("1") == '3' or item.type | default("1") == 'erasure') and item.erasure_profile != '' %} + {{ item.erasure_profile }} + {%- endif %} + {{ item.expected_num_objects | default('') }} + changed_when: false + with_items: + - "{{ cephfs_pools }}" - - name: customize pool min_size - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool set {{ item.name }} min_size {{ item.min_size | default(osd_pool_default_min_size) }}" - with_items: "{{ cephfs_pools | unique }}" - changed_when: false - when: (item.min_size | default(osd_pool_default_min_size))|int > ceph_osd_pool_default_min_size + - name: customize pool size + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool set {{ item.name }} size {{ item.size | default(osd_pool_default_size) }}" + with_items: "{{ cephfs_pools | unique }}" + changed_when: false + when: item.size | default(osd_pool_default_size) != ceph_osd_pool_default_size -- name: check if ceph filesystem already exists - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} fs get {{ cephfs }}" - register: check_existing_cephfs - changed_when: false - failed_when: false - delegate_to: "{{ groups[mon_group_name][0] }}" + - name: customize pool min_size + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool set {{ item.name }} min_size {{ item.min_size | default(osd_pool_default_min_size) }}" + with_items: "{{ cephfs_pools | unique }}" + changed_when: false + when: (item.min_size | default(osd_pool_default_min_size))|int > ceph_osd_pool_default_min_size -- name: create ceph filesystem - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} fs new {{ cephfs }} {{ cephfs_metadata }} {{ cephfs_data }}" - changed_when: false - delegate_to: "{{ groups[mon_group_name][0] }}" - when: check_existing_cephfs.rc != 0 + - name: assign application to cephfs pools + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool application enable {{ item }} cephfs" + with_items: + - "{{ cephfs_data }}" + - "{{ cephfs_metadata }}" + changed_when: false -- name: assign application to cephfs pools - command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} osd pool application enable {{ item }} cephfs" - with_items: - - "{{ cephfs_data }}" - - "{{ cephfs_metadata }}" - changed_when: false +- name: check and create ceph filesystem delegate_to: "{{ groups[mon_group_name][0] }}" - when: check_existing_cephfs.rc != 0 + block: + - name: check if ceph filesystem already exists + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} fs get {{ cephfs }}" + register: check_existing_cephfs + changed_when: false + failed_when: false + + - name: create ceph filesystem + command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} fs new {{ cephfs }} {{ cephfs_metadata }} {{ cephfs_data }}" + changed_when: false + when: check_existing_cephfs.rc != 0 - name: set max_mds command: "{{ docker_exec_cmd | default('') }} ceph --cluster {{ cluster }} fs set {{ cephfs }} max_mds {{ mds_max_mds }}"