-Description: Dedicated MySQL server,Dedicated MySQL
- server,Nova API
+Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
+ server,Dedicated RabbitMQ Server
HeatTemplateFormatVersion: '2012-12-12'
-Outputs:
- GlancePassword:
- Fn::GetAtt:
- - GlancePassword
- - Data
- GlanceUser:
- Ref: GlanceUser
- HeatPassword:
- Fn::GetAtt:
- - HeatPassword
- - Data
- HeatUser:
- Ref: HeatUser
- KeystonePassword:
- Fn::GetAtt:
- - KeystonePassword
- - Data
- KeystoneUser:
- Ref: KeystoneUser
- MySQLHost:
- Fn::GetAtt:
- - notcompute
- - PrivateIp
- RabbitMQHost:
- Fn::GetAtt:
- - notcompute
- - PrivateIp
- RabbitMQPassword:
- Fn::GetAtt:
- - RabbitMQPassword
- - Data
Parameters:
+ AdminToken:
+ Type: String
BootstrapDumpPassword:
Default: ''
Description: Password to use for mysqldump from Bootstrap Host
Type: String
+ NoEcho: true
BootstrapHost:
Default: ''
Description: Load mysqldump from this Host
Default: ''
Description: Root password for localhost access after bootstrap
Type: String
+ NoEcho: true
BootstrapSlavePassword:
Default: ''
Description: Password to use with BootstrapSlaveUser
Type: String
+ NoEcho: true
BootstrapSlaveUser:
Default: ''
Description: User to use for replication from bootstrap host
Type: String
- GlanceUser:
- Default: heat
- Description: Glance database username.
+ GlanceDBPassword:
+ Description: Password for connecting to glance database
Type: String
- HeatUser:
- Default: heat
- Description: Heat database username.
+ NoEcho: true
+ HeatDBPassword:
+ Description: Password for accessing Heat database.
Type: String
+ NoEcho: true
InstanceType:
- Default: bm.small
+ Default: baremetal
Description: Use this flavor
Type: String
KeyName:
Default: default
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
- KeystoneHost:
- Type: String
- KeystoneUser:
- Default: keystone
- Description: Keystone database username.
+ KeystoneDBPassword:
+ Description: Password for connecting to keystone
Type: String
- NovaAPiSize:
- Default: 1
- Type: Integer
- NovaDSN:
- Description: DSN for connecting to nova database
+ NoEcho: true
+ NovaDBPassword:
+ Description: Password for connecting to nova database
Type: String
+ NoEcho: true
NovaInterfaces:
Default: eth0
Type: String
- RabbitHost:
+ NeutronDBPassword:
+ Description: Password for connecting to neutron database
+ Type: String
+ NoEcho: true
+ NeutronInterfaces:
+ Default: eth0
Type: String
+ RabbitMQPassword:
+ Description: Password for RabbitMQ
+ Type: String
+ NoEcho: true
RabbitPassword:
Type: String
+ NoEcho: true
ServicePassword:
Description: admin_password for setting up auth in nova.
Type: String
- TemplateURL:
- Default: https://raw.github.com/openstack-ops/templates/master/
- Type: String
+ NoEcho: true
notcomputeImage:
Type: String
Resources:
AllowedResources:
- notcompute
Type: OS::Heat::AccessPolicy
- ApiAccessPolicy:
- Properties:
- AllowedResources:
- - notcompute
- Type: OS::Heat::AccessPolicy
- ApiKey:
- Properties:
- UserName:
- Ref: ApiUser
- Type: AWS::IAM::AccessKey
- ApiUser:
- Properties:
- Policies:
- - Ref: ApiAccessPolicy
- Type: AWS::IAM::User
- GlancePassword:
- DependsOn: notcompute
- Properties:
- Handle:
- Ref: GlancePasswordHandle
- Timeout: 90
- Type: AWS::CloudFormation::WaitCondition
- GlancePasswordHandle:
- Type: AWS::CloudFormation::WaitConditionHandle
- HeatPassword:
- DependsOn: notcompute
- Properties:
- Handle:
- Ref: HeatPasswordHandle
- Timeout: 90
- Type: AWS::CloudFormation::WaitCondition
- HeatPasswordHandle:
- Type: AWS::CloudFormation::WaitConditionHandle
Key:
Properties:
UserName:
Ref: User
Type: AWS::IAM::AccessKey
- KeystonePassword:
- DependsOn: notcompute
- Properties:
- Handle:
- Ref: KeystonePasswordHandle
- Timeout: 90
- Type: AWS::CloudFormation::WaitCondition
- KeystonePasswordHandle:
- Type: AWS::CloudFormation::WaitConditionHandle
- RabbitMQPassword:
- DependsOn: notcompute
- Properties:
- Handle:
- Ref: RabbitMQPasswordHandle
- Timeout: 60
- Type: AWS::CloudFormation::WaitCondition
- RabbitMQPasswordHandle:
- Type: AWS::CloudFormation::WaitConditionHandle
User:
Properties:
Policies:
notcompute:
Metadata:
OpenStack::ImageBuilder::Elements:
- - rabbitmq-server
- - mysql-migration
- nova-api
- OpenStack::Role: stateful
+ - keystone
+ - heat-api
+ - heat-engine
+ - glance
+ - mysql-migration
+ - rabbitmq-server
admin-password:
Ref: ServicePassword
+ admin-token:
+ Ref: AdminToken
+ mysql:
+ create-users:
+ - database: keystone
+ username: keystone
+ password: {Ref: KeystoneDBPassword}
+ - database: heat
+ username: heat
+ password: {Ref: HeatDBPassword}
+ - database: glance
+ username: glance
+ password: {Ref: GlanceDBPassword}
+ - database: nova
+ username: nova
+ password: {Ref: NovaDBPassword}
+ - database: neutron
+ username: neutron
+ password: {Ref: NeutronDBPassword}
+ glance:
+ db:
+ Fn::Join:
+ - ''
+ - - 'mysql://glance:'
+ - {Ref: GlanceDBPassword}
+ - '@127.0.0.1/glance'
heat:
+ db:
+ Fn::Join:
+ - ''
+ - - 'mysql://heat:'
+ - {Ref: HeatDBPassword}
+ - '@127.0.0.1/heat'
access_key_id:
- Ref: ApiKey
+ Ref: Key
refresh:
- - resource: MySQL
+ - resource: notcompute
secret_key:
Fn::GetAtt:
- - ApiKey
+ - Key
- SecretAccessKey
stack:
name:
Ref: AWS::StackName
region:
Ref: AWS::Region
+ auth_encryption_key: unset
interfaces:
control:
Ref: NovaInterfaces
keystone:
host:
- Ref: KeystoneHost
- mysql:
- create-users:
- - database: keystone
- userhandle:
- Ref: KeystonePasswordHandle
- username:
- Ref: KeystoneUser
- - database: heat
- userhandle:
- Ref: HeatPasswordHandle
- username:
- Ref: HeatUser
- - database: glance
- userhandle:
- Ref: GlancePasswordHandle
- username:
- Ref: GlanceUser
- mysql-migration:
- bootstrap_host:
- Ref: BootstrapHost
- slave_password:
- Ref: BootstrapSlavePassword
- slave_user:
- Ref: BootstrapSlaveUser
- users:
- dump:
- password:
- Ref: BootstrapDumpPassword
- username: dump
- root:
- password:
- Ref: BootstrapRootPassword
- username: root
+ '127.0.0.1'
+ db:
+ Fn::Join:
+ - ''
+ - - 'mysql://keystone:'
+ - {Ref: KeystoneDBPassword}
+ - '@127.0.0.1/keystone'
nova:
db:
- Ref: NovaDSN
- quantum:
+ Fn::Join:
+ - ''
+ - - 'mysql://nova:'
+ - {Ref: NovaDBPassword}
+ - '@127.0.0.1/nova'
+ neutron:
host:
- Ref: QuantumHost
+ '127.0.0.1'
+ ovs_db:
+ Fn::Join:
+ - ''
+ - - 'mysql://neutron:'
+ - {Ref: NeutronDBPassword}
+ - '@127.0.0.1/ovs_neutron'
rabbit:
host:
- Ref: RabbitHost
+ '127.0.0.1'
password:
Ref: RabbitPassword
- rabbitmq:
- password_handle:
- Ref: RabbitMQPasswordHandle
+ users:
+ username: guest
+ password:
+ Ref: RabbitPassword
service-password:
Ref: ServicePassword
- swift:
- store_key: ''
- store_user: ''
Properties:
ImageId:
Ref: notcomputeImage