Finish correcting all OS::Nova::Server references
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
1 Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2   server,Dedicated RabbitMQ Server,Group of Nova Computes
3 HeatTemplateFormatVersion: '2012-12-12'
4 Parameters:
5   AdminPassword:
6     Default: unset
7     Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
8     Type: String
9   AdminToken:
10     Default: unset
11     Description: The keystone auth secret.
12     Type: String
13   CinderPassword:
14     Default: unset
15     Description: The password for the cinder service account, used by cinder-api.
16     Type: String
17   Flavor:
18     Default: baremetal
19     Description: Flavor to request when deploying.
20     Type: String
21   GlancePassword:
22     Default: unset
23     Description: The password for the glance service account, used by the glance services.
24     Type: String
25   HeatPassword:
26     Default: unset
27     Description: The password for the Heat service account, used by the Heat services.
28     Type: String
29   KeyName:
30     Default: default
31     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
32     Type: String
33   NeutronPassword:
34     Default: unset
35     Description: The password for the neutron service account, used by neutron agents.
36     Type: String
37   NovaComputeDriver:
38     Default: libvirt.LibvirtDriver
39     Type: String
40   NovaComputeLibvirtType:
41     Default: ''
42     Type: String
43   NovaImage:
44     Type: String
45     Default: overcloud-compute
46   NovaInterfaces:
47     Default: eth0
48     Type: String
49   NovaPassword:
50     Default: unset
51     Description: The password for the nova service account, used by nova-api.
52     Type: String
53   PowerUserName:
54     Default: stack
55     Description: What username to ssh to the virtual power host with.
56     Type: String
57   notcomputeImage:
58     Type: String
59     Default: overcloud-control
60 Resources:
61   AccessPolicy:
62     Properties:
63       AllowedResources:
64       - notcompute
65       - notcomputeConfig
66     Type: OS::Heat::AccessPolicy
67   ComputeAccessPolicy:
68     Properties:
69       AllowedResources:
70       - NovaCompute0
71       - NovaCompute0Config
72     Type: OS::Heat::AccessPolicy
73   Key:
74     Properties:
75       UserName:
76         Ref: User
77     Type: AWS::IAM::AccessKey
78   ComputeKey:
79     Properties:
80       UserName:
81         Ref: ComputeUser
82     Type: AWS::IAM::AccessKey
83   ComputeUser:
84     Properties:
85       Policies:
86       - Ref: ComputeAccessPolicy
87     Type: AWS::IAM::User
88   NovaCompute0Config:
89     Type: FileInclude
90     Path: nova-compute-instance.yaml
91     SubKey: Resources.NovaCompute0Config
92     Parameters:
93         NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
94         KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
95         RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
96         NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
97         GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
98         NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/nova']]}
99         NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/neutron']]}
100         NeutronNetworkType: "gre"
101         NeutronEnableTunnelling: "True"
102         NeutronNetworkVLANRanges: ""
103         NeutronBridgeMappings: ""
104         RabbitPassword: "guest"
105   NovaCompute0:
106     Type: FileInclude
107     Path: nova-compute-instance.yaml
108     SubKey: Resources.NovaCompute0
109   User:
110     Properties:
111       Policies:
112       - Ref: AccessPolicy
113     Type: AWS::IAM::User
114   notcomputeConfig:
115     Type: AWS::AutoScaling::LaunchConfiguration
116     Properties:
117       ImageId: '0'
118       InstanceType: '0'
119     Metadata:
120       OpenStack::Heat::Stack: {}
121       Openstack::ImageBuilder::Elements:
122       - boot-stack
123       - heat-cfntools
124       - heat-localip
125       - neutron-network-node
126       admin-password:
127         Ref: AdminPassword
128       admin-token:
129         Ref: AdminToken
130       cinder:
131         db: mysql://cinder:unset@localhost/cinder
132         volume_size_mb: '5000'
133         service-password:
134           Ref: CinderPassword
135       controller-address:
136         Fn::Select:
137          - 0
138          - Fn::Select:
139              - 'ctlplane'
140              - Fn::GetAtt:
141                - notcompute
142                - networks
143       db-password: unset
144       glance:
145         db: mysql://glance:unset@localhost/glance
146         host:
147           Fn::Select:
148            - 0
149            - Fn::Select:
150                - 'ctlplane'
151                - Fn::GetAtt:
152                  - notcompute
153                  - networks
154         service-password:
155           Ref: GlancePassword
156       os-collect-config:
157         cfn:
158           access_key_id:
159             Ref: Key
160           path: notcomputeConfig.Metadata
161           secret_access_key:
162             Fn::GetAtt:
163             - Key
164             - SecretAccessKey
165           stack_name:
166             Ref: AWS::StackName
167       heat:
168         admin_password:
169           Ref: HeatPassword
170         admin_tenant_name: service
171         admin_user: heat
172         auth_encryption_key: unset___________
173         db: mysql://heat:unset@localhost/heat
174         heat_watch_server_url:
175           Fn::Join:
176             - ''
177             - - 'http://'
178               - Fn::Select:
179                 - 0
180                 - Fn::Select:
181                   - 'ctlplane'
182                   - Fn::GetAtt:
183                     - notcompute
184                     - networks
185               - ':8003'
186         metadata_server_url:
187           Fn::Join:
188             - ''
189             - - 'http://'
190               - Fn::Select:
191                 - 0
192                 - Fn::Select:
193                   - 'ctlplane'
194                   - Fn::GetAtt:
195                     - notcompute
196                     - networks
197               - ':8000'
198         waitcondition_server_url:
199           Fn::Join:
200             - ''
201             - - 'http://'
202               - Fn::Select:
203                 - 0
204                 - Fn::Select:
205                   - 'ctlplane'
206                   - Fn::GetAtt:
207                     - notcompute
208                     - networks
209               - ':8000/v1/waitcondition'
210       interfaces:
211         control: eth0
212       keystone:
213         db: mysql://keystone:unset@localhost/keystone
214         host:
215           Fn::Select:
216             - 0
217             - Fn::Select:
218               - 'ctlplane'
219               - Fn::GetAtt:
220                 - notcompute
221                 - networks
222       nova:
223         compute_driver: libvirt.LibvirtDriver
224         db: mysql://nova:unset@localhost/nova
225         host:
226           Fn::Select:
227             - 0
228             - Fn::Select:
229               - 'ctlplane'
230               - Fn::GetAtt:
231                 - notcompute
232                 - networks
233         metadata-proxy: true
234         service-password:
235           Ref: NovaPassword
236       neutron:
237         host:
238           Fn::Select:
239             - 0
240             - Fn::Select:
241               - ctlplane
242               - Fn::GetAtt:
243                 - notcompute
244                 - networks
245         metadata_proxy_shared_secret: unset
246         ovs:
247           enable_tunneling: 'True'
248           local_ip:
249             Fn::Select:
250               - 0
251               - Fn::Select:
252                 - ctlplane
253                 - Fn::GetAtt:
254                   - notcompute
255                   - networks
256           public_interface: eth0
257           physical_bridge: br-ex
258           tenant_network_type: gre
259         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
260         service-password:
261           Ref: NeutronPassword
262       rabbit:
263         host:
264           Fn::Select:
265             - 0
266             - Fn::Select:
267               - ctlplane
268               - Fn::GetAtt:
269                 - notcompute
270                 - networks
271         password: guest
272   notcompute:
273     Type: OS::Nova::Server
274     Properties:
275       image:
276         Ref: notcomputeImage
277       flavor:
278         Ref: Flavor
279       key_name:
280         Ref: KeyName
281     Metadata:
282       os-collect-config:
283         cfn:
284           access_key_id:
285             Ref: Key
286           path: notcomputeConfig.Metadata
287           secret_access_key:
288             Fn::GetAtt:
289             - Key
290             - SecretAccessKey
291           stack_name:
292             Ref: AWS::StackName