aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2015-07-16 17:50:26 +0100
committerSteven Hardy <shardy@redhat.com>2015-07-16 17:55:48 +0100
commit53924336a2989a1938f909b05567b93551129724 (patch)
tree8a89ec1ad17f1a6655a61e519af216436610aef6
parentffe8386e49565ff7005ddd45c4c9ee5ca1019a0a (diff)
Wire in hieradata overrides via ExtraConfig for CephStorage
Adds support for global (ExtraConfig) and role-specific (CephStorageExtraConfig) hiera overrides, similar to those added for the Controller, NovaCompute, BlockStorage, ObjectStorage roles. Change-Id: Idbe73b86a772491cd3c55ba69b5a95cc291d2598
-rw-r--r--ceph-storage.yaml12
-rw-r--r--overcloud-without-mergepy.yaml8
-rw-r--r--puppet/ceph-storage-puppet.yaml18
3 files changed, 38 insertions, 0 deletions
diff --git a/ceph-storage.yaml b/ceph-storage.yaml
index 15092bae..5f9f5373 100644
--- a/ceph-storage.yaml
+++ b/ceph-storage.yaml
@@ -42,6 +42,18 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ ExtraConfig:
+ default: {}
+ description: |
+ Additional configuration to inject into the cluster. Note
+ that CephStorageExtraConfig takes precedence over ExtraConfig.
+ type: json
+ CephStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional configuration to inject into the cluster.
+ type: json
+
resources:
CephStorage:
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index 12467066..2d2145e7 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -602,6 +602,12 @@ parameters:
type: string
constraints:
- custom_constraint: nova.flavor
+ CephStorageExtraConfig:
+ default: {}
+ description: |
+ CephStorage specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
# Hostname format for each role
# Note %index% is translated into the index of the node, e.g 0/1/2 etc
@@ -945,6 +951,8 @@ resources:
template: {get_param: CephStorageHostnameFormat}
params:
'%stackname%': {get_param: 'OS::stack_name'}
+ ExtraConfig: {get_param: ExtraConfig}
+ CephStorageExtraConfig: {get_param: CephStorageExtraConfig}
ControllerIpListMap:
type: OS::TripleO::Network::Ports::NetIpListMap
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index 2d089419..cef56a8f 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -42,6 +42,18 @@ parameters:
Hostname:
type: string
default: '' # Defaults to Heat created hostname
+ ExtraConfig:
+ default: {}
+ description: |
+ Additional hiera configuration to inject into the cluster. Note
+ that CephStorageExtraConfig takes precedence over ExtraConfig.
+ type: json
+ CephStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional hiera configuration to inject into the cluster.
+ type: json
+
resources:
CephStorage:
@@ -118,6 +130,8 @@ resources:
hiera:
hierarchy:
- heat_config_%{::deploy_config_name}
+ - ceph_extraconfig
+ - extraconfig
- ceph_cluster # provided by CephClusterConfig
- ceph
- '"%{::osfamily}"'
@@ -125,6 +139,10 @@ resources:
datafiles:
common:
raw_data: {get_file: hieradata/common.yaml}
+ ceph_extraconfig:
+ mapped_data: {get_param: CephStorageExtraConfig}
+ extraconfig:
+ mapped_data: {get_param: ExtraConfig}
ceph:
raw_data: {get_file: hieradata/ceph.yaml}
mapped_data: