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