diff options
-rw-r--r-- | nova-compute-config.yaml | 5 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 16 | ||||
-rw-r--r-- | overcloud-source.yaml | 38 |
3 files changed, 56 insertions, 3 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml index 48cfcf81..5dc8f204 100644 --- a/nova-compute-config.yaml +++ b/nova-compute-config.yaml @@ -65,3 +65,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 d89155ce..d368f14b 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 @@ -253,3 +260,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 d4f157a8..3dbd5712 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -67,6 +67,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. @@ -399,16 +411,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: @@ -727,6 +745,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: @@ -742,7 +765,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: signal_transport: {get_param: DefaultSignalTransport} @@ -860,6 +883,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 |