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.
25 Description: Glance database username.
31 Description: Load mysqldump from this Host
34 BootstrapRootPassword:
35 Description: Root password for localhost access after bootstrap
38 BootstrapDumpPassword:
39 Description: Password to use for mysqldump from Bootstrap Host
43 Description: User to use for replication from bootstrap host
46 BootstrapSlavePassword:
47 Description: Password to use with BootstrapSlaveUser
52 Type: OS::Heat::AccessPolicy
54 AllowedResources: [ MySQL ]
58 Policies: [ { Ref: ApiAccessPolicy } ]
60 Type: AWS::IAM::AccessKey
65 Type: AWS::EC2::Instance
67 OpenStack::Role: stateful
68 OpenStack::ImageBuilder::Elements: [ mysql-migration ]
72 username: {Ref: KeystoneUser}
73 userhandle: {Ref: KeystonePasswordHandle}
75 username: {Ref: HeatUser}
76 userhandle: {Ref: HeatPasswordHandle}
78 username: {Ref: GlanceUser}
79 userhandle: {Ref: GlancePasswordHandle}
81 username: {Ref: NovaUser}
82 userhandle: {Ref: NovaPasswordHandle}
87 password: {Ref: BootstrapRootPassword}
90 password: {Ref: BootstrapDumpPassword}
91 bootstrap_host: {Ref: BootstrapHost}
92 slave_user: {Ref: BootstrapSlaveUser}
93 slave_password: {Ref: BootstrapSlavePassword}
98 Fn::GetAtt: [ ApiKey, SecretAccessKey ]
100 name: {Ref: 'AWS::StackName'}
101 region: {Ref: 'AWS::Region'}
107 InstanceType: {Ref: InstanceType}
108 KeyName: {Ref: KeyName}
110 Type: AWS::CloudFormation::WaitConditionHandle
113 Type: AWS::CloudFormation::WaitCondition
115 Handle: {Ref: NovaPasswordHandle}
117 GlancePasswordHandle:
118 Type: AWS::CloudFormation::WaitConditionHandle
121 Type: AWS::CloudFormation::WaitCondition
123 Handle: {Ref: GlancePasswordHandle}
126 Type: AWS::CloudFormation::WaitConditionHandle
129 Type: AWS::CloudFormation::WaitCondition
131 Handle: {Ref: HeatPasswordHandle}
133 KeystonePasswordHandle:
134 Type: AWS::CloudFormation::WaitConditionHandle
137 Type: AWS::CloudFormation::WaitCondition
139 Handle: {Ref: KeystonePasswordHandle}
143 Fn::GetAtt: [ MySQL , PrivateIp ]
145 Fn::GetAtt: [ KeystonePassword, Data ]
146 KeystoneUser: {Ref: KeystoneUser}
148 Fn::GetAtt: [ HeatPassword, Data ]
149 HeatUser: {Ref: HeatUser}
151 Fn::GetAtt: [ GlancePassword, Data ]
152 GlanceUser: {Ref: GlanceUser}
154 Fn::GetAtt: [ NovaPassword, Data ]
155 NovaUser: {Ref: NovaUser}