Description: The password for the Heat service account, used by the Heat services.
Type: String
NoEcho: true
+ ImageUpdatePolicy:
+ Default: 'REPLACE'
+ Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+ Type: String
KeyName:
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
+ Default: ''
NeutronPassword:
Default: unset
Description: The password for the neutron service account, used by neutron agents.
Type: String
NoEcho: true
+ CeilometerComputeAgent:
+ Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+ Type: String
+ Default: ''
+ AllowedValues: ['', Present]
+ CeilometerMeteringSecret:
+ Default: unset
+ Description: Secret shared by the ceilometer services.
+ Type: String
+ NoEcho: true
+ CeilometerPassword:
+ Default: unset
+ Description: The password for the ceilometer service account.
+ Type: String
+ NoEcho: true
NovaComputeDriver:
Default: libvirt.LibvirtDriver
Type: String
Description: The password for the nova service account, used by nova-api.
Type: String
NoEcho: true
- PowerUserName:
- Default: stack
- Description: What username to ssh to the virtual power host with.
+ NeutronFlatNetworks:
Type: String
+ Default: ''
+ Description: If set, flat networks to configure in neutron plugins.
NeutronPublicInterface:
Default: eth0
Description: What interface to bridge onto br-ex for network nodes.
notcomputeImage:
Type: String
Default: overcloud-control
+ NtpServer:
+ Type: String
+ Default: ''
Resources:
AccessPolicy:
Properties:
AllowedResources:
- - notcompute
- - notcomputeConfig
+ - notCompute0
+ - notCompute0Config
Type: OS::Heat::AccessPolicy
ComputeAccessPolicy:
Properties:
- NovaCompute0
- NovaCompute0Config
Type: OS::Heat::AccessPolicy
- Key:
+ notCompute0Key:
Properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
- CompletionCondition:
+ notCompute0CompletionCondition:
Type: AWS::CloudFormation::WaitCondition
- DependsOn: notcompute
+ DependsOn: notCompute0
Properties:
- Handle: {Ref: CompletionHandle}
+ Handle: {Ref: notCompute0CompletionHandle}
Count: '1'
Timeout: '1800'
- CompletionHandle:
- Type: AWS::CloudFormation::WaitConditionHandle
- ComputeKey:
- Properties:
- UserName:
- Ref: ComputeUser
- Type: AWS::IAM::AccessKey
+ notCompute0CompletionHandle:
+ Type: OS::Heat::UpdateWaitConditionHandle
+ NovaCompute0Key:
+ Type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: Resources.NovaCompute0Key
+ NovaCompute0CompletionCondition:
+ Type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: Resources.NovaCompute0CompletionCondition
+ NovaCompute0CompletionHandle:
+ Type: FileInclude
+ Path: nova-compute-instance.yaml
+ SubKey: Resources.NovaCompute0CompletionHandle
ComputeUser:
Properties:
Policies:
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0Config
Parameters:
- NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
- KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
- RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
- NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
- GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
- NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/nova']]}
- NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/neutron']]}
+ 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']]}
NeutronNetworkType: "gre"
NeutronEnableTunnelling: "True"
+ NeutronFlatNetworks:
+ Ref: NeutronFlatNetworks
NeutronNetworkVLANRanges: ""
- NeutronBridgeMappings: ""
+ NeutronBridgeMappings:
+ Ref: NeutronBridgeMappings
RabbitPassword: "guest"
NovaCompute0:
Type: FileInclude
Policies:
- Ref: AccessPolicy
Type: AWS::IAM::User
- notcomputeConfig:
+ notCompute0Config:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
ImageId: '0'
InstanceType: '0'
Metadata:
OpenStack::Heat::Stack: {}
- Openstack::ImageBuilder::Elements:
+ OpenStack::ImageBuilder::Elements:
- boot-stack
- heat-cfntools
- heat-localip
service-password:
Ref: CinderPassword
completion-handle:
- Ref: CompletionHandle
+ Ref: notCompute0CompletionHandle
controller-address:
Fn::Select:
- 0
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
db-password: unset
glance:
+ backend: swift
db: mysql://glance:unset@localhost/glance
host:
Fn::Select:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
service-password:
Ref: GlancePassword
+ swift-store-user: service:glance
+ swift-store-key:
+ Ref: GlancePassword
heat:
admin_password:
Ref: HeatPassword
admin_user: heat
auth_encryption_key: unset___________
db: mysql://heat:unset@localhost/heat
- heat_watch_server_url:
+ watch_server_url:
Fn::Join:
- ''
- - 'http://'
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
- ':8003'
metadata_server_url:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
- ':8000'
waitcondition_server_url:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
- ':8000/v1/waitcondition'
keystone:
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
neutron:
+ flat-networks: {Ref: NeutronFlatNetworks}
host:
Fn::Select:
- 0
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
metadata_proxy_shared_secret: unset
ovs:
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
+ bridge_mappings: {Ref: NeutronBridgeMappings}
public_interface:
Ref: NeutronPublicInterface
public_interface_raw_device:
ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
service-password:
Ref: NeutronPassword
+ ceilometer:
+ db: mysql://ceilometer:unset@localhost/ceilometer
+ metering_secret: {Ref: CeilometerMeteringSecret}
+ service-password:
+ Ref: CeilometerPassword
nova:
compute_driver: libvirt.LibvirtDriver
db: mysql://nova:unset@localhost/nova
- Fn::Select:
- 'ctlplane'
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
metadata-proxy: true
service-password:
os-collect-config:
cfn:
access_key_id:
- Ref: Key
- path: notcomputeConfig.Metadata
+ Ref: notCompute0Key
+ path: notCompute0Config.Metadata
secret_access_key:
Fn::GetAtt:
- - Key
+ - notCompute0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName
- Fn::Select:
- ctlplane
- Fn::GetAtt:
- - notcompute
+ - notCompute0
- networks
password: guest
- notcompute:
+ ntp:
+ servers:
+ - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+ notCompute0:
Type: OS::Nova::Server
Properties:
image:
Ref: notcomputeImage
+ image_update_policy:
+ Ref: ImageUpdatePolicy
flavor:
Ref: Flavor
key_name:
os-collect-config:
cfn:
access_key_id:
- Ref: Key
- path: notcomputeConfig.Metadata
+ Ref: notCompute0Key
+ path: notCompute0Config.Metadata
secret_access_key:
Fn::GetAtt:
- - Key
+ - notCompute0Key
- SecretAccessKey
stack_name:
Ref: AWS::StackName
+Outputs:
+ KeystoneURL:
+ Description: URL for the Overcloud Keystone service
+ Value:
+ Fn::Join:
+ - ''
+ - - http://
+ - Fn::Select:
+ - 0
+ - Fn::Select:
+ - ctlplane
+ - Fn::GetAtt:
+ - notCompute0
+ - networks
+ - :5000/v2.0/