summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova-compute-config.yaml6
-rw-r--r--nova-compute-instance.yaml27
-rw-r--r--overcloud-source.yaml90
-rw-r--r--overcloud-vlan-port.yaml2
-rw-r--r--swift-deploy.yaml5
-rw-r--r--swift-source.yaml2
-rw-r--r--swift-storage-source.yaml1
-rw-r--r--undercloud-source.yaml7
8 files changed, 111 insertions, 29 deletions
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index 48cfcf81..48cb81ee 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -38,6 +38,7 @@ resources:
ovs:
local_ip: {get_input: neutron_local_ip}
tenant_network_type: {get_input: neutron_tenant_network_type}
+ tunnel_types: {get_input: neutron_tunnel_types}
network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
bridge_mappings: {get_input: neutron_bridge_mappings}
enable_tunneling: {get_input: neutron_enable_tunneling}
@@ -65,3 +66,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..5b54a540 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
@@ -77,6 +84,16 @@ parameters:
default: ''
description: A port to add to the NeutronPhysicalBridge.
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
RabbitHost:
type: string
RabbitUserName:
@@ -220,6 +237,7 @@ resources:
neutron_dsn: {get_param: NeutronDSN}
neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
neutron_tenant_network_type: {get_param: NeutronNetworkType}
+ neutron_tunnel_types: {get_param: NeutronTunnelTypes}
neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
@@ -253,3 +271,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..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
diff --git a/overcloud-vlan-port.yaml b/overcloud-vlan-port.yaml
index e962e7a0..71b444fb 100644
--- a/overcloud-vlan-port.yaml
+++ b/overcloud-vlan-port.yaml
@@ -1,7 +1,7 @@
outputs:
controller0PublicIP:
description: Address for registering endpoints in the cloud.
- value: {get_attr: [controller0VLANPort, fixed_ips, 0, ip_address]}
+ value: {get_attr: [controller0_VLANPort, fixed_ips, 0, ip_address]}
resources:
# Override the main template which can also supply a static route.
controller0_99_VLANPort:
diff --git a/swift-deploy.yaml b/swift-deploy.yaml
index e3f475c0..a7486490 100644
--- a/swift-deploy.yaml
+++ b/swift-deploy.yaml
@@ -10,6 +10,10 @@ parameters:
description: The password for the swift service account, used by the swift proxy services.
type: string
hidden: true
+ SwiftPartPower:
+ default: 10
+ description: Partition Power to use when building Swift rings
+ type: number
SwiftReplicas:
type: number
default: 1
@@ -24,6 +28,7 @@ resources:
input_values:
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
+ swift_part_power: {get_param: SwiftPartPower}
swift_devices:
Fn::Join:
- ', '
diff --git a/swift-source.yaml b/swift-source.yaml
index cf1cf9dc..ca0967a4 100644
--- a/swift-source.yaml
+++ b/swift-source.yaml
@@ -7,7 +7,7 @@ resources:
swift:
devices: { get_input: swift_devices }
hash: { get_input: swift_hash_suffix }
- part-power: 10
+ part-power: { get_input: swift_part_power }
proxy-memcache: { get_input: swift_proxy_memcache }
replicas: {get_input: swift_replicas }
service-password: { get_input: swift_password }
diff --git a/swift-storage-source.yaml b/swift-storage-source.yaml
index 103a7ec7..48154e23 100644
--- a/swift-storage-source.yaml
+++ b/swift-storage-source.yaml
@@ -43,6 +43,7 @@ resources:
input_values:
swift_hash_suffix: {get_param: SwiftHashSuffix}
swift_password: {get_param: SwiftPassword}
+ swift_part_power: {get_param: SwiftPartPower}
swift_devices:
Fn::Join:
- ', '
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index 0788e8b6..2fcadd90 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -230,11 +230,9 @@ resources:
- 0
- Merge::Map:
undercloud:
- - Fn::Select:
+ - get_attr:
+ - undercloud
- name
- - get_attr:
- - undercloud
- - show
nodeid: {get_input: bootstack_nodeid}
bootstack:
public_interface_ip:
@@ -363,7 +361,6 @@ resources:
bootstack_nodeid:
get_attr:
- undercloud
- - show
- name
controller_host:
get_attr: