description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
server,Dedicated RabbitMQ Server,Group of Nova Computes
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
parameters:
AdminPassword:
default: unset
description: The keystone auth secret.
type: string
hidden: true
- CinderPassword:
+ CeilometerComputeAgent:
+ description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+ type: string
+ default: ''
+ constraints:
+ - allowed_values: ['', Present]
+ CeilometerMeteringSecret:
default: unset
- description: The password for the cinder service account, used by cinder-api.
+ description: Secret shared by the ceilometer services.
+ type: string
+ hidden: true
+ CeilometerPassword:
+ default: unset
+ description: The password for the ceilometer service account.
type: string
hidden: true
CinderISCSIHelper:
default: 5000
description: The size of the loopback file used by the cinder LVM driver.
type: number
+ CinderPassword:
+ default: unset
+ description: The password for the cinder service account, used by cinder-api.
+ type: string
+ hidden: true
+ CloudName:
+ default: ''
+ description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
+ type: string
+ ControlFixedIPs:
+ default: []
+ description: Should be used for arbitrary ips.
+ type: json
+ controllerExtraConfig:
+ default: {}
+ description: |
+ Controller specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ controllerImage:
+ type: string
+ default: overcloud-control
+ constraints:
+ - custom_constraint: glance.image
+ ControlVirtualInterface:
+ default: 'br-ex'
+ description: Interface where virtual ip will be assigned.
+ type: string
+ Debug:
+ default: ''
+ description: Set to True to enable debugging on all services.
+ type: string
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
ExtraConfig:
default: {}
description: |
{"config":
[{"section": "default",
"values":
- [{"option": "compute_manager",
- "value": "ironic.nova.compute.manager.ClusterComputeManager"
+ [{"option": "force_config_drive",
+ "value": "always"
}
]
},
}
}
type: json
- OvercloudControlFlavor:
- default: baremetal
- description: Flavor for control nodes to request when deploying.
+ GlanceLogFile:
+ description: The filepath of the file to use for logging messages from Glance.
type: string
- OvercloudComputeFlavor:
- default: baremetal
- description: Flavor for compute nodes to request when deploying.
+ default: ''
+ HorizonPort:
+ type: number
+ default: 80
+ description: Horizon web server port.
+ GlancePassword:
+ default: unset
+ description: The password for the glance service account, used by the glance services.
type: string
+ hidden: true
GlancePort:
default: 9292
description: Glance port.
default: http
description: Protocol to use when connecting to glance, set to https for SSL.
type: string
- GlancePassword:
- default: unset
- description: The password for the glance service account, used by the glance services.
- type: string
- hidden: true
GlanceNotifierStrategy:
description: Strategy to use for Glance notification queue
type: string
default: noop
- GlanceLogFile:
- description: The filepath of the file to use for logging messages from Glance.
- type: string
- default: ''
HeatPassword:
default: unset
description: The password for the Heat service account, used by the Heat services.
type: string
hidden: true
+ HeatStackDomainAdminPassword:
+ description: Password for heat_domain_admin user.
+ type: string
+ default: ''
+ hidden: true
+ HypervisorNeutronPhysicalBridge:
+ 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: nic1
+ description: What interface to add to the HypervisorNeutronPhysicalBridge.
+ type: string
ImageUpdatePolicy:
default: 'REBUILD_PRESERVE_EPHEMERAL'
description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
default: default
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.
- type: string
+ constraints:
+ - custom_constraint: nova.keypair
+ KeystoneCACertificate:
default: ''
- NeutronPassword:
- default: unset
- description: The password for the neutron service account, used by neutron agents.
- type: string
- hidden: true
- CeilometerComputeAgent:
- description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+ description: Keystone self-signed certificate authority certificate.
type: string
+ KeystoneSigningCertificate:
default: ''
- constraints:
- - allowed_values: ['', Present]
- CeilometerMeteringSecret:
- default: unset
- description: Secret shared by the ceilometer services.
+ description: Keystone certificate for verifying token validity.
type: string
- hidden: true
- CeilometerPassword:
- default: unset
- description: The password for the ceilometer service account.
+ KeystoneSigningKey:
+ default: ''
+ description: Keystone key for signing tokens.
type: string
hidden: true
- SnmpdReadonlyUserName:
- default: ro_snmp_user
- description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ KeystoneSSLCertificate:
+ default: ''
+ description: Keystone certificate for verifying token validity.
type: string
- SnmpdReadonlyUserPassword:
- default: unset
- description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ KeystoneSSLCertificateKey:
+ default: ''
+ description: Keystone key for signing tokens.
type: string
hidden: true
- CloudName:
+ MysqlInnodbBufferPoolSize:
+ description: >
+ Specifies the size of the buffer pool in megabytes. Setting to
+ zero should be interpreted as "no value" and will defer to the
+ lower level default.
+ type: number
+ default: 0
+ NeutronBridgeMappings:
+ 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"
+ NeutronControlPlaneID:
default: ''
- description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
type: string
- NovaComputeDriver:
- default: libvirt.LibvirtDriver
+ 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 tunnel overhead.
type: string
- NovaComputeLibvirtType:
- default: ''
+ NeutronFlatNetworks:
type: string
- NovaImage:
+ default: 'datacentre'
+ description: >
+ If set, flat networks to configure in neutron plugins. Defaults to
+ 'datacentre' to permit external network creation.
+ NeutronNetworkType:
+ default: 'gre'
+ description: The tenant network type for Neutron, either gre or vxlan.
+ type: string
+ 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: overcloud-compute
- NovaPassword:
+ NeutronPassword:
default: unset
- description: The password for the nova service account, used by nova-api.
+ description: The password for the neutron service account, used by neutron agents.
type: string
hidden: true
- NeutronFlatNetworks:
- type: string
- default: ''
- description: If set, flat networks to configure in neutron plugins.
- HypervisorNeutronPhysicalBridge:
- default: ''
- description: An OVS bridge to create on each hypervisor.
- type: string
- HypervisorNeutronPublicInterface:
- default: ''
- description: What interface to add to the HypervisorNeutronPhysicalBridge.
- type: string
NeutronPublicInterface:
- default: eth0
+ default: nic1
description: What interface to bridge onto br-ex for network nodes.
type: string
NeutronPublicInterfaceDefaultRoute:
default: ''
description: If set, the public interface is a vlan with this device as the raw device.
type: string
- NeutronControlPlaneID:
+ 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
+ NeutronComputeAgentMode:
+ default: 'dvr'
+ description: Agent mode for the neutron-l3-agent on the compute hosts
+ type: string
+ NeutronAgentMode:
+ default: 'dvr_snat'
+ description: Agent mode for the neutron-l3-agent on the controller hosts
+ type: string
+ NeutronDVR:
+ default: 'False'
+ description: Whether to configure Neutron Distributed Virtual Routers
+ type: string
+ NeutronMetadataProxySharedSecret:
+ default: 'unset'
+ description: Shared secret to prevent spoofing
+ 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
- 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.
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'openvswitch,l2_population'
type: string
- controllerImage:
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
type: string
- default: overcloud-control
- NtpServer:
+ NovaComputeDriver:
+ default: libvirt.LibvirtDriver
type: string
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ NovaComputeLibvirtType:
default: ''
- RabbitUserName:
- default: guest
- description: The username for RabbitMQ
- type: string
- RabbitPassword:
- default: guest
- description: The password for RabbitMQ
type: string
- hidden: true
- RabbitCookieSalt:
+ NovaImage:
type: string
+ default: overcloud-compute
+ constraints:
+ - custom_constraint: glance.image
+ NovaPassword:
default: unset
- description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
- HeatStackDomainAdminPassword:
- description: Password for heat_domain_admin user.
+ description: The password for the nova service account, used by nova-api.
type: string
- default: ''
hidden: true
- LiveUpdateUserName:
- type: string
- description: The live-update username for the undercloud Glance API.
- default: ''
- LiveUpdateTenantName:
- type: string
- description: The live-update tenant name for the undercloud Glance API.
- default: ''
- LiveUpdateHost:
- type: string
- description: The IP address for the undercloud Glance API.
- default: ''
- LiveUpdatePassword:
+ NtpServer:
type: string
default: ''
- description: The live-update password for the undercloud Glance API.
- hidden: true
- LiveUpdateComputeImage:
+ OvercloudComputeFlavor:
+ description: Flavor for compute nodes to request when deploying.
type: string
- description: The image ID for live-updates to the overcloud compute nodes.
- default: ''
- MysqlInnodbBufferPoolSize:
- description: >
- Specifies the size of the buffer pool in megabytes. Setting to
- zero should be interpreted as "no value" and will defer to the
- lower level default.
- type: number
- default: 0
- ControlVirtualInterface:
- default: 'br-ex'
- description: Interface where virtual ip will be assigned.
+ constraints:
+ - custom_constraint: nova.flavor
+ OvercloudControlFlavor:
+ description: Flavor for control nodes to request when deploying.
type: string
- ControlFixedIPs:
- default: []
- description: Should be used for arbitrary ips.
- type: json
+ constraints:
+ - custom_constraint: nova.flavor
PublicVirtualFixedIPs:
default: []
- description: |
+ description: >
Control the IP allocation for the PublicVirtualInterface port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
type: string
description: >
Neutron network to allocate public virtual IP port on.
- KeystoneCACertificate:
- default: ''
- description: Keystone self-signed certificate authority certificate.
+ RabbitCookieSalt:
type: string
- KeystoneSigningCertificate:
- default: ''
- description: Keystone certificate for verifying token validity.
+ default: unset
+ description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
+ RabbitPassword:
+ default: guest
+ description: The password for RabbitMQ
type: string
- KeystoneSigningKey:
- default: ''
- description: Keystone key for signing tokens.
+ hidden: true
+ RabbitUserName:
+ default: guest
+ description: The username for RabbitMQ
+ type: string
+ RabbitClientUseSSL:
+ default: false
+ description: >
+ Rabbit client subscriber parameter to specify
+ an SSL connection to the RabbitMQ host.
+ type: string
+ RabbitClientPort:
+ default: 5672
+ description: Set rabbit subscriber port, change this if using SSL
+ type: number
+ SnmpdReadonlyUserName:
+ default: ro_snmp_user
+ description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ type: string
+ SnmpdReadonlyUserPassword:
+ default: unset
+ description: The user password for SNMPd with readonly rights running on all Overcloud nodes
type: string
hidden: true
resources:
network_id: {get_param: NeutronControlPlaneID}
fixed_ips:
get_param: ControlFixedIPs
+ replacement_policy: AUTO
MysqlClusterUniquePart:
type: OS::Heat::RandomString
properties:
length: 10
+ MysqlRootPassword:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
PublicVirtualIP:
type: OS::Neutron::Port
properties:
network: {get_param: PublicVirtualNetwork}
fixed_ips:
get_param: PublicVirtualFixedIPs
+ replacement_policy: AUTO
RabbitCookie:
type: OS::Heat::RandomString
properties:
length: 20
salt:
get_param: RabbitCookieSalt
- NovaCompute0Deploy:
+ NovaCompute0Deployment:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0Deploy
+ 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]}
GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- NovaDSN:
- list_join:
- - ''
- - - 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:
- list_join:
+ Fn::Join:
- ''
- - mysql://ceilometer:unset@
- - *compute_database_host
+ - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- /ceilometer
- NeutronDSN:
- list_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:
get_param: HypervisorNeutronPublicInterface
NeutronBridgeMappings:
get_param: NeutronBridgeMappings
- NovaCompute0AllNodes:
+ NeutronDVR:
+ get_param: NeutronDVR
+ NeutronAgentMode:
+ get_param: NeutronComputeAgentMode
+ NeutronPublicInterfaceRawDevice:
+ get_param: NeutronPublicInterfaceRawDevice
+ NeutronMechanismDrivers:
+ get_param: NeutronMechanismDrivers
+ NeutronAllowL3AgentFailover:
+ get_param: NeutronAllowL3AgentFailover
+ NovaCompute0AllNodesDeployment:
type: FileInclude
Path: nova-compute-instance.yaml
- SubKey: resources.NovaCompute0AllNodesDeploy
+ 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:
- 0
- Merge::Map:
controller0:
- - Fn::Select:
+ - get_attr:
+ - controller0
- name
- - get_attr:
- - controller0
- - show
nodeid: {get_input: bootstack_nodeid}
database:
host: &database_host
{get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
cinder:
db:
- list_join:
+ Fn::Join:
- ''
- - mysql://cinder:unset@
- *database_host
- /cinder
+ debug: {get_param: Debug}
volume_size_mb:
get_param: CinderLVMLoopDeviceSize
service-password:
host: {get_input: controller_virtual_ip}
backend: swift
db:
- list_join:
+ Fn::Join:
- ''
- - mysql://glance:unset@
- *database_host
- /glance
+ debug: {get_param: Debug}
host:
get_input: controller_virtual_ip
port:
admin_user: heat
auth_encryption_key: unset___________
db:
- list_join:
+ Fn::Join:
- ''
- - 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}
waitcondition_server_url: {get_input: heat.waitcondition_server_url}
horizon:
+ port: {get_param: HorizonPort}
caches:
memcached:
nodes:
Merge::Map:
controller0:
- {get_attr: [controller0, show, name]}
+ {get_attr: [controller0, name]}
keystone:
db:
- list_join:
+ Fn::Join:
- ''
- - mysql://keystone:unset@
- *database_host
- /keystone
+ debug: {get_param: Debug}
host:
get_input: controller_virtual_ip
ca_certificate: {get_param: KeystoneCACertificate}
signing_key: {get_param: KeystoneSigningKey}
signing_certificate: {get_param: KeystoneSigningCertificate}
+ ssl:
+ certificate: {get_param: KeystoneSSLCertificate}
+ certificate_key: {get_param: KeystoneSSLCertificateKey}
mysql:
innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
local_bind: true
+ root-password: {get_resource: MysqlRootPassword}
nodes:
Merge::Map:
controller0:
ip: {get_attr: [controller0, networks, ctlplane, 0]}
cluster_name:
- list_join:
+ Fn::Join:
- '-'
- - '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
+ metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ agent_mode: {get_param: NeutronAgentMode}
+ router_distributed: {get_param: NeutronDVR}
+ mechanism_drivers: {get_param: NeutronMechanismDrivers}
+ allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
ovs:
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:
- list_join:
+ Fn::Join:
- ''
- - mysql://neutron:unset@
- *database_host
get_param: NeutronDnsmasqOptions
ceilometer:
db:
- list_join:
+ Fn::Join:
- ''
- - mysql://ceilometer:unset@
- *database_host
- /ceilometer
+ debug: {get_param: Debug}
metering_secret: {get_param: CeilometerMeteringSecret}
service-password:
get_param: CeilometerPassword
nova:
compute_driver: libvirt.LibvirtDriver
db:
- list_join:
+ Fn::Join:
- ''
- - mysql://nova:unset@
- *database_host
get_attr:
- RabbitCookie
- value
+ rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
+ rabbit_port: {get_param: RabbitClientPort}
ntp:
servers:
- {server: {get_param: NtpServer}, fudge: "stratum 0"}
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]}
+ - &control_vip {ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}}
+ - &public_vip {ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}}
+ options:
+ - option httpchk GET /
services:
- name: keystone_admin
port: 35357
- net_binds: &public_binds
- - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
- name: keystone_public
port: 5000
- net_binds: *public_binds
- name: horizon
port: 80
- net_binds: *public_binds
- name: neutron
port: 9696
- net_binds: *public_binds
- name: cinder
port: 8776
- net_binds: *public_binds
- name: glance_api
port: 9292
- net_binds: *public_binds
- name: glance_registry
port: 9191
- net_binds: *public_binds
+ options: # overwrite options as glace_reg needs auth for http req
- name: heat_api
port: 8004
- net_binds: *public_binds
- name: heat_cloudwatch
port: 8003
- net_binds: *public_binds
- name: heat_cfn
port: 8000
- net_binds: *public_binds
- name: mysql
port: 3306
+ net_binds:
+ - *control_vip
extra_server_params:
- backup
+ options:
+ - timeout client 0
+ - timeout server 0
- name: nova_ec2
port: 8773
- name: nova_osapi
port: 8774
- net_binds: *public_binds
- name: nova_metadata
port: 8775
- net_binds: *public_binds
+ - name: nova_novncproxy
+ port: 6080
- name: ceilometer
port: 8777
- net_binds: *public_binds
+ options: # overwrite options as ceil needs auth for http req
- name: swift_proxy_server
port: 8080
- net_binds: *public_binds
+ options:
+ - option httpchk GET /info
- name: rabbitmq
port: 5672
+ net_binds:
+ - *control_vip
options:
- timeout client 0
- timeout server 0
+ - maxconn 1500
controllerPassthrough:
type: OS::Heat::StructuredConfig
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:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- controller0AllNodes:
- depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0Passthrough]
+ controller0AllNodesDeployment:
+ 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:
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]}
heat.watch_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- ':8003'
heat.metadata_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- ':8000'
heat.waitcondition_server_url:
- list_join:
+ Fn::Join:
- ''
- - 'http://'
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
config:
completion-signal: {get_input: deploy_signal_id}
hosts:
- list_join:
+ Fn::Join:
- "\n"
- - - list_join:
+ - - Fn::Join:
- "\n"
- Merge::Map:
NovaCompute0:
- list_join:
+ Fn::Join:
- ' '
- - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
- - {get_attr: [NovaCompute0, show, name]}
- - list_join:
+ - {get_attr: [NovaCompute0, name]}
+ - Fn::Join:
- '.'
- - - {get_attr: [NovaCompute0, show, name]}
+ - - {get_attr: [NovaCompute0, name]}
- 'novalocal'
- - list_join:
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ BlockStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
+ - {get_attr: [BlockStorage0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [BlockStorage0, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - {get_attr: [SwiftStorage0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [SwiftStorage0, name]}
+ - 'novalocal'
+ - Fn::Join:
- "\n"
- Merge::Map:
controller0:
- list_join:
+ Fn::Join:
- ' '
- - {get_attr: [controller0, networks, ctlplane, 0]}
- - {get_attr: [controller0, show, name]}
- - list_join:
+ - {get_attr: [controller0, name]}
+ - Fn::Join:
- '.'
- - - {get_attr: [controller0, show, name]}
+ - - {get_attr: [controller0, name]}
- 'novalocal'
- {get_param: CloudName}
rabbit:
nodes:
- list_join:
+ Fn::Join:
- ','
- Merge::Map:
controller0:
- {get_attr: [controller0, show, name]}
+ {get_attr: [controller0, name]}
+ sysctl:
+ net.ipv4.tcp_keepalive_time: 5
+ net.ipv4.tcp_keepalive_probes: 5
+ net.ipv4.tcp_keepalive_intvl: 1
controller0SSLDeployment:
type: OS::Heat::StructuredDeployment
properties:
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
value:
- list_join:
+ Fn::Join:
- ''
- - http://
- {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}