From 6faca15437bf0c8b88aa424b4bc9e3a0b870e863 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Thu, 21 Sep 2017 21:18:01 +0200 Subject: 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 (cherry picked from commit e17ae7620e03790da0d29092ab42e8089b2e8d11) --- 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 781527f4..7f0d6221 100644 --- a/ci/environments/multinode-containers.yaml +++ b/ci/environments/multinode-containers.yaml @@ -65,6 +65,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 eeeefc07..b939e377 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 a9fbdfb7..177b73c0 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 4b647925..7eb9813e 100644 --- a/ci/environments/scenario004-multinode-containers.yaml +++ b/ci/environments/scenario004-multinode-containers.yaml @@ -98,6 +98,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 a81f05e1..0dfeb63a 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 4fe6e908..5783d18c 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: -- cgit 1.2.3-korg