blob: ab909a51c2bb60200b8a88e4fbc9f7f7c99574f4 [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
sgudz917e8d92019-05-21 16:20:02 +030090 instance01_role: k8s_controller
sgudze8442722019-05-08 10:38:04 +030091 instance_flavor: {get_param: ctl_flavor}
92 network: { get_attr: [networks, network] }
93 underlay_userdata: { get_file: ./underlay-userdata.yaml }
94 instance01_control_net_static_ip:
95 list_join:
96 - '.'
97 - [ { get_attr: [networks, control_net_prefix] }, '11' ]
98 instance02_control_net_static_ip:
99 list_join:
100 - '.'
101 - [ { get_attr: [networks, control_net_prefix] }, '12' ]
102 instance03_control_net_static_ip:
103 list_join:
104 - '.'
105 - [ { get_attr: [networks, control_net_prefix] }, '13' ]
106
107 instance_config_host: { get_attr: [cfg01_node, instance_address] }
108
109 fake_kvm_cluster:
110 type: MCP::MultipleInstance
111 depends_on: [cfg01_node]
112 properties:
113 env_name: { get_param: env_name }
114 mcp_version: { get_param: mcp_version }
115 instance_domain: {get_param: instance_domain}
116 instance01_name: kvm01
117 instance02_name: kvm02
118 instance03_name: kvm03
119 instance_flavor: {get_param: kvm_fake_flavor}
120 network: { get_attr: [networks, network] }
121 underlay_userdata: { get_file: ./underlay-userdata.yaml }
122 instance01_control_net_static_ip:
123 list_join:
124 - '.'
125 - [ { get_attr: [networks, control_net_prefix] }, '241' ]
126 instance02_control_net_static_ip:
127 list_join:
128 - '.'
129 - [ { get_attr: [networks, control_net_prefix] }, '242' ]
130 instance03_control_net_static_ip:
131 list_join:
132 - '.'
133 - [ { get_attr: [networks, control_net_prefix] }, '243' ]
134
135 instance_config_host: { get_attr: [cfg01_node, instance_address] }
136
137 cicd_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: cid01
145 instance02_name: cid02
146 instance03_name: cid03
147 instance_flavor: {get_param: cid_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] }, '91' ]
154 instance02_control_net_static_ip:
155 list_join:
156 - '.'
157 - [ { get_attr: [networks, control_net_prefix] }, '92' ]
158 instance03_control_net_static_ip:
159 list_join:
160 - '.'
161 - [ { get_attr: [networks, control_net_prefix] }, '93' ]
162
163 instance_config_host: { get_attr: [cfg01_node, instance_address] }
164
165 stacklight_monitor_cluster:
166 type: MCP::MultipleInstance
167 depends_on: [openstack_message_queue_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: mon01
173 instance02_name: mon02
174 instance03_name: mon03
175 instance_flavor: {get_param: mon_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] }, '71' ]
182 instance02_control_net_static_ip:
183 list_join:
184 - '.'
185 - [ { get_attr: [networks, control_net_prefix] }, '72' ]
186 instance03_control_net_static_ip:
187 list_join:
188 - '.'
189 - [ { get_attr: [networks, control_net_prefix] }, '73' ]
190 instance_config_host: { get_attr: [cfg01_node, instance_address] }
191
192 stacklight_log_cluster:
193 type: MCP::MultipleInstance
194 depends_on: [stacklight_monitor_cluster]
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: log01
200 instance02_name: log02
201 instance03_name: log03
202 instance_flavor: {get_param: log_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] }, '61' ]
209 instance02_control_net_static_ip:
210 list_join:
211 - '.'
212 - [ { get_attr: [networks, control_net_prefix] }, '62' ]
213 instance03_control_net_static_ip:
214 list_join:
215 - '.'
216 - [ { get_attr: [networks, control_net_prefix] }, '63' ]
217 instance_config_host: { get_attr: [cfg01_node, instance_address] }
218
219 stacklight_mtr_cluster:
220 type: MCP::MultipleInstance
221 depends_on: [stacklight_log_cluster]
222 properties:
223 env_name: { get_param: env_name }
224 mcp_version: { get_param: mcp_version }
225 instance_domain: {get_param: instance_domain}
226 instance01_name: mtr01
227 instance02_name: mtr02
228 instance03_name: mtr03
229 instance_flavor: {get_param: mtr_flavor}
230 network: { get_attr: [networks, network] }
231 underlay_userdata: { get_file: ./underlay-userdata.yaml }
232 instance01_control_net_static_ip:
233 list_join:
234 - '.'
235 - [ { get_attr: [networks, control_net_prefix] }, '86' ]
236 instance02_control_net_static_ip:
237 list_join:
238 - '.'
239 - [ { get_attr: [networks, control_net_prefix] }, '87' ]
240 instance03_control_net_static_ip:
241 list_join:
242 - '.'
243 - [ { get_attr: [networks, control_net_prefix] }, '88' ]
244 instance_config_host: { get_attr: [cfg01_node, instance_address] }
245
246 ceph_cmn_cluster:
247 type: MCP::MultipleInstance
248 depends_on: [cfg01_node]
249 properties:
250 env_name: { get_param: env_name }
251 mcp_version: { get_param: mcp_version }
252 instance_domain: {get_param: instance_domain}
253 instance01_name: cmn01
254 instance02_name: cmn02
255 instance03_name: cmn03
256 instance_flavor: {get_param: cmn_flavor}
257 network: { get_attr: [networks, network] }
258 underlay_userdata: { get_file: ./underlay-userdata.yaml }
259 instance01_control_net_static_ip:
260 list_join:
261 - '.'
262 - [ { get_attr: [networks, control_net_prefix] }, '66' ]
263 instance02_control_net_static_ip:
264 list_join:
265 - '.'
266 - [ { get_attr: [networks, control_net_prefix] }, '67' ]
267 instance03_control_net_static_ip:
268 list_join:
269 - '.'
270 - [ { get_attr: [networks, control_net_prefix] }, '68' ]
271 instance_config_host: { get_attr: [cfg01_node, instance_address] }
272
273 ceph_rgw_cluster:
274 type: MCP::MultipleInstance
275 depends_on: [cfg01_node]
276 properties:
277 env_name: { get_param: env_name }
278 mcp_version: { get_param: mcp_version }
279 instance_domain: {get_param: instance_domain}
280 instance01_name: rgw01
281 instance02_name: rgw02
282 instance03_name: rgw03
283 instance_flavor: {get_param: rgw_flavor}
284 network: { get_attr: [networks, network] }
285 underlay_userdata: { get_file: ./underlay-userdata.yaml }
286 instance01_control_net_static_ip:
287 list_join:
288 - '.'
289 - [ { get_attr: [networks, control_net_prefix] }, '76' ]
290 instance02_control_net_static_ip:
291 list_join:
292 - '.'
293 - [ { get_attr: [networks, control_net_prefix] }, '77' ]
294 instance03_control_net_static_ip:
295 list_join:
296 - '.'
297 - [ { get_attr: [networks, control_net_prefix] }, '78' ]
298 instance_config_host: { get_attr: [cfg01_node, instance_address] }
299
300 ceph_osd_cluster:
301 type: MCP::MultipleInstance
302 depends_on: [cfg01_node]
303 properties:
304 env_name: { get_param: env_name }
305 mcp_version: { get_param: mcp_version }
306 instance_domain: {get_param: instance_domain}
307 instance01_name: osd001
308 instance02_name: osd002
309 instance03_name: osd003
310 instance_flavor: {get_param: osd_flavor}
311 network: { get_attr: [networks, network] }
312 underlay_userdata: { get_file: ./underlay-userdata.yaml }
313 instance01_control_net_static_ip:
314 list_join:
315 - '.'
316 - [ { get_attr: [networks, control_net_prefix] }, '201' ]
317 instance02_control_net_static_ip:
318 list_join:
319 - '.'
320 - [ { get_attr: [networks, control_net_prefix] }, '202' ]
321 instance03_control_net_static_ip:
322 list_join:
323 - '.'
324 - [ { get_attr: [networks, control_net_prefix] }, '203' ]
325 instance_config_host: { get_attr: [cfg01_node, instance_address] }
326
327 prx01_virtual:
328 type: MCP::SingleInstance
329 depends_on: [control_cluster]
330 properties:
331 env_name: { get_param: env_name }
332 mcp_version: { get_param: mcp_version }
333 instance_domain: {get_param: instance_domain}
334 instance_name: prx01
335 instance_flavor: {get_param: cid_flavor}
336 network: { get_attr: [networks, network] }
337 underlay_userdata: { get_file: ./underlay-userdata.yaml }
338 control_net_static_ip:
339 list_join:
340 - '.'
341 - [ { get_attr: [networks, control_net_prefix] }, '221' ]
342 instance_config_host: { get_attr: [cfg01_node, instance_address] }
343
344 prx02_virtual:
345 type: MCP::SingleInstance
346 depends_on: [control_cluster]
347 properties:
348 env_name: { get_param: env_name }
349 mcp_version: { get_param: mcp_version }
350 instance_domain: {get_param: instance_domain}
351 instance_name: prx02
352 instance_flavor: {get_param: cid_flavor}
353 network: { get_attr: [networks, network] }
354 underlay_userdata: { get_file: ./underlay-userdata.yaml }
355 control_net_static_ip:
356 list_join:
357 - '.'
358 - [ { get_attr: [networks, control_net_prefix] }, '222' ]
359 instance_config_host: { get_attr: [cfg01_node, instance_address] }
360
361 cmp001_virtual:
362 type: MCP::Compute
363 depends_on: [cfg01_node]
364 properties:
365 env_name: { get_param: env_name }
366 mcp_version: { get_param: mcp_version }
367 instance_domain: {get_param: instance_domain}
368 instance_name: cmp001
369 instance_flavor: {get_param: cmp_flavor}
370 network: { get_attr: [networks, network] }
371 underlay_userdata: { get_file: ./underlay-userdata.yaml }
372 control_net_static_ip:
373 list_join:
374 - '.'
375 - [ { get_attr: [networks, control_net_prefix] }, '101' ]
376 instance_config_host: { get_attr: [cfg01_node, instance_address] }
377
378 cmp002_virtual:
379 type: MCP::Compute
380 depends_on: [cfg01_node]
381 properties:
382 env_name: { get_param: env_name }
383 mcp_version: { get_param: mcp_version }
384 instance_domain: {get_param: instance_domain}
385 instance_name: cmp002
386 instance_flavor: {get_param: cmp_flavor}
387 network: { get_attr: [networks, network] }
388 underlay_userdata: { get_file: ./underlay-userdata.yaml }
389 control_net_static_ip:
390 list_join:
391 - '.'
392 - [ { get_attr: [networks, control_net_prefix] }, '102' ]
393 instance_config_host: { get_attr: [cfg01_node, instance_address] }
394
395 foundation_node:
396 type: MCP::FoundationNode
397 depends_on: [networks]
398 properties:
399 env_name: { get_param: env_name }
400 mcp_version: { get_param: mcp_version }
401 instance_domain: {get_param: instance_domain}
402 instance_name: foundation
403 instance_flavor: {get_param: foundation_flavor}
404 network: { get_attr: [networks, network] }
405 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
406 control_net_static_ip:
407 list_join:
408 - '.'
409 - [ { get_attr: [networks, control_net_prefix] }, '5' ]
410 instance_config_host: { get_attr: [cfg01_node, instance_address] }
411
412outputs:
413
414 control_subnet_cidr:
415 description: Control network CIDR
416 value: { get_param: control_subnet_cidr }
417
418 management_subnet_cidr:
419 description: Admin network CIDR
420 value: { get_param: management_subnet_cidr }
421
422 foundation_floating:
423 description: foundation node IP address (floating) from external network
424 value:
425 get_attr:
426 - foundation_node
427 - instance_floating_address
428...