summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Randon <nicholas.randon@hp.com>2014-07-21 16:43:38 +0100
committerAlexis Lee <alexisl@hp.com>2014-09-01 15:03:36 +0100
commit8e0331271dd8d1dd6cb8b6c5b67bee7497b6a673 (patch)
treea264755343b18143fcddc756b79641dab51bdc93
parent1192fb70d6e0e867887b0ff8e7b16fac005ea3c2 (diff)
Add specific pass-through config for each role
Supplement ExtraConfig with specific versions - ControllerExtraConfig and NovaComputeExtraConfig. This allows the user to specify different configurations for each role. Change-Id: Ieaee80e414130504a5e40e878a5a4ca1c196ca2b
-rw-r--r--nova-compute-config.yaml5
-rw-r--r--nova-compute-instance.yaml16
-rw-r--r--overcloud-source.yaml38
3 files changed, 56 insertions, 3 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index cb428ea6..b74f5f10 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -59,3 +59,8 @@ resources:
properties:
group: os-apply-config
config: {get_input: passthrough_config}
+ NovaComputePassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index 86115293..1c2224ec 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -7,6 +7,7 @@ parameters:
type: string
hidden: true
ExtraConfig:
+ default: {}
description: |
Additional configuration to inject into the cluster. The JSON should have
the following structure:
@@ -43,6 +44,12 @@ parameters:
}
}
type: json
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
KeyName:
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
@@ -243,3 +250,12 @@ resources:
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {get_param: ExtraConfig}
+ NovaCompute0PassthroughSpecific:
+ depends_on: [NovaCompute0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: NovaComputePassthroughSpecific}
+ server: {get_resource: NovaCompute0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 93a68344..20e827a5 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -63,6 +63,18 @@ parameters:
}
}
type: json
+ controllerExtraConfig:
+ default: {}
+ description: |
+ Controller specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
OvercloudControlFlavor:
default: baremetal
description: Flavor for control nodes to request when deploying.
@@ -353,16 +365,22 @@ resources:
SubKey: resources.NovaCompute0AllNodesDeployment
parameters:
AllNodesConfig: {get_resource: allNodesConfig}
+ NovaCompute0:
+ type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0
NovaCompute0Passthrough:
type: FileInclude
Path: nova-compute-instance.yaml
SubKey: resources.NovaCompute0Passthrough
parameters:
passthrough_config: {get_param: ExtraConfig}
- NovaCompute0:
+ NovaCompute0PassthroughSpecific:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0
+ SubKey: resources.NovaCompute0PassthroughSpecific
+ parameters:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
controllerConfig:
type: OS::Heat::StructuredConfig
properties:
@@ -668,6 +686,11 @@ resources:
properties:
group: os-apply-config
config: {get_input: passthrough_config}
+ controllerPassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
controller0:
type: OS::Nova::Server
properties:
@@ -683,7 +706,7 @@ resources:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
controller0AllNodesDeployment:
- depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
+ depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0PassthroughSpecific]
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: allNodesConfig}
@@ -800,6 +823,15 @@ resources:
signal_transport: NO_SIGNAL
input_values:
passthrough_config: {get_param: ExtraConfig}
+ controller0PassthroughSpecific:
+ depends_on: [controller0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerPassthroughSpecific}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: controllerExtraConfig}
outputs:
KeystoneURL:
description: URL for the Overcloud Keystone service