diff options
author | Giulio Fidente <gfidente@redhat.com> | 2016-07-25 15:11:40 +0200 |
---|---|---|
committer | Giulio Fidente <gfidente@redhat.com> | 2016-08-08 14:47:06 +0000 |
commit | c21545a8d79f67fd59d57ed0163bc3e07a94f8f4 (patch) | |
tree | 5e1719b7cd6c83179d739950966aa74f589d6b48 | |
parent | a45ea6107df25f1444142a1945717c90180e2700 (diff) |
Support arbitrary attributes for the Ceph pools
This change adds a CephPools parameter which can be used to
provide custom settings for any Ceph pool.
It also removes our custom setting for the default pg_num,
pgp_num and size so that these are used for the managed
pools (and can be overridden) but aren't enforced globally.
Change-Id: Idcf28bec46beabb1b590fc8e78b43e58d8e35717
Closes-Bug: 1517969
Depends-On: I38978f0f3119e4ab7dd45021e598253cb066cb5a
-rw-r--r-- | puppet/services/ceph-base.yaml | 3 | ||||
-rw-r--r-- | puppet/services/ceph-mon.yaml | 35 |
2 files changed, 30 insertions, 8 deletions
diff --git a/puppet/services/ceph-base.yaml b/puppet/services/ceph-base.yaml index bce52f36..47028610 100644 --- a/puppet/services/ceph-base.yaml +++ b/puppet/services/ceph-base.yaml @@ -58,9 +58,6 @@ outputs: config_settings: tripleo::profile::base::ceph::ceph_ipv6: {get_param: CephIPv6} tripleo::profile::base::ceph::enable_ceph_storage: {get_param: ControllerEnableCephStorage} - ceph::profile::params::osd_pool_default_pg_num: 32 - ceph::profile::params::osd_pool_default_pgp_num: 32 - ceph::profile::params::osd_pool_default_size: 3 ceph::profile::params::osd_pool_default_min_size: 1 ceph::profile::params::osds: {/srv/data: {}} ceph::profile::params::manage_repo: false diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml index f48515e5..074d941d 100644 --- a/puppet/services/ceph-mon.yaml +++ b/puppet/services/ceph-mon.yaml @@ -31,6 +31,19 @@ parameters: NovaRbdPoolName: default: vms type: string + CephPools: + description: > + It can be used to override settings for one of the predefined pools, or to create + additional ones. Example: + { + "volumes": { + "size": 5, + "pg_num: 128, + "pgp_num": 128 + } + } + default: {} + type: json resources: CephBase: @@ -46,12 +59,24 @@ 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} + # repeat returns items in a list, so we need to map_merge twice tripleo::profile::base::ceph::mon::ceph_pools: - - {get_param: CinderRbdPoolName} - - {get_param: CinderBackupRbdPoolName} - - {get_param: NovaRbdPoolName} - - {get_param: GlanceRbdPoolName} - - {get_param: GnocchiRbdPoolName} + map_merge: + - map_merge: + repeat: + for_each: + <%pool%>: + - {get_param: CinderRbdPoolName} + - {get_param: CinderBackupRbdPoolName} + - {get_param: NovaRbdPoolName} + - {get_param: GlanceRbdPoolName} + - {get_param: GnocchiRbdPoolName} + template: + <%pool%>: + pg_num: 32 + pgp_num: 32 + size: 3 + - {get_param: CephPools} tripleo.ceph_mon.firewall_rules: '110 ceph_mon': dport: |