]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Refact code for set_osd_pool_default_*
authorGuillaume Abrioux <gabrioux@redhat.com>
Tue, 3 Oct 2017 11:55:27 +0000 (13:55 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 4 Oct 2017 13:40:10 +0000 (15:40 +0200)
This commit refacts the code regarding all `set_osd_pool_default_*`
related tasks by avoiding usage of useless `set_fact` to determine
whether a key is present in `ceph_conf_overrides`.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
25 files changed:
roles/ceph-client/tasks/main.yml
roles/ceph-client/tasks/pre_requisite.yml
roles/ceph-mon/tasks/ceph_keys.yml
roles/ceph-mon/tasks/docker/main.yml
roles/ceph-mon/tasks/main.yml
roles/ceph-mon/tasks/rbd_pool.yml
roles/ceph-mon/tasks/rbd_pool_df.yml
roles/ceph-mon/tasks/rbd_pool_luminous.yml [deleted file]
roles/ceph-mon/tasks/rbd_pool_pgs.yml
roles/ceph-mon/tasks/rbd_pool_size.yml
roles/ceph-mon/tasks/set_osd_pool_default_pg_num.yml
tests/functional/centos/7/bluestore/group_vars/all
tests/functional/centos/7/bs-crypt-ded-jrn/group_vars/all
tests/functional/centos/7/bs-crypt-jrn-col/group_vars/all
tests/functional/centos/7/bs-dock-crypt-jrn-col/group_vars/all
tests/functional/centos/7/bs-jrn-col/group_vars/all
tests/functional/centos/7/cluster/group_vars/all
tests/functional/centos/7/crypt-ded-jrn/group_vars/all
tests/functional/centos/7/crypt-jrn-col/group_vars/all
tests/functional/centos/7/docker/group_vars/all
tests/functional/centos/7/jrn-col-auto-dm/group_vars/all
tests/functional/centos/7/jrn-col-auto/group_vars/all
tests/functional/centos/7/jrn-col/group_vars/all
tests/functional/centos/7/lvm-osds/group_vars/all
tests/functional/ubuntu/16.04/cluster/group_vars/all

index 72ca8a195a020fce59e296c65692810eddd9e97b..2c91e7bd481fbd2952858472fa5b3fd4a1685230 100644 (file)
@@ -6,5 +6,4 @@
   include: create_users_keys.yml
   when:
     - user_config
-    - global_in_ceph_conf_overrides
-    - ceph_conf_overrides.global.osd_pool_default_pg_num is defined
+    - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) != False
index 8df7fc04868c5315ee6c7162ee6c0d74bfb5b18e..cacf12ceae8660ba31d5d67d21c7869f2b5f21de 100644 (file)
@@ -21,7 +21,3 @@
   when:
     - cephx
     - copy_admin_key
-
-- name: set_fact global_in_ceph_conf_overrides
-  set_fact:
-    global_in_ceph_conf_overrides: "{{ 'global' in ceph_conf_overrides }}"
index 49eedaa49220bbc7edb34d55c5f49db2c8b87928..c778a27fa85a965f401fa5812abec7da5b06f17a 100644 (file)
     - ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
   with_items: "{{ groups.get(mgr_group_name, []) }}"
 
-- name: include set_osd_pool_default_pg_num.yml
-  include: set_osd_pool_default_pg_num.yml
-
 - name: crush_rules.yml
   include: crush_rules.yml
   when:
     - crush_rule_config
 
