Make BlockStorage deployment dependent on controller0AllNodes
[apex-tripleo-heat-templates.git] / controller.yaml
1 description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2   server,Dedicated RabbitMQ Server
3 heat_template_version: 2014-10-16
4 parameters:
5   AdminToken:
6     type: string
7   BootstrapDumpPassword:
8     default: ''
9     description: Password to use for mysqldump from Bootstrap Host
10     type: string
11     hidden: true
12   BootstrapHost:
13     default: ''
14     description: Load mysqldump from this Host
15     type: string
16   BootstrapRootPassword:
17     default: ''
18     description: Root password for localhost access after bootstrap
19     type: string
20     hidden: true
21   BootstrapSlavePassword:
22     default: ''
23     description: Password to use with BootstrapSlaveUser
24     type: string
25     hidden: true
26   BootstrapSlaveUser:
27     default: ''
28     description: User to use for replication from bootstrap host
29     type: string
30   GlanceDBPassword:
31     description: Password for connecting to glance database
32     type: string
33     hidden: true
34   GlanceNotifierStrategy:
35     description: Strategy to use for Glance notification queue
36     type: string
37     default: noop
38   GlanceLogFile:
39     description: The filepath of the file to use for logging messages from Glance.
40     type: string
41     default: ''
42   HeatDBPassword:
43     description: Password for accessing Heat database.
44     type: string
45     hidden: true
46   InstanceType:
47     default: baremetal
48     description: Use this flavor
49     type: string
50   KeyName:
51     default: default
52     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
53     type: string
54   KeystoneDBPassword:
55     description: Password for connecting to keystone
56     type: string
57     hidden: true
58   NovaDBPassword:
59     description: Password for connecting to nova database
60     type: string
61     hidden: true
62   NovaInterfaces:
63     default: eth0
64     type: string
65   NeutronDBPassword:
66     description: Password for connecting to neutron database
67     type: string
68     hidden: true
69   NeutronInterfaces:
70     default: eth0
71     type: string
72   RabbitMQPassword:
73     description: Password for RabbitMQ
74     type: string
75     hidden: true
76   RabbitUserName:
77     type: string
78   RabbitPassword:
79     type: string
80     hidden: true
81   ServicePassword:
82     description: admin_password for setting up auth in nova.
83     type: string
84     hidden: true
85   controllerImage:
86     type: string
87   HeatStackDomainAdminPassword:
88     description: Password for heat_domain_admin user.
89     type: string
90     default: ''
91     hidden: true
92 resources:
93   AccessPolicy:
94     properties:
95       AllowedResources:
96       - controller0
97     type: OS::Heat::AccessPolicy
98   controller0Key:
99     properties:
100       UserName:
101         get_resource: User
102     type: AWS::IAM::AccessKey
103   User:
104     properties:
105       Policies:
106       - get_resource: AccessPolicy
107     type: AWS::IAM::User
108   controller0:
109     metadata:
110       admin-password:
111         get_param: ServicePassword
112       admin-token:
113         get_param: AdminToken
114       mysql:
115         create-users:
116           - database: keystone
117             username: keystone
118             password: {get_param: KeystoneDBPassword}
119           - database: heat
120             username: heat
121             password: {get_param: HeatDBPassword}
122           - database: glance
123             username: glance
124             password: {get_param: GlanceDBPassword}
125           - database: nova
126             username: nova
127             password: {get_param: NovaDBPassword}
128           - database: neutron
129             username: neutron
130             password: {get_param: NeutronDBPassword}
131       glance:
132         db:
133           list_join:
134             - ''
135             - - 'mysql://glance:'
136               - {get_param: GlanceDBPassword}
137               - '@127.0.0.1/glance'
138           notifier-strategy:
139             get_param: GlanceNotifierStrategy
140           log-file:
141             get_param: GlanceLogFile
142       heat:
143         db:
144           list_join:
145             - ''
146             - - 'mysql://heat:'
147               - {get_param: HeatDBPassword}
148               - '@127.0.0.1/heat'
149         access_key_id:
150           get_resource: controller0Key
151         refresh:
152         - resource: controller0
153         secret_key:
154           get_attr:
155           - controller0Key
156           - SecretAccessKey
157         stack:
158           name:
159             get_param: AWS::StackName
160           region:
161             get_param: AWS::Region
162         auth_encryption_key: unset
163         stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
164       interfaces:
165         control:
166           get_param: NovaInterfaces
167       keystone:
168         host:
169           '127.0.0.1'
170         db:
171           list_join:
172             - ''
173             - - 'mysql://keystone:'
174               - {get_param: KeystoneDBPassword}
175               - '@127.0.0.1/keystone'
176       nova:
177         db:
178           list_join:
179             - ''
180             - - 'mysql://nova:'
181               - {get_param: NovaDBPassword}
182               - '@127.0.0.1/nova'
183       neutron:
184         host:
185           '127.0.0.1'
186         ovs_db:
187           list_join:
188             - ''
189             - - 'mysql://neutron:'
190               - {get_param: NeutronDBPassword}
191               - '@127.0.0.1/ovs_neutron'
192       rabbit:
193         host:
194           '127.0.0.1'
195         username:
196           get_param: RabbitUserName
197         password:
198           get_param: RabbitPassword
199         users:
200           username:
201             get_param: RabbitUserName
202           password:
203             get_param: RabbitPassword
204         cookie:
205           get_attr:
206           - RabbitCookie
207           - value
208       service-password:
209         get_param: ServicePassword
210     properties:
211       ImageId:
212         get_param: controllerImage
213       InstanceType:
214         get_param: InstanceType
215       KeyName:
216         get_param: KeyName
217     type: AWS::EC2::Instance