#user_config: false
#pools:
-# - { name: test, pgs: "{{ pool_default_pg_num }}" }
-# - { name: test2, pgs: "{{ pool_default_pg_num }}" }
+# - { name: test, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" }
+# - { name: test2, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" }
#keys:
# - { name: client.test, value: "mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=test'" }
#cephx: true
# CephFS
-#pool_default_pg_num: 128
#cephfs_data: cephfs_data
#cephfs_metadata: cephfs_metadata
#cephfs: cephfs
#openstack_config: false
#openstack_glance_pool:
# name: images
-# pg_num: "{{ pool_default_pg_num }}"
+# pg_num: "{{ osd_pool_default_pg_num }}"
#openstack_cinder_pool:
# name: volumes
-# pg_num: "{{ pool_default_pg_num }}"
+# pg_num: "{{ osd_pool_default_pg_num }}"
#openstack_nova_pool:
# name: vms
-# pg_num: "{{ pool_default_pg_num }}"
+# pg_num: "{{ osd_pool_default_pg_num }}"
#openstack_cinder_backup_pool:
# name: backups
-# pg_num: "{{ pool_default_pg_num }}"
+# pg_num: "{{ osd_pool_default_pg_num }}"
#openstack_pools:
# - "{{ openstack_glance_pool }}"
user_config: false
pools:
- - { name: test, pgs: "{{ pool_default_pg_num }}" }
- - { name: test2, pgs: "{{ pool_default_pg_num }}" }
+ - { name: test, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" }
+ - { name: test2, pgs: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}" }
keys:
- { name: client.test, value: "mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=test'" }
---
- include: pre_requisite.yml
- include: create_users_keys.yml
- when: user_config
+ when:
+ - user_config
+ - ceph_conf_overrides.global.osd_pool_default_pg_num is defined
cephx: true
# CephFS
-pool_default_pg_num: 128
cephfs_data: cephfs_data
cephfs_metadata: cephfs_metadata
cephfs: cephfs
openstack_config: false
openstack_glance_pool:
name: images
- pg_num: "{{ pool_default_pg_num }}"
+ pg_num: "{{ osd_pool_default_pg_num }}"
openstack_cinder_pool:
name: volumes
- pg_num: "{{ pool_default_pg_num }}"
+ pg_num: "{{ osd_pool_default_pg_num }}"
openstack_nova_pool:
name: vms
- pg_num: "{{ pool_default_pg_num }}"
+ pg_num: "{{ osd_pool_default_pg_num }}"
openstack_cinder_backup_pool:
name: backups
- pg_num: "{{ pool_default_pg_num }}"
+ pg_num: "{{ osd_pool_default_pg_num }}"
openstack_pools:
- "{{ openstack_glance_pool }}"
- cephx
- groups[restapi_group_name] is defined
+# NOTE(leseb): we add a conditional for backward compatibility
+# 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: |
+ ceph --cluster {{ cluster }} daemon mon.{{ monitor_name }} config get osd_pool_default_pg_num | grep -Po '(?<="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)
+
+- set_fact:
+ osd_pool_default_pg_num: "{{ pool_default_pg_num }}"
+ when: pool_default_pg_num is defined
+
+- set_fact:
+ osd_pool_default_pg_num: "{{ default_pool_default_pg_num.stdout }}"
+ when:
+ - pool_default_pg_num is not defined
+ - default_pool_default_pg_num.rc == 0
+ - ceph_conf_overrides.global.osd_pool_default_pg_num is not defined
+
+- set_fact:
+ osd_pool_default_pg_num: "{{ ceph_conf_overrides.global.osd_pool_default_pg_num }}"
+ when: ceph_conf_overrides.global.osd_pool_default_pg_num is defined
+
- include: rbd_pool.yml
when: ceph_conf_overrides.global.osd_pool_default_pg_num is defined
# the role 'ceph-common' doesn't get inherited so the condition can not be evaluate
# since those check are performed by the ceph-common role
- name: create filesystem pools
- command: ceph --cluster {{ cluster }} osd pool create {{ item }} {{ pool_default_pg_num }}
+ command: ceph --cluster {{ cluster }} osd pool create {{ item }} {{ osd_pool_default_pg_num }}
with_items:
- cephfs_data
- cephfs_metadata