From 8fed5e2e62a8f3b48862937821978ebb6f69ee49 Mon Sep 17 00:00:00 2001 From: caoyuan <cao.yuan@99cloud.net> Date: Fri, 15 Sep 2017 23:24:43 +0800 Subject: [PATCH] Make the pg and pgp value configurable Change-Id: I99cca8c3830077736f71a7ab1abd3818688f9bb1 --- ansible/group_vars/all.yml | 4 ++++ ansible/roles/ceph_pools.yml | 2 +- ansible/roles/cinder/defaults/main.yml | 5 +++++ ansible/roles/cinder/tasks/ceph.yml | 4 ++++ ansible/roles/glance/defaults/main.yml | 2 ++ ansible/roles/glance/tasks/ceph.yml | 2 ++ ansible/roles/gnocchi/defaults/main.yml | 2 ++ ansible/roles/gnocchi/tasks/ceph.yml | 2 ++ ansible/roles/nova/defaults/main.yml | 2 ++ ansible/roles/nova/tasks/ceph.yml | 2 ++ etc/kolla/globals.yml | 3 +++ 11 files changed, 29 insertions(+), 1 deletion(-) diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index a07819b53a..3ae9d223ac 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -628,6 +628,10 @@ ceph_erasure_profile: "k=4 m=2 ruleset-failure-domain=host" ceph_rule: "default host {{ 'indep' if ceph_pool_type == 'erasure' else 'firstn' }}" ceph_cache_rule: "cache host firstn" +# Set the pgs and pgps for pool +ceph_pool_pg_num: 128 +ceph_pool_pgp_num: 128 + ################################################ # VMware - OpenStack VMware support ################################################ diff --git a/ansible/roles/ceph_pools.yml b/ansible/roles/ceph_pools.yml index b9da16b902..12a8d02af1 100644 --- a/ansible/roles/ceph_pools.yml +++ b/ansible/roles/ceph_pools.yml @@ -25,7 +25,7 @@ when: pool_type == "replicated" - name: Creating ceph pool - command: docker exec ceph_mon ceph osd pool create {{ pool_name }} 128 128 {{ pool_type }} {{ 'erasure-profile' if pool_type == 'erasure' else '' }} disks + command: docker exec ceph_mon ceph osd pool create {{ pool_name }} {{ pool_pg_num }} {{ pool_pgp_num }} {{ pool_type }} {{ 'erasure-profile' if pool_type == 'erasure' else '' }} disks delegate_to: "{{ groups['ceph-mon'][0] }}" changed_when: False failed_when: False diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml index 29170c6327..62dd662892 100644 --- a/ansible/roles/cinder/defaults/main.yml +++ b/ansible/roles/cinder/defaults/main.yml @@ -64,9 +64,14 @@ ceph_cinder_backup_cache_mode: "{{ ceph_cache_mode }}" cinder_pool_name: "{{ ceph_cinder_pool_name }}" cinder_pool_type: "{{ ceph_cinder_pool_type }}" cinder_cache_mode: "{{ ceph_cinder_cache_mode }}" +cinder_pool_pg_num: "{{ ceph_pool_pg_num }}" +cinder_pool_pgp_num: "{{ ceph_pool_pgp_num }}" + cinder_backup_pool_name: "{{ ceph_cinder_backup_pool_name }}" cinder_backup_pool_type: "{{ ceph_cinder_backup_pool_type }}" cinder_backup_cache_mode: "{{ ceph_cinder_backup_cache_mode }}" +cinder_backup_pool_pg_num: "{{ ceph_pool_pg_num }}" +cinder_backup_pool_pgp_num: "{{ ceph_pool_pgp_num }}" #################### diff --git a/ansible/roles/cinder/tasks/ceph.yml b/ansible/roles/cinder/tasks/ceph.yml index 5e2d05daad..2be771b6aa 100644 --- a/ansible/roles/cinder/tasks/ceph.yml +++ b/ansible/roles/cinder/tasks/ceph.yml @@ -35,12 +35,16 @@ pool_name: "{{ cinder_pool_name }}" pool_type: "{{ cinder_pool_type }}" cache_mode: "{{ cinder_cache_mode }}" + pool_pg_num: "{{ cinder_pool_pg_num }}" + pool_pgp_num: "{{ cinder_pool_pgp_num }}" - include: ../../ceph_pools.yml vars: pool_name: "{{ cinder_backup_pool_name }}" pool_type: "{{ cinder_backup_pool_type }}" cache_mode: "{{ cinder_backup_cache_mode }}" + pool_pg_num: "{{ cinder_backup_pool_pg_num }}" + pool_pgp_num: "{{ cinder_backup_pool_pgp_num }}" # TODO(SamYaple): Improve changed_when tests - name: Pulling cephx keyring for cinder diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index 6af594a56b..85740a14d5 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -34,6 +34,8 @@ ceph_glance_cache_mode: "{{ ceph_cache_mode }}" glance_pool_name: "{{ ceph_glance_pool_name }}" glance_pool_type: "{{ ceph_glance_pool_type }}" glance_cache_mode: "{{ ceph_glance_cache_mode }}" +glance_pool_pg_num: "{{ ceph_pool_pg_num }}" +glance_pool_pgp_num: "{{ ceph_pool_pgp_num }}" #################### diff --git a/ansible/roles/glance/tasks/ceph.yml b/ansible/roles/glance/tasks/ceph.yml index ad7aa07173..389a266ddd 100644 --- a/ansible/roles/glance/tasks/ceph.yml +++ b/ansible/roles/glance/tasks/ceph.yml @@ -19,6 +19,8 @@ pool_name: "{{ glance_pool_name }}" pool_type: "{{ glance_pool_type }}" cache_mode: "{{ glance_cache_mode }}" + pool_pg_num: "{{ glance_pool_pg_num }}" + pool_pgp_num: "{{ glance_pool_pgp_num }}" # TODO(SamYaple): Improve changed_when tests - name: Pulling cephx keyring diff --git a/ansible/roles/gnocchi/defaults/main.yml b/ansible/roles/gnocchi/defaults/main.yml index 8c9320d12a..dca69efa72 100644 --- a/ansible/roles/gnocchi/defaults/main.yml +++ b/ansible/roles/gnocchi/defaults/main.yml @@ -45,6 +45,8 @@ ceph_gnocchi_cache_mode: "{{ ceph_cache_mode }}" gnocchi_pool_name: "{{ ceph_gnocchi_pool_name }}" gnocchi_pool_type: "{{ ceph_gnocchi_pool_type }}" gnocchi_cache_mode: "{{ ceph_gnocchi_cache_mode }}" +gnocchi_pool_pg_num: "{{ ceph_pool_pg_num }}" +gnocchi_pool_pgp_num: "{{ ceph_pool_pgp_num }}" #################### diff --git a/ansible/roles/gnocchi/tasks/ceph.yml b/ansible/roles/gnocchi/tasks/ceph.yml index eb6fefd357..22f78414f4 100644 --- a/ansible/roles/gnocchi/tasks/ceph.yml +++ b/ansible/roles/gnocchi/tasks/ceph.yml @@ -29,6 +29,8 @@ pool_name: "{{ gnocchi_pool_name }}" pool_type: "{{ gnocchi_pool_type }}" cache_mode: "{{ gnocchi_cache_mode }}" + pool_pg_num: "{{ gnocchi_pool_pg_num }}" + pool_pgp_num: "{{ gnocchi_pool_pgp_num }}" # TODO(SamYaple): Improve changed_when tests - name: Pulling cephx keyring diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index ebb341a49a..266f895028 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -144,6 +144,8 @@ ceph_nova_cache_mode: "{{ ceph_cache_mode }}" nova_pool_name: "{{ ceph_nova_pool_name }}" nova_pool_type: "{{ ceph_nova_pool_type }}" nova_cache_mode: "{{ ceph_nova_cache_mode }}" +nova_pool_pg_num: "{{ ceph_pool_pg_num }}" +nova_pool_pgp_num: "{{ ceph_pool_pgp_num }}" # Discard option for nova managed disks. Requires libvirt (1, 0, 6) or later and # qemu (1, 6, 0) or later. Set to "" to disable. diff --git a/ansible/roles/nova/tasks/ceph.yml b/ansible/roles/nova/tasks/ceph.yml index 7d4a8ed08d..4274a2f71a 100644 --- a/ansible/roles/nova/tasks/ceph.yml +++ b/ansible/roles/nova/tasks/ceph.yml @@ -27,6 +27,8 @@ pool_name: "{{ nova_pool_name }}" pool_type: "{{ nova_pool_type }}" cache_mode: "{{ nova_cache_mode }}" + pool_pg_num: "{{ nova_pool_pg_num }}" + pool_pgp_num: "{{ nova_pool_pgp_num }}" # TODO(SamYaple): Improve changed_when tests - name: Pulling cephx keyring for nova diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml index 99e571e3b5..17773b642c 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -239,6 +239,9 @@ kolla_internal_vip_address: "10.10.10.254" # Integrate ceph rados object gateway with openstack keystone #enable_ceph_rgw_keystone: "no" +# Set the pgs and pgps for pool +#ceph_pool_pg_num: 128 +#ceph_pool_pgp_num: 128 ############################# # Keystone - Identity Options