From c21545a8d79f67fd59d57ed0163bc3e07a94f8f4 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Mon, 25 Jul 2016 15:11:40 +0200 Subject: 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 --- puppet/services/ceph-mon.yaml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'puppet/services/ceph-mon.yaml') 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: -- cgit 1.2.3-korg