1 HeatTemplateFormatVersion: '2012-12-12'
2 Description: 'Dedicated MySQL server'
5 Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
9 Description: Use this flavor
13 Description: Keystone database username.
17 Description: Heat database username.
21 Description: Glance database username.
27 Description: Load mysqldump from this Host
30 BootstrapRootPassword:
31 Description: Root password for localhost access after bootstrap
34 BootstrapDumpPassword:
35 Description: Password to use for mysqldump from Bootstrap Host
39 Description: User to use for replication from bootstrap host
42 BootstrapSlavePassword:
43 Description: Password to use with BootstrapSlaveUser
48 Type: OS::Heat::AccessPolicy
50 AllowedResources: [ MySQL ]
54 Policies: [ { Ref: ApiAccessPolicy } ]
56 Type: AWS::IAM::AccessKey
61 Type: AWS::EC2::Instance
63 OpenStack::Role: stateful
64 OpenStack::ImageBuilder::Elements: [ mysql-migration ]
68 username: {Ref: KeystoneUser}
69 userhandle: {Ref: KeystonePasswordHandle}
71 username: {Ref: HeatUser}
72 userhandle: {Ref: HeatPasswordHandle}
74 username: {Ref: GlanceUser}
75 userhandle: {Ref: GlancePasswordHandle}
80 password: {Ref: BootstrapRootPassword}
83 password: {Ref: BootstrapDumpPassword}
84 bootstrap_host: {Ref: BootstrapHost}
85 slave_user: {Ref: BootstrapSlaveUser}
86 slave_password: {Ref: BootstrapSlavePassword}
91 Fn::GetAtt: [ ApiKey, SecretAccessKey ]
93 name: {Ref: 'AWS::StackName'}
94 region: {Ref: 'AWS::Region'}
100 InstanceType: {Ref: InstanceType}
101 KeyName: {Ref: KeyName}
102 GlancePasswordHandle:
103 Type: AWS::CloudFormation::WaitConditionHandle
106 Type: AWS::CloudFormation::WaitCondition
108 Handle: {Ref: GlancePasswordHandle}
111 Type: AWS::CloudFormation::WaitConditionHandle
114 Type: AWS::CloudFormation::WaitCondition
116 Handle: {Ref: HeatPasswordHandle}
118 KeystonePasswordHandle:
119 Type: AWS::CloudFormation::WaitConditionHandle
122 Type: AWS::CloudFormation::WaitCondition
124 Handle: {Ref: KeystonePasswordHandle}
128 Fn::GetAtt: [ MySQL , PrivateIp ]
130 Fn::GetAtt: [ KeystonePassword, Data ]
131 KeystoneUser: {Ref: KeystoneUser}
133 Fn::GetAtt: [ HeatPassword, Data ]
134 HeatUser: {Ref: HeatUser}
136 Fn::GetAtt: [ GlancePassword, Data ]
137 GlanceUser: {Ref: GlanceUser}