From e17ae7620e03790da0d29092ab42e8089b2e8d11 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Thu, 21 Sep 2017 21:18:01 +0200 Subject: [PATCH] Default Ceph pg_num and pgp_num to 128 As per Ceph docs [1] we should default pg_num and pgp_num to 128 when using less than 5 OSDs. This same change was applied to the ceph-ansible profiles with [2]. Also updates the CI environment files to continue using 32 where we deploy a single OSD. 1. http://docs.ceph.com/docs/master/rados/operations/placement-groups/ 2. Ibd9fb23e04576e95e24af58f856663397886a947 Change-Id: I1920bc8f5251f362af38ad3bd6f46dda42c6ee93 Closes-Bug: #1718756 --- ci/environments/multinode-containers.yaml | 3 +++ ci/environments/multinode.yaml | 3 +++ ci/environments/scenario001-multinode.yaml | 3 +++ ci/environments/scenario004-multinode-containers.yaml | 3 +++ ci/environments/scenario004-multinode.yaml | 3 +++ puppet/services/ceph-mon.yaml | 4 ++-- 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ci/environments/multinode-containers.yaml b/ci/environments/multinode-containers.yaml index f050d9a21d..e5cc67db5c 100644 --- a/ci/environments/multinode-containers.yaml +++ b/ci/environments/multinode-containers.yaml @@ -71,6 +71,9 @@ parameter_defaults: #http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/ ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 + #NOTE(gfidente): necessary when deploying a single OSD + ceph::profile::params::osd_pool_default_pg_num: 32 + ceph::profile::params::osd_pool_default_pgp_num: 32 SwiftCeilometerPipelineEnabled: False Debug: True NotificationDriver: 'noop' diff --git a/ci/environments/multinode.yaml b/ci/environments/multinode.yaml index eeeefc074d..b939e37789 100644 --- a/ci/environments/multinode.yaml +++ b/ci/environments/multinode.yaml @@ -67,6 +67,9 @@ parameter_defaults: #http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/ ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 + #NOTE(gfidente): necessary when deploying a single OSD + ceph::profile::params::osd_pool_default_pg_num: 32 + ceph::profile::params::osd_pool_default_pgp_num: 32 SwiftCeilometerPipelineEnabled: False Debug: True NotificationDriver: 'noop' diff --git a/ci/environments/scenario001-multinode.yaml b/ci/environments/scenario001-multinode.yaml index a9fbdfb700..177b73c061 100644 --- a/ci/environments/scenario001-multinode.yaml +++ b/ci/environments/scenario001-multinode.yaml @@ -103,6 +103,9 @@ parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 + #NOTE(gfidente): necessary when deploying a single OSD + ceph::profile::params::osd_pool_default_pg_num: 32 + ceph::profile::params::osd_pool_default_pgp_num: 32 #NOTE: These ID's and keys should be regenerated for # a production deployment. What is here is suitable for # developer and CI testing only. diff --git a/ci/environments/scenario004-multinode-containers.yaml b/ci/environments/scenario004-multinode-containers.yaml index e2be75cc20..07ef17aa30 100644 --- a/ci/environments/scenario004-multinode-containers.yaml +++ b/ci/environments/scenario004-multinode-containers.yaml @@ -89,6 +89,9 @@ parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 + #NOTE(gfidente): necessary when deploying a single OSD + ceph::profile::params::osd_pool_default_pg_num: 32 + ceph::profile::params::osd_pool_default_pgp_num: 32 #NOTE: These ID's and keys should be regenerated for # a production deployment. What is here is suitable for # developer and CI testing only. diff --git a/ci/environments/scenario004-multinode.yaml b/ci/environments/scenario004-multinode.yaml index a81f05e197..0dfeb63a7e 100644 --- a/ci/environments/scenario004-multinode.yaml +++ b/ci/environments/scenario004-multinode.yaml @@ -89,6 +89,9 @@ parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 + #NOTE(gfidente): necessary when deploying a single OSD + ceph::profile::params::osd_pool_default_pg_num: 32 + ceph::profile::params::osd_pool_default_pgp_num: 32 #NOTE: These ID's and keys should be regenerated for # a production deployment. What is here is suitable for # developer and CI testing only. diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml index 4fe6e908f4..5783d18c50 100644 --- a/puppet/services/ceph-mon.yaml +++ b/puppet/services/ceph-mon.yaml @@ -109,8 +109,8 @@ outputs: - get_attr: [CephBase, role_data, config_settings] - ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6} ceph::profile::params::mon_key: {get_param: CephMonKey} - ceph::profile::params::osd_pool_default_pg_num: 32 - ceph::profile::params::osd_pool_default_pgp_num: 32 + ceph::profile::params::osd_pool_default_pg_num: 128 + ceph::profile::params::osd_pool_default_pgp_num: 128 ceph::profile::params::osd_pool_default_size: {get_param: CephPoolDefaultSize} # repeat returns items in a list, so we need to map_merge twice tripleo::profile::base::ceph::mon::ceph_pools: