Description: The password for the cinder service account, used by cinder-api.
Type: String
NoEcho: true
- Flavor:
+ CinderISCSIHelper:
+ Default: tgtadm
+ Description: The iSCSI helper to use with cinder.
+ Type: String
+ OvercloudControlFlavor:
+ Default: baremetal
+ Description: Flavor for control nodes to request when deploying.
+ Type: String
+ OvercloudComputeFlavor:
Default: baremetal
- Description: Flavor to request when deploying.
+ Description: Flavor for compute nodes to request when deploying.
Type: String
GlancePassword:
Default: unset
Type: String
NoEcho: true
ImageUpdatePolicy:
- Default: 'REPLACE'
+ Default: 'REBUILD_PRESERVE_EPHEMERAL'
Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
Type: String
KeyName:
Default: ''
Description: If set, the public interface is a vlan with this device as the raw device.
Type: String
- notcomputeImage:
+ controllerImage:
Type: String
Default: overcloud-control
NtpServer:
Description: The password for RabbitMQ
Type: String
NoEcho: true
+ RabbitCookieSalt:
+ Type: String
+ 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.
+ Type: String
+ Default: ''
+ NoEcho: 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:
+ Type: String
+ Default: ''
+ Description: The live-update password for the undercloud Glance API.
+ NoEcho: true
+ LiveUpdateComputeImage:
+ 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.
+ Type: Number
+ Default: 100
Resources:
+ RabbitCookie:
+ Type: OS::Heat::RandomString
+ Properties:
+ length: 20
+ salt:
+ Ref: RabbitCookieSalt
AccessPolicy:
Properties:
AllowedResources:
- - notCompute0
- - notCompute0Config
+ - controller0
+ - controller0Config
Type: OS::Heat::AccessPolicy
ComputeAccessPolicy:
Properties:
- NovaCompute0
- NovaCompute0Config
Type: OS::Heat::AccessPolicy
- notCompute0Key:
+ controller0Key:
Properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
- notCompute0CompletionCondition:
+ controller0CompletionCondition:
Type: AWS::CloudFormation::WaitCondition
- DependsOn: notCompute0
+ DependsOn: controller0Config
Properties:
- Handle: {Ref: notCompute0CompletionHandle}
+ Handle: {Ref: controller0CompletionHandle}
Count: '1'
Timeout: '1800'
- notCompute0CompletionHandle:
+ controller0CompletionHandle:
Type: OS::Heat::UpdateWaitConditionHandle
NovaCompute0Key:
Type: FileInclude
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0Config
Parameters:
- NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
- NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/nova']]}
- CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/ceilometer']]}
- NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/neutron']]}
+ NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/nova']]}
+ CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/ceilometer']]}
+ NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/neutron']]}
NeutronNetworkType: "gre"
NeutronEnableTunnelling: "True"
NeutronFlatNetworks:
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- {Ref: CloudName}
# If CloudName is unset, make the hosts line still valid
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
- notCompute0Config:
+ controller0Config:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
ImageId: '0'
volume_size_mb: '5000'
service-password:
Ref: CinderPassword
+ iscsi-helper:
+ Ref: CinderISCSIHelper
completion-handle:
- Ref: notCompute0CompletionHandle
+ Ref: controller0CompletionHandle
controller-address:
Fn::Select:
- 0
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
db-password: unset
glance:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
service-password:
Ref: GlancePassword
admin_user: heat
auth_encryption_key: unset___________
db: mysql://heat:unset@localhost/heat
+ stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
watch_server_url:
Fn::Join:
- ''
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- ':8003'
metadata_server_url:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- ':8000'
waitcondition_server_url:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- ':8000/v1/waitcondition'
hosts:
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- {Ref: CloudName}
keystone:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
+ mysql:
+ innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
neutron:
flat-networks: {Ref: NeutronFlatNetworks}
host:
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
metadata_proxy_shared_secret: unset
ovs:
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
bridge_mappings: {Ref: NeutronBridgeMappings}
public_interface:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
metadata-proxy: true
service-password:
os-collect-config:
cfn:
access_key_id:
- Ref: notCompute0Key
- path: notCompute0Config.Metadata
+ Ref: controller0Key
+ path: controller0Config.Metadata
secret_access_key:
Fn::GetAtt:
- - notCompute0Key
+ - controller0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
username:
Ref: RabbitUserName
password:
Ref: RabbitPassword
+ cookie:
+ Fn::GetAtt:
+ - RabbitCookie
+ - value
ntp:
servers:
- {server: {Ref: NtpServer}, fudge: "stratum 0"}
- notCompute0:
+ controller0:
Type: OS::Nova::Server
Properties:
image:
- Ref: notcomputeImage
+ Ref: controllerImage
image_update_policy:
Ref: ImageUpdatePolicy
flavor:
- Ref: Flavor
+ Ref: OvercloudControlFlavor
key_name:
Ref: KeyName
Metadata:
os-collect-config:
cfn:
access_key_id:
- Ref: notCompute0Key
- path: notCompute0Config.Metadata
+ Ref: controller0Key
+ path: controller0Config.Metadata
secret_access_key:
Fn::GetAtt:
- - notCompute0Key
+ - controller0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notCompute0
+ - controller0
- networks
- :5000/v2.0/