Merge "Support TripleO-CI for overcloud builds."
[apex-tripleo-heat-templates.git] / notcompute.yaml
1 Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2   server,Dedicated RabbitMQ Server
3 HeatTemplateFormatVersion: '2012-12-12'
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     NoEcho: 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     NoEcho: true
21   BootstrapSlavePassword:
22     Default: ''
23     Description: Password to use with BootstrapSlaveUser
24     Type: String
25     NoEcho: 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     NoEcho: true
34   HeatDBPassword:
35     Description: Password for accessing Heat database.
36     Type: String
37     NoEcho: true
38   InstanceType:
39     Default: baremetal
40     Description: Use this flavor
41     Type: String
42   KeyName:
43     Default: default
44     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
45     Type: String
46   KeystoneDBPassword:
47     Description: Password for connecting to keystone
48     Type: String
49     NoEcho: true
50   NovaDBPassword:
51     Description: Password for connecting to nova database
52     Type: String
53     NoEcho: true
54   NovaInterfaces:
55     Default: eth0
56     Type: String
57   NeutronDBPassword:
58     Description: Password for connecting to neutron database
59     Type: String
60     NoEcho: true
61   NeutronInterfaces:
62     Default: eth0
63     Type: String
64   RabbitMQPassword:
65     Description: Password for RabbitMQ
66     Type: String
67     NoEcho: true
68   RabbitPassword:
69     Type: String
70     NoEcho: true
71   ServicePassword:
72     Description: admin_password for setting up auth in nova.
73     Type: String
74     NoEcho: true
75   notcomputeImage:
76     Type: String
77 Resources:
78   AccessPolicy:
79     Properties:
80       AllowedResources:
81       - notCompute0
82     Type: OS::Heat::AccessPolicy
83   notCompute0Key:
84     Properties:
85       UserName:
86         Ref: User
87     Type: AWS::IAM::AccessKey
88   User:
89     Properties:
90       Policies:
91       - Ref: AccessPolicy
92     Type: AWS::IAM::User
93   notCompute0:
94     Metadata:
95       OpenStack::ImageBuilder::Elements:
96       - nova-api
97       - keystone
98       - heat-api
99       - heat-engine
100       - glance
101       - mysql-migration
102       - rabbitmq-server
103       admin-password:
104         Ref: ServicePassword
105       admin-token:
106         Ref: AdminToken
107       mysql:
108         create-users:
109           - database: keystone
110             username: keystone
111             password: {Ref: KeystoneDBPassword}
112           - database: heat
113             username: heat
114             password: {Ref: HeatDBPassword}
115           - database: glance
116             username: glance
117             password: {Ref: GlanceDBPassword}
118           - database: nova
119             username: nova
120             password: {Ref: NovaDBPassword}
121           - database: neutron
122             username: neutron
123             password: {Ref: NeutronDBPassword}
124       glance:
125         db:
126           Fn::Join:
127             - ''
128             - - 'mysql://glance:'
129               - {Ref: GlanceDBPassword}
130               - '@127.0.0.1/glance'
131       heat:
132         db:
133           Fn::Join:
134             - ''
135             - - 'mysql://heat:'
136               - {Ref: HeatDBPassword}
137               - '@127.0.0.1/heat'
138         access_key_id:
139           Ref: notCompute0Key
140         refresh:
141         - resource: notCompute0
142         secret_key:
143           Fn::GetAtt:
144           - notCompute0Key
145           - SecretAccessKey
146         stack:
147           name:
148             Ref: AWS::StackName
149           region:
150             Ref: AWS::Region
151         auth_encryption_key: unset
152       interfaces:
153         control:
154           Ref: NovaInterfaces
155       keystone:
156         host:
157           '127.0.0.1'
158         db:
159           Fn::Join:
160             - ''
161             - - 'mysql://keystone:'
162               - {Ref: KeystoneDBPassword}
163               - '@127.0.0.1/keystone'
164       nova:
165         db:
166           Fn::Join:
167             - ''
168             - - 'mysql://nova:'
169               - {Ref: NovaDBPassword}
170               - '@127.0.0.1/nova'
171       neutron:
172         host:
173           '127.0.0.1'
174         ovs_db:
175           Fn::Join:
176             - ''
177             - - 'mysql://neutron:'
178               - {Ref: NeutronDBPassword}
179               - '@127.0.0.1/ovs_neutron'
180       rabbit:
181         host:
182           '127.0.0.1'
183         password:
184           Ref: RabbitPassword
185         users:
186           username: guest
187           password:
188             Ref: RabbitPassword
189       service-password:
190         Ref: ServicePassword
191     Properties:
192       ImageId:
193         Ref: notcomputeImage
194       InstanceType:
195         Ref: InstanceType
196       KeyName:
197         Ref: KeyName
198     Type: AWS::EC2::Instance