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