diff options
Diffstat (limited to 'overcloud-source.yaml')
-rw-r--r-- | overcloud-source.yaml | 90 |
1 files changed, 68 insertions, 22 deletions
diff --git a/overcloud-source.yaml b/overcloud-source.yaml index d4f157a8..947becfb 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. @@ -223,7 +235,17 @@ parameters: description: Neutron ID for ctlplane network. NeutronDnsmasqOptions: default: 'dhcp-option-force=26,1400' - description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead. + description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead. + type: string + NeutronNetworkType: + default: 'gre' + description: The tenant network type for Neutron, either gre or vxlan. + type: string + NeutronTunnelTypes: + default: 'gre' + description: | + The tunnel types for the Neutron tenant network. To specify multiple + values, use a comma separated string, like so: 'gre,vxlan' type: string controllerImage: type: string @@ -381,7 +403,10 @@ resources: - - mysql://neutron:unset@ - *compute_database_host - /ovs_neutron - NeutronNetworkType: "gre" + NeutronNetworkType: + get_param: NeutronNetworkType + NeutronTunnelTypes: + get_param: NeutronTunnelTypes NeutronEnableTunnelling: "True" NeutronFlatNetworks: get_param: NeutronFlatNetworks @@ -399,16 +424,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: @@ -429,11 +460,9 @@ resources: - 0 - Merge::Map: controller0: - - Fn::Select: + - get_attr: + - controller0 - name - - get_attr: - - controller0 - - show nodeid: {get_input: bootstack_nodeid} database: host: &database_host @@ -515,7 +544,7 @@ resources: nodes: Merge::Map: controller0: - {get_attr: [controller0, show, name]} + {get_attr: [controller0, name]} keystone: db: Fn::Join: @@ -562,7 +591,10 @@ resources: public_interface_tag: get_param: NeutronPublicInterfaceTag physical_bridge: br-ex - tenant_network_type: gre + tenant_network_type: + get_param: NeutronNetworkType + tunnel_types: + get_param: NeutronTunnelTypes ovs_db: Fn::Join: - '' @@ -660,7 +692,7 @@ resources: Merge::Map: controller0: ip: {get_attr: [controller0, networks, ctlplane, 0]} - name: {get_attr: [controller0, show, name]} + name: {get_attr: [controller0, name]} net_binds: - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} services: @@ -727,6 +759,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 +779,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} @@ -755,7 +792,7 @@ resources: config: {get_resource: controllerConfig} server: {get_resource: controller0} input_values: - bootstack_nodeid: {get_attr: [controller0, show, name]} + bootstack_nodeid: {get_attr: [controller0, name]} controller_host: {get_attr: [controller0, networks, ctlplane, 0]} controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} @@ -792,10 +829,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [NovaCompute0, networks, ctlplane, 0]} - - {get_attr: [NovaCompute0, show, name]} + - {get_attr: [NovaCompute0, name]} - Fn::Join: - '.' - - - {get_attr: [NovaCompute0, show, name]} + - - {get_attr: [NovaCompute0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -804,10 +841,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [BlockStorage0, networks, ctlplane, 0]} - - {get_attr: [BlockStorage0, show, name]} + - {get_attr: [BlockStorage0, name]} - Fn::Join: - '.' - - - {get_attr: [BlockStorage0, show, name]} + - - {get_attr: [BlockStorage0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -816,10 +853,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]} - - {get_attr: [SwiftStorage0, show, name]} + - {get_attr: [SwiftStorage0, name]} - Fn::Join: - '.' - - - {get_attr: [SwiftStorage0, show, name]} + - - {get_attr: [SwiftStorage0, name]} - 'novalocal' - Fn::Join: - "\n" @@ -828,10 +865,10 @@ resources: Fn::Join: - ' ' - - {get_attr: [controller0, networks, ctlplane, 0]} - - {get_attr: [controller0, show, name]} + - {get_attr: [controller0, name]} - Fn::Join: - '.' - - - {get_attr: [controller0, show, name]} + - - {get_attr: [controller0, name]} - 'novalocal' - {get_param: CloudName} rabbit: @@ -840,7 +877,7 @@ resources: - ',' - Merge::Map: controller0: - {get_attr: [controller0, show, name]} + {get_attr: [controller0, name]} controller0SSLDeployment: type: OS::Heat::StructuredDeployment properties: @@ -860,6 +897,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 |