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
This commit is contained in:
Nicholas Randon 2014-07-21 16:43:38 +01:00 committed by Alexis Lee
parent 1192fb70d6
commit 8e0331271d
3 changed files with 56 additions and 3 deletions

@ -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}

@ -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}

@ -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