default: 5000
description: The size of the loopback file used by the cinder LVM driver.
type: number
+ Debug:
+ default: ''
+ description: Set to True to enable debugging on all services.
+ type: string
ExtraConfig:
default: {}
description: |
{"config":
[{"section": "default",
"values":
- [{"option": "compute_manager",
- "value": "ironic.nova.compute.manager.ClusterComputeManager"
+ [{"option": "force_config_drive",
+ "value": "always"
}
]
},
}
}
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.
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
NeutronBridgeMappings:
- description: The OVS logical->physical bridge mappings to use.
+ description: >
+ The OVS logical->physical bridge mappings to use. See the Neutron
+ documentation for details. Defaults to mapping br-ex - the external
+ bridge on hosts - to a physical name 'datacentre' which can be used
+ to create provider networks (and we use this for the default floating
+ network) - if changing this either use different post-install network
+ scripts or be sure to keep 'datacentre' as a mapping network name.
+ type: string
+ default: "datacentre:br-ex"
+ NeutronNetworkVLANRanges:
+ default: 'datacentre'
+ description: >
+ The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
+ Neutron documentation for permitted values. Defaults to permitting any
+ VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
type: string
- default: ''
NeutronPassword:
default: unset
description: The password for the neutron service account, used by neutron agents.
hidden: true
NeutronFlatNetworks:
type: string
- default: ''
- description: If set, flat networks to configure in neutron plugins.
+ default: 'datacentre'
+ description: >
+ If set, flat networks to configure in neutron plugins. Defaults to
+ 'datacentre' to permit external network creation.
HypervisorNeutronPhysicalBridge:
- default: ''
- description: An OVS bridge to create on each hypervisor.
+ default: 'br-ex'
+ description: >
+ An OVS bridge to create on each hypervisor. This defaults to br-ex the
+ same as the control plane nodes, as we have a uniform configuration of
+ the openvswitch agent. Typically should not need to be changed.
type: string
HypervisorNeutronPublicInterface:
- default: ''
+ default: 'eth0'
description: What interface to add to the HypervisorNeutronPhysicalBridge.
type: string
NeutronPublicInterface:
default: ''
description: A custom IP address to put onto the NeutronPublicInterface.
type: string
+ NeutronPublicInterfaceTag:
+ default: ''
+ description: >
+ VLAN tag for creating a public VLAN. The tag will be used to
+ create an access port on the exterior bridge for each control plane node,
+ and that port will be given the IP address returned by neutron from the
+ public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
+ overcloud.yaml to include the deployment of VLAN ports to the control
+ plane.
+ type: string
NeutronPublicInterfaceRawDevice:
default: ''
description: If set, the public interface is a vlan with this device as the raw device.
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
type: json
PublicVirtualFixedIPs:
default: []
- description: |
+ description: >
Control the IP allocation for the PublicVirtualInterface port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
description: Keystone key for signing tokens.
type: string
hidden: true
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
resources:
ControlVirtualIP:
type: OS::Neutron::Port
type: OS::Heat::RandomString
properties:
length: 10
+ MysqlRootPassword:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
PublicVirtualIP:
type: OS::Neutron::Port
properties:
Path: nova-compute-instance.yaml
SubKey: resources.NovaCompute0Deployment
parameters:
+ DefaultSignalTransport:
+ get_param: DefaultSignalTransport
NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- - mysql://nova:unset@
- &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- /nova
+ NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
CeilometerDSN:
Fn::Join:
- ''
- - mysql://neutron:unset@
- *compute_database_host
- /ovs_neutron
- NeutronNetworkType: "gre"
+ NeutronNetworkType:
+ get_param: NeutronNetworkType
+ NeutronTunnelTypes:
+ get_param: NeutronTunnelTypes
NeutronEnableTunnelling: "True"
NeutronFlatNetworks:
get_param: NeutronFlatNetworks
- NeutronNetworkVLANRanges: ""
+ NeutronNetworkVLANRanges:
+ get_param: NeutronNetworkVLANRanges
NeutronPhysicalBridge:
get_param: HypervisorNeutronPhysicalBridge
NeutronPublicInterface:
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:
- - mysql://cinder:unset@
- *database_host
- /cinder
+ debug: {get_param: Debug}
volume_size_mb:
get_param: CinderLVMLoopDeviceSize
service-password:
- - mysql://glance:unset@
- *database_host
- /glance
+ debug: {get_param: Debug}
host:
get_input: controller_virtual_ip
port:
- - mysql://heat:unset@
- *database_host
- /heat
+ debug: {get_param: Debug}
stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
watch_server_url: {get_input: heat.watch_server_url}
metadata_server_url: {get_input: heat.metadata_server_url}
- - mysql://keystone:unset@
- *database_host
- /keystone
+ debug: {get_param: Debug}
host:
get_input: controller_virtual_ip
ca_certificate: {get_param: KeystoneCACertificate}
mysql:
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
local_bind: true
+ root-password: {get_resource: MysqlRootPassword}
nodes:
Merge::Map:
controller0:
- - 'tripleo'
- {get_resource: MysqlClusterUniquePart}
neutron:
+ debug: {get_param: Debug}
flat-networks: {get_param: NeutronFlatNetworks}
host: {get_input: controller_virtual_ip}
metadata_proxy_shared_secret: unset
enable_tunneling: 'True'
local_ip:
get_input: controller_host
+ network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
bridge_mappings: {get_param: NeutronBridgeMappings}
public_interface:
get_param: NeutronPublicInterface
get_param: NeutronPublicInterfaceRawDevice
public_interface_route:
get_param: NeutronPublicInterfaceDefaultRoute
+ 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:
- ''
- - mysql://ceilometer:unset@
- *database_host
- /ceilometer
+ debug: {get_param: Debug}
metering_secret: {get_param: CeilometerMeteringSecret}
service-password:
get_param: CeilometerPassword
port: 3306
extra_server_params:
- backup
+ options:
+ - timeout client 0
+ - timeout server 0
- name: nova_ec2
port: 8773
- name: nova_osapi
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:
- 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}
config: {get_resource: allNodesConfig}
server: {get_resource: controller0}
controller0Deployment:
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