From: Guillaume Abrioux Date: Mon, 26 Feb 2018 15:03:30 +0000 (+0100) Subject: client: fix pgs num for client pool creation X-Git-Tag: v3.1.0beta4~16 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=9181c94adf640285c21cc08c2c222d4aa4a02194;p=ceph-ansible.git client: fix pgs num for client pool creation The `pools` dict defined in `roles/ceph-client/defaults/main.yml` shouldn't have `{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}` as default value for `pgs` keys. For instance, if you want some pools to be created but without explicitely specifying the pgs for these pools (it means you want to use the `osd_pool_default_pg_num`), you will be obliged to define `{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}` anyway while you wanted to use the current default value already defined in the cluster which is retrieved early in the playbook and stored in the `{{ osd_pool_default_pg_num }}` fact. Signed-off-by: Guillaume Abrioux --- diff --git a/group_vars/clients.yml.sample b/group_vars/clients.yml.sample index f29b23a71..40bf811ac 100644 --- a/group_vars/clients.yml.sample +++ b/group_vars/clients.yml.sample @@ -15,8 +15,8 @@ dummy: #user_config: false #pools: -# - { name: test, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" } -# - { name: test2, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" } +# - { name: test, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" } +# - { name: test2, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" } # Can add `mds_cap` attribute to override the default value which is '' for mds capabilities. # To have have ansible setfacl the generated key for $user, set the acls var like so: diff --git a/roles/ceph-client/defaults/main.yml b/roles/ceph-client/defaults/main.yml index 396bcd0ab..0c538e514 100644 --- a/roles/ceph-client/defaults/main.yml +++ b/roles/ceph-client/defaults/main.yml @@ -7,8 +7,8 @@ copy_admin_key: false user_config: false pools: - - { name: test, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" } - - { name: test2, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" } + - { name: test, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" } + - { name: test2, pgs: "{{ hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num'] }}" } # Can add `mds_cap` attribute to override the default value which is '' for mds capabilities. # To have have ansible setfacl the generated key for $user, set the acls var like so: diff --git a/roles/ceph-client/tasks/create_users_keys.yml b/roles/ceph-client/tasks/create_users_keys.yml index ec8f722d3..5fa4fe94f 100644 --- a/roles/ceph-client/tasks/create_users_keys.yml +++ b/roles/ceph-client/tasks/create_users_keys.yml @@ -46,12 +46,11 @@ - copy_admin_key - name: create pools - command: "{{ docker_exec_client_cmd }} --cluster {{ cluster }} osd pool create {{ item.name }} {{ item.pgs }}" + command: "{{ docker_exec_client_cmd }} --cluster {{ cluster }} osd pool create {{ item.name }} {{ item.get('pgs', hostvars[groups[mon_group_name][0]]['osd_pool_default_pg_num']) }}" with_items: "{{ pools }}" changed_when: false failed_when: false when: - - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) != False - pools | length > 0 - copy_admin_key