blob: 628554925a7329cf4122c4698c5a06598fbbca7d [file] [log] [blame]
sgudz9c5699d2019-04-11 14:16:41 +03001---
2
3heat_template_version: queens
4
5description: MCP environment for heat-cicd-pike-contrail41-sl
6
7parameters:
8 instance_domain:
9 type: string
10 default: heat-cicd-pike-contrail41-sl.local
11 mcp_version:
12 type: string
13 env_name:
14 type: string
15 control_subnet_cidr:
16 type: string
17 management_subnet_cidr:
18 type: string
19 management_subnet_pool_start:
20 type: string
21 management_subnet_pool_end:
22 type: string
23 management_subnet_cfg01_ip:
24 type: string
25 management_subnet_gateway_ip:
26 type: string
27
28 key_pair:
29 type: string
30
31 ctl_flavor:
32 type: string
33 cfg_flavor:
34 type: string
35 cid_flavor:
36 type: string
37 ntw_flavor:
38 type: string
39 nal_flavor:
40 type: string
41 kvm_fake_flavor:
42 type: string
43 dbs_flavor:
44 type: string
45 msg_flavor:
46 type: string
47 mon_flavor:
48 type: string
49 log_flavor:
50 type: string
51 mtr_flavor:
52 type: string
53 cmp_flavor:
54 type: string
55 foundation_flavor:
56 type: string
57
58 net_public:
59 type: string
60
61resources:
62 networks:
63 type: MCP::Networks
64 properties:
65 stack_name: { get_param: "OS::stack_name" }
66 env_name: { get_param: env_name }
67
68 #flavors:
69 # type: MCP::Flavors
70
71 cfg01_node:
72 type: MCP::MasterNode
73 depends_on: [networks]
74 properties:
75 env_name: { get_param: env_name }
76 mcp_version: { get_param: mcp_version }
77 cfg01_flavor: { get_param: cfg_flavor }
78 instance_name: cfg01
79 instance_domain: {get_param: instance_domain}
80 network: { get_attr: [networks, network] }
81
82 control_cluster:
83 type: MCP::MultipleInstance
84 depends_on: [cfg01_node]
85 properties:
86 env_name: { get_param: env_name }
87 mcp_version: { get_param: mcp_version }
88 instance_domain: {get_param: instance_domain}
89 instance01_name: ctl01
90 instance02_name: ctl02
91 instance03_name: ctl03
92 instance_flavor: {get_param: ctl_flavor}
93 network: { get_attr: [networks, network] }
94 underlay_userdata: { get_file: ./underlay-userdata.yaml }
95 instance01_control_net_static_ip:
96 list_join:
97 - '.'
98 - [ { get_attr: [networks, control_net_prefix] }, '11' ]
99 instance02_control_net_static_ip:
100 list_join:
101 - '.'
102 - [ { get_attr: [networks, control_net_prefix] }, '12' ]
103 instance03_control_net_static_ip:
104 list_join:
105 - '.'
106 - [ { get_attr: [networks, control_net_prefix] }, '13' ]
107
108 instance_config_host: { get_attr: [cfg01_node, instance_address] }
109
110 openstack_database_cluster:
111 type: MCP::MultipleInstance
112 depends_on: [control_cluster]
113 properties:
114 env_name: { get_param: env_name }
115 mcp_version: { get_param: mcp_version }
116 instance_domain: {get_param: instance_domain}
117 instance01_name: dbs01
118 instance02_name: dbs02
119 instance03_name: dbs03
120 instance_flavor: {get_param: dbs_flavor}
121 network: { get_attr: [networks, network] }
122 underlay_userdata: { get_file: ./underlay-userdata.yaml }
123 instance01_control_net_static_ip:
124 list_join:
125 - '.'
126 - [ { get_attr: [networks, control_net_prefix] }, '51' ]
127 instance02_control_net_static_ip:
128 list_join:
129 - '.'
130 - [ { get_attr: [networks, control_net_prefix] }, '52' ]
131 instance03_control_net_static_ip:
132 list_join:
133 - '.'
134 - [ { get_attr: [networks, control_net_prefix] }, '53' ]
135 instance_config_host: { get_attr: [cfg01_node, instance_address] }
136
137 fake_kvm_cluster:
138 type: MCP::MultipleInstance
139 depends_on: [cfg01_node]
140 properties:
141 env_name: { get_param: env_name }
142 mcp_version: { get_param: mcp_version }
143 instance_domain: {get_param: instance_domain}
144 instance01_name: kvm01
145 instance02_name: kvm02
146 instance03_name: kvm03
147 instance_flavor: {get_param: kvm_fake_flavor}
148 network: { get_attr: [networks, network] }
149 underlay_userdata: { get_file: ./underlay-userdata.yaml }
150 instance01_control_net_static_ip:
151 list_join:
152 - '.'
153 - [ { get_attr: [networks, control_net_prefix] }, '241' ]
154 instance02_control_net_static_ip:
155 list_join:
156 - '.'
157 - [ { get_attr: [networks, control_net_prefix] }, '242' ]
158 instance03_control_net_static_ip:
159 list_join:
160 - '.'
161 - [ { get_attr: [networks, control_net_prefix] }, '243' ]
162
163 instance_config_host: { get_attr: [cfg01_node, instance_address] }
164
165 openstack_message_queue_cluster:
166 type: MCP::MultipleInstance
167 depends_on: [openstack_database_cluster]
168 properties:
169 env_name: { get_param: env_name }
170 mcp_version: { get_param: mcp_version }
171 instance_domain: {get_param: instance_domain}
172 instance01_name: msg01
173 instance02_name: msg02
174 instance03_name: msg03
175 instance_flavor: {get_param: msg_flavor}
176 network: { get_attr: [networks, network] }
177 underlay_userdata: { get_file: ./underlay-userdata.yaml }
178 instance01_control_net_static_ip:
179 list_join:
180 - '.'
181 - [ { get_attr: [networks, control_net_prefix] }, '41' ]
182 instance02_control_net_static_ip:
183 list_join:
184 - '.'
185 - [ { get_attr: [networks, control_net_prefix] }, '42' ]
186 instance03_control_net_static_ip:
187 list_join:
188 - '.'
189 - [ { get_attr: [networks, control_net_prefix] }, '43' ]
190 instance_config_host: { get_attr: [cfg01_node, instance_address] }
191
192 cicd_cluster:
193 type: MCP::MultipleInstance
194 depends_on: [cfg01_node]
195 properties:
196 env_name: { get_param: env_name }
197 mcp_version: { get_param: mcp_version }
198 instance_domain: {get_param: instance_domain}
199 instance01_name: cid01
200 instance02_name: cid02
201 instance03_name: cid03
202 instance_flavor: {get_param: cid_flavor}
203 network: { get_attr: [networks, network] }
204 underlay_userdata: { get_file: ./underlay-userdata.yaml }
205 instance01_control_net_static_ip:
206 list_join:
207 - '.'
208 - [ { get_attr: [networks, control_net_prefix] }, '91' ]
209 instance02_control_net_static_ip:
210 list_join:
211 - '.'
212 - [ { get_attr: [networks, control_net_prefix] }, '92' ]
213 instance03_control_net_static_ip:
214 list_join:
215 - '.'
216 - [ { get_attr: [networks, control_net_prefix] }, '93' ]
217
218 instance_config_host: { get_attr: [cfg01_node, instance_address] }
219
220 contrail_ntw_cluster:
221 type: MCP::MultipleInstance
222 depends_on: [openstack_message_queue_cluster]
223 properties:
224 env_name: { get_param: env_name }
225 mcp_version: { get_param: mcp_version }
226 instance_domain: {get_param: instance_domain}
227 instance01_name: ntw01
228 instance02_name: ntw02
229 instance03_name: ntw03
230 instance_flavor: {get_param: ntw_flavor}
231 network: { get_attr: [networks, network] }
232 underlay_userdata: { get_file: ./underlay-userdata.yaml }
233 instance01_control_net_static_ip:
234 list_join:
235 - '.'
236 - [ { get_attr: [networks, control_net_prefix] }, '21' ]
237 instance02_control_net_static_ip:
238 list_join:
239 - '.'
240 - [ { get_attr: [networks, control_net_prefix] }, '22' ]
241 instance03_control_net_static_ip:
242 list_join:
243 - '.'
244 - [ { get_attr: [networks, control_net_prefix] }, '23' ]
245 instance_config_host: { get_attr: [cfg01_node, instance_address] }
246
247 contrail_nal_cluster:
248 type: MCP::MultipleInstance
249 depends_on: [contrail_ntw_cluster]
250 properties:
251 env_name: { get_param: env_name }
252 mcp_version: { get_param: mcp_version }
253 instance_domain: {get_param: instance_domain}
254 instance01_name: nal01
255 instance02_name: nal02
256 instance03_name: nal03
257 instance_flavor: {get_param: nal_flavor}
258 network: { get_attr: [networks, network] }
259 underlay_userdata: { get_file: ./underlay-userdata.yaml }
260 instance01_control_net_static_ip:
261 list_join:
262 - '.'
263 - [ { get_attr: [networks, control_net_prefix] }, '31' ]
264 instance02_control_net_static_ip:
265 list_join:
266 - '.'
267 - [ { get_attr: [networks, control_net_prefix] }, '32' ]
268 instance03_control_net_static_ip:
269 list_join:
270 - '.'
271 - [ { get_attr: [networks, control_net_prefix] }, '33' ]
272 instance_config_host: { get_attr: [cfg01_node, instance_address] }
273
274 stacklight_monitor_cluster:
275 type: MCP::MultipleInstance
276 depends_on: [openstack_message_queue_cluster]
277 properties:
278 env_name: { get_param: env_name }
279 mcp_version: { get_param: mcp_version }
280 instance_domain: {get_param: instance_domain}
281 instance01_name: mon01
282 instance02_name: mon02
283 instance03_name: mon03
284 instance_flavor: {get_param: mon_flavor}
285 network: { get_attr: [networks, network] }
286 underlay_userdata: { get_file: ./underlay-userdata.yaml }
287 instance01_control_net_static_ip:
288 list_join:
289 - '.'
290 - [ { get_attr: [networks, control_net_prefix] }, '71' ]
291 instance02_control_net_static_ip:
292 list_join:
293 - '.'
294 - [ { get_attr: [networks, control_net_prefix] }, '72' ]
295 instance03_control_net_static_ip:
296 list_join:
297 - '.'
298 - [ { get_attr: [networks, control_net_prefix] }, '73' ]
299 instance_config_host: { get_attr: [cfg01_node, instance_address] }
300
301 stacklight_log_cluster:
302 type: MCP::MultipleInstance
303 depends_on: [stacklight_monitor_cluster]
304 properties:
305 env_name: { get_param: env_name }
306 mcp_version: { get_param: mcp_version }
307 instance_domain: {get_param: instance_domain}
308 instance01_name: log01
309 instance02_name: log02
310 instance03_name: log03
311 instance_flavor: {get_param: log_flavor}
312 network: { get_attr: [networks, network] }
313 underlay_userdata: { get_file: ./underlay-userdata.yaml }
314 instance01_control_net_static_ip:
315 list_join:
316 - '.'
317 - [ { get_attr: [networks, control_net_prefix] }, '61' ]
318 instance02_control_net_static_ip:
319 list_join:
320 - '.'
321 - [ { get_attr: [networks, control_net_prefix] }, '62' ]
322 instance03_control_net_static_ip:
323 list_join:
324 - '.'
325 - [ { get_attr: [networks, control_net_prefix] }, '63' ]
326 instance_config_host: { get_attr: [cfg01_node, instance_address] }
327
328 stacklight_mtr_cluster:
329 type: MCP::MultipleInstance
330 depends_on: [stacklight_log_cluster]
331 properties:
332 env_name: { get_param: env_name }
333 mcp_version: { get_param: mcp_version }
334 instance_domain: {get_param: instance_domain}
335 instance01_name: mtr01
336 instance02_name: mtr02
337 instance03_name: mtr03
338 instance_flavor: {get_param: mtr_flavor}
339 network: { get_attr: [networks, network] }
340 underlay_userdata: { get_file: ./underlay-userdata.yaml }
341 instance01_control_net_static_ip:
342 list_join:
343 - '.'
344 - [ { get_attr: [networks, control_net_prefix] }, '86' ]
345 instance02_control_net_static_ip:
346 list_join:
347 - '.'
348 - [ { get_attr: [networks, control_net_prefix] }, '87' ]
349 instance03_control_net_static_ip:
350 list_join:
351 - '.'
352 - [ { get_attr: [networks, control_net_prefix] }, '88' ]
353 instance_config_host: { get_attr: [cfg01_node, instance_address] }
354
355 prx01_virtual:
356 type: MCP::SingleInstance
357 depends_on: [control_cluster]
358 properties:
359 env_name: { get_param: env_name }
360 mcp_version: { get_param: mcp_version }
361 instance_domain: {get_param: instance_domain}
362 instance_name: prx01
363 instance_flavor: {get_param: cid_flavor}
364 network: { get_attr: [networks, network] }
365 underlay_userdata: { get_file: ./underlay-userdata.yaml }
366 control_net_static_ip:
367 list_join:
368 - '.'
369 - [ { get_attr: [networks, control_net_prefix] }, '81' ]
370
371 instance_config_host: { get_attr: [cfg01_node, instance_address] }
372
373 cmp001_virtual:
374 type: MCP::Compute
375 depends_on: [cfg01_node]
376 properties:
377 env_name: { get_param: env_name }
378 mcp_version: { get_param: mcp_version }
379 instance_domain: {get_param: instance_domain}
380 instance_name: cmp001
381 instance_flavor: {get_param: cmp_flavor}
382 network: { get_attr: [networks, network] }
383 underlay_userdata: { get_file: ./underlay-userdata.yaml }
384 control_net_static_ip:
385 list_join:
386 - '.'
387 - [ { get_attr: [networks, control_net_prefix] }, '101' ]
388 instance_config_host: { get_attr: [cfg01_node, instance_address] }
389
390 cmp002_virtual:
391 type: MCP::Compute
392 depends_on: [cfg01_node]
393 properties:
394 env_name: { get_param: env_name }
395 mcp_version: { get_param: mcp_version }
396 instance_domain: {get_param: instance_domain}
397 instance_name: cmp002
398 instance_flavor: {get_param: cmp_flavor}
399 network: { get_attr: [networks, network] }
400 underlay_userdata: { get_file: ./underlay-userdata.yaml }
401 control_net_static_ip:
402 list_join:
403 - '.'
404 - [ { get_attr: [networks, control_net_prefix] }, '102' ]
405 instance_config_host: { get_attr: [cfg01_node, instance_address] }
406
407 foundation_node:
408 type: MCP::FoundationNode
409 depends_on: [networks]
410 properties:
411 env_name: { get_param: env_name }
412 mcp_version: { get_param: mcp_version }
413 instance_domain: {get_param: instance_domain}
414 instance_name: foundation
415 instance_flavor: {get_param: foundation_flavor}
416 network: { get_attr: [networks, network] }
417 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
418 control_net_static_ip:
419 list_join:
420 - '.'
421 - [ { get_attr: [networks, control_net_prefix] }, '5' ]
422 instance_config_host: { get_attr: [cfg01_node, instance_address] }
423
424outputs:
425
426 control_subnet_cidr:
427 description: Control network CIDR
428 value: { get_param: control_subnet_cidr }
429
430 management_subnet_cidr:
431 description: Admin network CIDR
432 value: { get_param: management_subnet_cidr }
433
434 foundation_floating:
435 description: foundation node IP address (floating) from external network
436 value:
437 get_attr:
438 - foundation_node
439 - instance_floating_address
440...