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