-# Create the pools listed in openstack_pools
-- name: include openstack_config.yml
-  include: openstack_config.yml
-  when:
-    - openstack_config
-    - inventory_hostname == groups[mon_group_name] | last
-
-# CEPH creates the rbd pool during the ceph cluster initialization in
-# releases prior to luminous.  If the rbd_pool.yml playbook is called too
-# early, the rbd pool does not exist yet.
-- name: include rbd_pool.yml
-  include: rbd_pool.yml
-  when: ceph_release_num.{{ ceph_release }} < ceph_release_num.luminous
-
 - name: find ceph keys
   shell: ls -1 /etc/ceph/*.keyring
   changed_when: false
index 3f740516cb94ad88635437d03e03faf7ba64ec83..08162560377e2a00aae599b39a72e51c562c9686 100644 (file)
     - "{{ inventory_hostname == groups[mon_group_name] | last }}"
     - not containerized_deployment_with_kv
 
-- name: include ceph-mon/tasks/set_osd_pool_default_pg_num.yml
-  include: "{{ lookup('env', 'ANSIBLE_ROLES_PATH') | default (playbook_dir + '/roles', true) }}/ceph-mon/tasks/set_osd_pool_default_pg_num.yml"
-
-# create openstack pools only when all mons are up.
-- name: include ceph-mon/tasks/set_osd_pool_default_pg_num.yml
-  include: "{{ lookup('env', 'ANSIBLE_ROLES_PATH') | default (playbook_dir + '/roles', true) }}/ceph-mon/tasks/openstack_config.yml"
-  when:
-    - openstack_config
-    - "{{ inventory_hostname == groups[mon_group_name] | last }}"
-
 - block:
   - name: create ceph mgr keyring(s) when mon is containerized
     command: docker exec ceph-mon-{{ ansible_hostname }} ceph --cluster {{ cluster }} auth get-or-create mgr.{{ hostvars[item]['ansible_hostname'] }} mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /etc/ceph/{{ cluster }}.mgr.{{ hostvars[item]['ansible_hostname'] }}.keyring
index 8debfd86097d3bde52279693fd40a69198837b2c..912e0e0e5cd15b397dbb17e646ad6b1759bc50cc 100644 (file)
   include: docker/main.yml
   when: containerized_deployment
 
+- name: include set_osd_pool_default_pg_num.yml
+  include: set_osd_pool_default_pg_num.yml
+
+# Create the pools listed in openstack_pools
+- name: include openstack_config.yml
+  include: openstack_config.yml
+  when:
+    - openstack_config
+    - inventory_hostname == groups[mon_group_name] | last
+
+# CEPH creates the rbd pool during the ceph cluster initialization in
+# releases prior to luminous.  If the rbd_pool.yml playbook is called too
+# early, the rbd pool does not exist yet.
+- name: include rbd_pool.yml
+  include: rbd_pool.yml
+  when: ceph_release_num.{{ ceph_release }} < ceph_release_num.luminous
+
 - name: include create_mds_filesystems.yml
   include: create_mds_filesystems.yml
   when:
index 49849ef74d17bd8aa605d9d53fbfc90c1084a231..3170ba240fbc7fcbab497f0e2e4e145aa2914daf 100644 (file)
@@ -1,7 +1,7 @@
 ---
 - name: test if rbd exists
   shell: |
-    ceph --cluster {{ cluster }} osd pool ls | grep -sq rbd
+    "{{ docker_exec_cmd }} ceph --cluster {{ cluster }} osd pool ls | grep -sq rbd"
   changed_when: false
   failed_when: false
   run_once: true
   include: rbd_pool_pgs.yml
   when:
     - rbd_pool_exist.rc == 0
-    - global_in_ceph_conf_overrides
-    - ceph_conf_overrides.global.osd_pool_default_pg_num is defined
+    - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) != False
 
 - name: include rbd_pool_size.yml
   include: rbd_pool_size.yml
   when:
     - rbd_pool_exist.rc == 0
-    - global_in_ceph_conf_overrides
-    - ceph_conf_overrides.global.osd_pool_default_size is defined
-
-# In luminous release, ceph does not create the rbd pool by default.
+    - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) != False
index 62857565bfc58a88ebc3c16f7c610ab78014eed3..c24f9df5dd219d8b4ef88b09a441222e1c46cec7 100644 (file)
@@ -6,7 +6,7 @@
 
 - name: check rbd pool usage
   shell: |
-    ceph --connect-timeout 5 --cluster {{ cluster }} df | awk '/rbd/ {print $3}'
+    "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} df | awk '/rbd/ {print $3}'"
   changed_when: false
   failed_when: false
   check_mode: true
diff --git a/roles/ceph-mon/tasks/rbd_pool_luminous.yml b/roles/ceph-mon/tasks/rbd_pool_luminous.yml
deleted file mode 100644 (file)
index e69de29..0000000
index 914b67fd605ca5cde6774b45def316fa0054fc3a..fa404e4c1384ae83d66dc40c9ba4a69f6cf30cfe 100644 (file)
@@ -6,7 +6,7 @@
 
 - name: check pg num for rbd pool
   shell: |
-    ceph --connect-timeout 5 --cluster {{ cluster }} osd pool get rbd pg_num | awk '{print $2}'
+    "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool get rbd pg_num | awk '{print $2}'"
   changed_when: false
   failed_when: false
   check_mode: true
@@ -15,8 +15,8 @@
 
 - name: destroy and recreate rbd pool if osd_pool_default_pg_num is not honoured
   shell: |
-    ceph --connect-timeout 5 --cluster {{ cluster }} osd pool delete rbd rbd --yes-i-really-really-mean-it
-    ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create rbd {{ ceph_conf_overrides.global.osd_pool_default_pg_num }}
+    "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool delete rbd rbd --yes-i-really-really-mean-it"
+    "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool create rbd {{ ceph_conf_overrides.global.osd_pool_default_pg_num }}"
   changed_when: false
   failed_when: false
   run_once: true
index 19029f195258cf508f3471acb2ad4e11ba6887cc..ca16e355348097556fc33608a4d716b6c2777d58 100644 (file)
@@ -6,7 +6,7 @@
 
 - name: check size for rbd pool
   shell: |
-    ceph --connect-timeout 5 --cluster {{ cluster }} osd pool get rbd size | awk '{print $2}'
+    "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool get rbd size | awk '{print $2}'"
   changed_when: false
   failed_when: false
   check_mode: true
@@ -14,7 +14,7 @@
   register: rbd_pool_size
 
 - name: change rbd pool size if osd_pool_default_size is not honoured
-  command: ceph --connect-timeout 5 --cluster {{ cluster }} osd pool set rbd size {{ ceph_conf_overrides.global.osd_pool_default_size }}
+  command: "{{ docker_exec_cmd }} ceph --connect-timeout 5 --cluster {{ cluster }} osd pool set rbd size {{ ceph_conf_overrides.global.osd_pool_default_size }}"
   changed_when: false
   failed_when: false
   run_once: true
index e0dd25249bbcb60645ddcbf800a0fe21b8a815c4..f9a3c206fbf2f0a6412f18e23a9f23923b310b09 100644 (file)
@@ -2,40 +2,30 @@
 # so people that had 'pool_default_pg_num' declared will get
 # the same behaviour
 #
-- name: check if does global key exist in ceph_conf_overrides
-  set_fact:
-    global_in_ceph_conf_overrides: "{{ 'global' in ceph_conf_overrides }}"
-
-- name: check if ceph_conf_overrides.global.osd_pool_default_pg_num is set
-  set_fact:
-    osd_pool_default_pg_num_in_overrides: "{{ 'osd_pool_default_pg_num' in ceph_conf_overrides.global }}"
-  when: global_in_ceph_conf_overrides
-
 - name: get default value for osd_pool_default_pg_num
   shell: |
-   {{ docker_exec_cmd }} ceph --cluster {{ cluster }} daemon mon.{{ monitor_name }} config get osd_pool_default_pg_num | grep -Po '(?<="osd_pool_default_pg_num": ")[^"]*'
+   {{ docker_exec_cmd }} ceph --cluster {{ cluster }} daemon mon.{{ monitor_name }} config get osd_pool_default_pg_num
   failed_when: false
   changed_when: false
   run_once: true
   register: default_pool_default_pg_num
-  when: pool_default_pg_num is not defined or not global_in_ceph_conf_overrides
+  when:
+    - pool_default_pg_num is not defined
+    - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) == False
 
-- name: set_fact osd_pool_default_pg_num pool_default_pg_num
+- name: set_fact osd_pool_default_pg_num with pool_default_pg_num (backward compatibility)
   set_fact:
     osd_pool_default_pg_num: "{{ pool_default_pg_num }}"
   when: pool_default_pg_num is defined
 
-- name: set_fact osd_pool_default_pg_num default_pool_default_pg_num.stdout
+- name: set_fact osd_pool_default_pg_num with default_pool_default_pg_num.stdout
   set_fact:
-    osd_pool_default_pg_num: "{{ default_pool_default_pg_num.stdout }}"
+    osd_pool_default_pg_num: "{{ (default_pool_default_pg_num.stdout | from_json).osd_pool_default_pg_num }}"
   when:
-    - pool_default_pg_num is not defined
-    - default_pool_default_pg_num.rc == 0
-    - (osd_pool_default_pg_num_in_overrides is not defined or not osd_pool_default_pg_num_in_overrides)
+    - default_pool_default_pg_num.get('rc') == 0
 
 - name: set_fact osd_pool_default_pg_num ceph_conf_overrides.global.osd_pool_default_pg_num
   set_fact:
     osd_pool_default_pg_num: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}"
   when:
-    - global_in_ceph_conf_overrides
-    - ceph_conf_overrides.global.osd_pool_default_pg_num is defined
+    - ceph_conf_overrides.get('global', {}).get('osd_pool_default_pg_num', False) != False
index d053bd696d914b3a3127de115ed6074ae3fe7f98..2d2feab3ecd61da5a59c6d4498b4107d2dbc3942 100644 (file)
@@ -23,7 +23,6 @@ user_config: True
 openstack_config: True
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
   osd:
     bluestore block db size = 67108864
index 59054a4ab72847222035029ad4be0266feb4d03b..4d9eb02b4fdcf5a1aef37746350de0cc568397d0 100644 (file)
@@ -21,7 +21,6 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
   osd:
     bluestore block db size = 67108864
index b0a5376b7d8bb4513c5a50ccedbebe0f573abb11..3ecc8bd435d3d2737cc47f781010310ef15e768a 100644 (file)
@@ -18,7 +18,6 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
   osd:
     bluestore block db size = 67108864
index 7cd492b9f21ba5ee69c97c7acf3c3951f593176e..2380f8c5ac0fc5340e047e82244db2334a4cec36 100644 (file)
@@ -18,7 +18,6 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
   osd:
     bluestore block db size = 67108864
index 827347f7a1395679bd80f6330db30b06da4a4da0..29c887a8bc1dc46070e2dbd4d38c35a023ef788c 100644 (file)
@@ -18,7 +18,6 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
   osd:
     bluestore block db size = 67108864
index d7a773695bc52884ae13485554ac4d598b7000b0..eb589f77dfdd39a386182bf90b3aef81d4e0325b 100644 (file)
@@ -22,7 +22,6 @@ user_config: True
 openstack_config: True
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
 nfs_ganesha_stable: true
 nfs_ganesha_dev: false
index 62ffcebba74adb7d1b1dc694014846655f63c60f..99daba91adb6776c3e1993e299bdc4d65622b7bb 100644 (file)
@@ -21,5 +21,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index c3bc36ad57eb3a5ad4796d8f14231cb57e28f43c..f7005f89ebf2e8f2ccc2f2345f67e86e816f7488 100644 (file)
@@ -18,5 +18,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index 3f260c60a27774316e81a05de61964f2ce4c1162..d14454bb44c5fc2fa39375ca58456458f57baeb3 100644 (file)
@@ -24,7 +24,6 @@ rgw_override_bucket_index_max_shards: 16
 rgw_bucket_default_quota_max_objects: 1638400
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
 user_config: True
 keys:
index f091491d614a11e9c5dedb08a4dcd229bf9dd49f..4dd8506d6d76ac8cdbef47f1648593aa2ae9a16f 100644 (file)
@@ -17,5 +17,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index f83598c49483891d09d75f231d913ebf900fe090..ef5e3e110e90a1efd5c9582a7516624b8443137d 100644 (file)
@@ -16,5 +16,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index 871d4e5c898e783ead0a34f1d7100addeb7bd589..2f64e3f7834bf8b62901f4390c21420665b60772 100644 (file)
@@ -18,5 +18,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index 2bcf30c1fb49f05e6346c8b3442c9f62f67bc52a..f8ec2f5a031782e3cb429c84e53830842e1c7f8d 100644 (file)
@@ -25,5 +25,4 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
index a2ae75705790b957499b759316fd41e891879c95..d189e1eca92f4a73c995b5e93cf05271c507b0c6 100644 (file)
@@ -20,7 +20,6 @@ os_tuning_params:
   - { name: fs.file-max, value: 26234859 }
 ceph_conf_overrides:
   global:
-    osd_pool_default_pg_num: 8
     osd_pool_default_size: 1
 debian_ceph_packages:
   - ceph