KeystoneDSN:
Fn::Join:
- 'mysql://keystone:'
- - {Fn::GetAtt: [ MySQL , KeystonePassword ]}
+ - {"Fn::GetAtt": [ MySQL , KeystonePassword ]}
- '@'
- - {Fn::GetAtt: [ MySQL , MySQLHost ]}
+ - {"Fn::GetAtt": [ MySQL , MySQLHost ]}
- '/keystone'
+ Glance:
+ Type: AWS::CloudFormation::Stack
+ TemplateURL:
+ Fn::Join:
+ - {Ref: TemplateRoot}
+ - glance.yaml
+ Parameters:
+ KeyName: default
+ HeatDSN:
+ Fn::Join:
+ - 'mysql://glance:'
+ - {"Fn::GetAtt": [ MySQL, GlancePassword ] }
+ - '@'
+ - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
+ - '/glance'
Heat:
Type: AWS::CloudFormation::Stack
TemplateURL:
HeatDSN:
Fn::Join:
- 'mysql://heat:'
- - {Fn::GetAtt: [ MySQL, HeatPassword ] }
+ - {"Fn::GetAtt": [ MySQL, HeatPassword ] }
- '@'
- - {Fn::GetAtt: [ MySQL, MySQLHost ]}
+ - {"Fn::GetAtt": [ MySQL, MySQLHost ]}
- '/heat'
Description: Heat database username.
Type: String
Default: heat
+ GlanceUser:
+ Description: Glance database username.
+ Type: String
+ Default: heat
MySQLImage:
Type: String
BootstrapHost:
- database: heat
username: {Ref: HeatUser}
userhandle: {Ref: HeatPasswordHandle}
+ - database: glance
+ username: {Ref: GlanceUser}
+ userhandle: {Ref: GlancePasswordHandle}
mysql-migration:
users:
root:
{Ref: MySQLImage}
InstanceType: {Ref: InstanceType}
KeyName: {Ref: KeyName}
+ GlancePasswordHandle:
+ Type: AWS::CloudFormation::WaitConditionHandle
+ GlancePassword:
+ DependsOn: MySQL
+ Type: AWS::CloudFormation::WaitCondition
+ Properties:
+ Handle: {Ref: GlancePasswordHandle}
+ Timeout: 90
HeatPasswordHandle:
Type: AWS::CloudFormation::WaitConditionHandle
HeatPassword:
HeatPassword:
Fn::GetAtt: [ HeatPassword, Data ]
HeatUser: {Ref: HeatUser}
+ GlancePassword:
+ Fn::GetAtt: [ GlancePassword, Data ]
+ GlanceUser: {Ref: GlanceUser}