aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2015-07-16 17:40:34 +0100
committerSteven Hardy <shardy@redhat.com>2015-07-16 17:55:48 +0100
commit08f72b29472f6c1ba65d5508ffd3391b452a54a1 (patch)
tree1730c701f87435e4c91b92983c609bb2c0169ef1
parent1f13f59726d7212fdb797f58ab5c70ab7f9cbcaa (diff)
Wire in hieradata overrides via ExtraConfig for BlockStorage
Adds support for global (ExtraConfig) and role-specific (BlockStorageExtraConfig) hiera overrides, similar to those added for the Controller and NovaCompute roles. Change-Id: Iaf9665b53407e6a657f56d6516469f2c88bafbdd
-rw-r--r--cinder-storage.yaml5
-rw-r--r--overcloud-without-mergepy.yaml8
-rw-r--r--puppet/cinder-storage-puppet.yaml47
3 files changed, 26 insertions, 34 deletions
diff --git a/cinder-storage.yaml b/cinder-storage.yaml
index be088d66..f65d9289 100644
--- a/cinder-storage.yaml
+++ b/cinder-storage.yaml
@@ -62,6 +62,11 @@ parameters:
}
}
type: json
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional configuration to inject into the cluster.
+ type: json
Flavor:
description: Flavor for block storage nodes to request when deploying.
type: string
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index d4dd5a1f..f341672a 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -562,6 +562,12 @@ parameters:
type: string
constraints:
- custom_constraint: nova.flavor
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ BlockStorage specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
# Object storage specific parameters
ObjectStorageCount:
@@ -881,6 +887,8 @@ resources:
'%stackname%': {get_param: 'OS::stack_name'}
ServiceNetMap: {get_param: ServiceNetMap}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
+ ExtraConfig: {get_param: ExtraConfig}
+ BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
ObjectStorage:
type: OS::Heat::ResourceGroup
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index 94a0a5c4..25f6ef49 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -31,40 +31,13 @@ parameters:
ExtraConfig:
default: {}
description: |
- Additional configuration to inject into the cluster. The JSON should have
- the following structure:
- {"FILEKEY":
- {"config":
- [{"section": "SECTIONNAME",
- "values":
- [{"option": "OPTIONNAME",
- "value": "VALUENAME"
- }
- ]
- }
- ]
- }
- }
- For instance:
- {"nova":
- {"config":
- [{"section": "default",
- "values":
- [{"option": "force_config_drive",
- "value": "always"
- }
- ]
- },
- {"section": "cells",
- "values":
- [{"option": "driver",
- "value": "nova.cells.rpc_driver.CellsRPCDriver"
- }
- ]
- }
- ]
- }
- }
+ Additional hiera configuration to inject into the cluster. Note
+ that BlockStorageExtraConfig takes precedence over ExtraConfig.
+ type: json
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ Role specific additional hiera configuration to inject into the cluster.
type: json
Flavor:
description: Flavor for block storage nodes to request when deploying.
@@ -235,6 +208,8 @@ resources:
hiera:
hierarchy:
- heat_config_%{::deploy_config_name}
+ - volume_extraconfig
+ - extraconfig
- volume
- all_nodes # provided by allNodesConfig
- '"%{::osfamily}"'
@@ -242,6 +217,10 @@ resources:
datafiles:
common:
raw_data: {get_file: hieradata/common.yaml}
+ volume_extraconfig:
+ mapped_data: {get_param: BlockStorageExtraConfig}
+ extraconfig:
+ mapped_data: {get_param: ExtraConfig}
volume:
raw_data: {get_file: hieradata/volume.yaml}
mapped_data: