blob: 158f3667e099c003ace6ad67c60e02aa20d211f2 [file] [log] [blame]
sgudzb8819722019-05-16 22:34:31 +03001---
2
3heat_template_version: queens
4
5description: MCP environment for heat-cicd-k8s-genie
6
7parameters:
8 instance_domain:
9 type: string
10 default: heat-cicd-k8s-genie.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 foundation_flavor:
48 type: string
49
50 net_public:
51 type: string
52
Dennis Dmitrievcba86122019-05-24 13:41:46 +030053 foundation_image:
54 type: string
55
sgudzb8819722019-05-16 22:34:31 +030056resources:
57 networks:
58 type: MCP::Networks
59 properties:
60 stack_name: { get_param: "OS::stack_name" }
61 env_name: { get_param: env_name }
62
63 #flavors:
64 # type: MCP::Flavors
65
66 cfg01_node:
67 type: MCP::MasterNode
68 depends_on: [networks]
69 properties:
70 env_name: { get_param: env_name }
71 mcp_version: { get_param: mcp_version }
72 cfg01_flavor: { get_param: cfg_flavor }
sgudze6bff762019-05-23 18:15:49 +030073 tenant_net_static_ip:
74 list_join:
75 - '.'
76 - [ { get_attr: [networks, tenant_net_prefix] }, '15' ]
77 external_net_static_ip:
78 list_join:
79 - '.'
80 - [ { get_attr: [networks, external_net_prefix] }, '15' ]
sgudzb8819722019-05-16 22:34:31 +030081 instance_name: cfg01
82 instance_domain: {get_param: instance_domain}
83 network: { get_attr: [networks, network] }
84
85 control_cluster:
86 type: MCP::MultipleInstance
87 depends_on: [cfg01_node]
88 properties:
89 env_name: { get_param: env_name }
90 mcp_version: { get_param: mcp_version }
91 instance_domain: {get_param: instance_domain}
92 instance01_name: ctl01
93 instance02_name: ctl02
94 instance03_name: ctl03
95 instance01_role: [k8s_controller]
96 instance_flavor: {get_param: ctl_flavor}
97 network: { get_attr: [networks, network] }
98 underlay_userdata: { get_file: ./underlay-userdata.yaml }
99 instance01_control_net_static_ip:
100 list_join:
101 - '.'
102 - [ { get_attr: [networks, control_net_prefix] }, '11' ]
103 instance02_control_net_static_ip:
104 list_join:
105 - '.'
106 - [ { get_attr: [networks, control_net_prefix] }, '12' ]
107 instance03_control_net_static_ip:
108 list_join:
109 - '.'
110 - [ { get_attr: [networks, control_net_prefix] }, '13' ]
sgudze6bff762019-05-23 18:15:49 +0300111 instance01_tenant_net_static_ip:
112 list_join:
113 - '.'
114 - [ { get_attr: [networks, tenant_net_prefix] }, '11' ]
115 instance02_tenant_net_static_ip:
116 list_join:
117 - '.'
118 - [ { get_attr: [networks, tenant_net_prefix] }, '12' ]
119 instance03_tenant_net_static_ip:
120 list_join:
121 - '.'
122 - [ { get_attr: [networks, tenant_net_prefix] }, '13' ]
123 instance01_external_net_static_ip:
124 list_join:
125 - '.'
126 - [ { get_attr: [networks, external_net_prefix] }, '11' ]
127 instance02_external_net_static_ip:
128 list_join:
129 - '.'
130 - [ { get_attr: [networks, external_net_prefix] }, '12' ]
131 instance03_external_net_static_ip:
132 list_join:
133 - '.'
134 - [ { get_attr: [networks, external_net_prefix] }, '13' ]
sgudzb8819722019-05-16 22:34:31 +0300135
136 instance_config_host: { get_attr: [cfg01_node, instance_address] }
137
138 fake_kvm_cluster:
139 type: MCP::MultipleInstance
140 depends_on: [control_cluster]
141 properties:
142 env_name: { get_param: env_name }
143 mcp_version: { get_param: mcp_version }
144 instance_domain: {get_param: instance_domain}
145 instance01_name: kvm01
146 instance02_name: kvm02
147 instance03_name: kvm03
148 instance_flavor: {get_param: kvm_fake_flavor}
149 network: { get_attr: [networks, network] }
150 underlay_userdata: { get_file: ./underlay-userdata.yaml }
151 instance01_control_net_static_ip:
152 list_join:
153 - '.'
154 - [ { get_attr: [networks, control_net_prefix] }, '241' ]
155 instance02_control_net_static_ip:
156 list_join:
157 - '.'
158 - [ { get_attr: [networks, control_net_prefix] }, '242' ]
159 instance03_control_net_static_ip:
160 list_join:
161 - '.'
162 - [ { get_attr: [networks, control_net_prefix] }, '243' ]
sgudze6bff762019-05-23 18:15:49 +0300163 instance01_tenant_net_static_ip:
164 list_join:
165 - '.'
166 - [ { get_attr: [networks, tenant_net_prefix] }, '241' ]
167 instance02_tenant_net_static_ip:
168 list_join:
169 - '.'
170 - [ { get_attr: [networks, tenant_net_prefix] }, '242' ]
171 instance03_tenant_net_static_ip:
172 list_join:
173 - '.'
174 - [ { get_attr: [networks, tenant_net_prefix] }, '243' ]
175 instance01_external_net_static_ip:
176 list_join:
177 - '.'
178 - [ { get_attr: [networks, external_net_prefix] }, '241' ]
179 instance02_external_net_static_ip:
180 list_join:
181 - '.'
182 - [ { get_attr: [networks, external_net_prefix] }, '242' ]
183 instance03_external_net_static_ip:
184 list_join:
185 - '.'
186 - [ { get_attr: [networks, external_net_prefix] }, '243' ]
sgudzb8819722019-05-16 22:34:31 +0300187
188 instance_config_host: { get_attr: [cfg01_node, instance_address] }
189
190 cicd_cluster:
191 type: MCP::MultipleInstance
192 depends_on: [fake_kvm_cluster]
193 properties:
194 env_name: { get_param: env_name }
195 mcp_version: { get_param: mcp_version }
196 instance_domain: {get_param: instance_domain}
197 instance01_name: cid01
198 instance02_name: cid02
199 instance03_name: cid03
200 instance_flavor: {get_param: cid_flavor}
201 network: { get_attr: [networks, network] }
202 underlay_userdata: { get_file: ./underlay-userdata.yaml }
203 instance01_control_net_static_ip:
204 list_join:
205 - '.'
206 - [ { get_attr: [networks, control_net_prefix] }, '91' ]
207 instance02_control_net_static_ip:
208 list_join:
209 - '.'
210 - [ { get_attr: [networks, control_net_prefix] }, '92' ]
211 instance03_control_net_static_ip:
212 list_join:
213 - '.'
214 - [ { get_attr: [networks, control_net_prefix] }, '93' ]
sgudze6bff762019-05-23 18:15:49 +0300215 instance01_tenant_net_static_ip:
216 list_join:
217 - '.'
218 - [ { get_attr: [networks, tenant_net_prefix] }, '91' ]
219 instance02_tenant_net_static_ip:
220 list_join:
221 - '.'
222 - [ { get_attr: [networks, tenant_net_prefix] }, '92' ]
223 instance03_tenant_net_static_ip:
224 list_join:
225 - '.'
226 - [ { get_attr: [networks, tenant_net_prefix] }, '93' ]
227 instance01_external_net_static_ip:
228 list_join:
229 - '.'
230 - [ { get_attr: [networks, external_net_prefix] }, '91' ]
231 instance02_external_net_static_ip:
232 list_join:
233 - '.'
234 - [ { get_attr: [networks, external_net_prefix] }, '92' ]
235 instance03_external_net_static_ip:
236 list_join:
237 - '.'
238 - [ { get_attr: [networks, external_net_prefix] }, '93' ]
sgudzb8819722019-05-16 22:34:31 +0300239
240 instance_config_host: { get_attr: [cfg01_node, instance_address] }
241
242 prx01_virtual:
243 type: MCP::SingleInstance
244 depends_on: [cicd_cluster]
245 properties:
246 env_name: { get_param: env_name }
247 mcp_version: { get_param: mcp_version }
248 instance_domain: {get_param: instance_domain}
249 instance_name: prx01
250 instance_flavor: {get_param: cid_flavor}
251 network: { get_attr: [networks, network] }
252 underlay_userdata: { get_file: ./underlay-userdata.yaml }
253 control_net_static_ip:
254 list_join:
255 - '.'
256 - [ { get_attr: [networks, control_net_prefix] }, '221' ]
sgudze6bff762019-05-23 18:15:49 +0300257 tenant_net_static_ip:
258 list_join:
259 - '.'
260 - [ { get_attr: [networks, tenant_net_prefix] }, '221' ]
261 external_net_static_ip:
262 list_join:
263 - '.'
264 - [ { get_attr: [networks, external_net_prefix] }, '221' ]
265
sgudzb8819722019-05-16 22:34:31 +0300266 instance_config_host: { get_attr: [cfg01_node, instance_address] }
267
268 prx02_virtual:
269 type: MCP::SingleInstance
270 depends_on: [prx01_virtual]
271 properties:
272 env_name: { get_param: env_name }
273 mcp_version: { get_param: mcp_version }
274 instance_domain: {get_param: instance_domain}
275 instance_name: prx02
276 instance_flavor: {get_param: cid_flavor}
277 network: { get_attr: [networks, network] }
278 underlay_userdata: { get_file: ./underlay-userdata.yaml }
279 control_net_static_ip:
280 list_join:
281 - '.'
282 - [ { get_attr: [networks, control_net_prefix] }, '222' ]
sgudze6bff762019-05-23 18:15:49 +0300283 tenant_net_static_ip:
284 list_join:
285 - '.'
286 - [ { get_attr: [networks, tenant_net_prefix] }, '222' ]
287 external_net_static_ip:
288 list_join:
289 - '.'
290 - [ { get_attr: [networks, external_net_prefix] }, '222' ]
291
sgudzb8819722019-05-16 22:34:31 +0300292 instance_config_host: { get_attr: [cfg01_node, instance_address] }
293
294 cmp001_virtual:
295 type: MCP::Compute
296 depends_on: [prx02_virtual]
297 properties:
298 env_name: { get_param: env_name }
299 mcp_version: { get_param: mcp_version }
300 instance_domain: {get_param: instance_domain}
301 instance_name: cmp001
302 instance_flavor: {get_param: cmp_flavor}
303 network: { get_attr: [networks, network] }
304 underlay_userdata: { get_file: ./underlay-userdata.yaml }
305 control_net_static_ip:
306 list_join:
307 - '.'
308 - [ { get_attr: [networks, control_net_prefix] }, '101' ]
sgudze6bff762019-05-23 18:15:49 +0300309 tenant_net_static_ip:
310 list_join:
311 - '.'
312 - [ { get_attr: [networks, tenant_net_prefix] }, '101' ]
313 external_net_static_ip:
314 list_join:
315 - '.'
316 - [ { get_attr: [networks, external_net_prefix] }, '101' ]
317
sgudzb8819722019-05-16 22:34:31 +0300318 instance_config_host: { get_attr: [cfg01_node, instance_address] }
319
320 cmp002_virtual:
321 type: MCP::Compute
322 depends_on: [cmp001_virtual]
323 properties:
324 env_name: { get_param: env_name }
325 mcp_version: { get_param: mcp_version }
326 instance_domain: {get_param: instance_domain}
327 instance_name: cmp002
328 instance_flavor: {get_param: cmp_flavor}
329 network: { get_attr: [networks, network] }
330 underlay_userdata: { get_file: ./underlay-userdata.yaml }
331 control_net_static_ip:
332 list_join:
333 - '.'
334 - [ { get_attr: [networks, control_net_prefix] }, '102' ]
sgudze6bff762019-05-23 18:15:49 +0300335 tenant_net_static_ip:
336 list_join:
337 - '.'
338 - [ { get_attr: [networks, tenant_net_prefix] }, '102' ]
339 external_net_static_ip:
340 list_join:
341 - '.'
342 - [ { get_attr: [networks, external_net_prefix] }, '102' ]
343
sgudzb8819722019-05-16 22:34:31 +0300344 instance_config_host: { get_attr: [cfg01_node, instance_address] }
345
346 cmp003_virtual:
347 type: MCP::Compute
348 depends_on: [cmp002_virtual]
349 properties:
350 env_name: { get_param: env_name }
351 mcp_version: { get_param: mcp_version }
352 instance_domain: {get_param: instance_domain}
353 instance_name: cmp003
354 instance_flavor: {get_param: cmp_flavor}
355 network: { get_attr: [networks, network] }
356 underlay_userdata: { get_file: ./underlay-userdata.yaml }
357 control_net_static_ip:
358 list_join:
359 - '.'
360 - [ { get_attr: [networks, control_net_prefix] }, '103' ]
sgudze6bff762019-05-23 18:15:49 +0300361 tenant_net_static_ip:
362 list_join:
363 - '.'
364 - [ { get_attr: [networks, tenant_net_prefix] }, '103' ]
365 external_net_static_ip:
366 list_join:
367 - '.'
368 - [ { get_attr: [networks, external_net_prefix] }, '103' ]
369
sgudzb8819722019-05-16 22:34:31 +0300370 instance_config_host: { get_attr: [cfg01_node, instance_address] }
371
372 cmp004_virtual:
373 type: MCP::Compute
374 depends_on: [cmp003_virtual]
375 properties:
376 env_name: { get_param: env_name }
377 mcp_version: { get_param: mcp_version }
378 instance_domain: {get_param: instance_domain}
379 instance_name: cmp004
380 instance_flavor: {get_param: cmp_flavor}
381 network: { get_attr: [networks, network] }
382 underlay_userdata: { get_file: ./underlay-userdata.yaml }
383 control_net_static_ip:
384 list_join:
385 - '.'
386 - [ { get_attr: [networks, control_net_prefix] }, '104' ]
sgudze6bff762019-05-23 18:15:49 +0300387 tenant_net_static_ip:
388 list_join:
389 - '.'
390 - [ { get_attr: [networks, tenant_net_prefix] }, '104' ]
391 external_net_static_ip:
392 list_join:
393 - '.'
394 - [ { get_attr: [networks, external_net_prefix] }, '104' ]
395
sgudzb8819722019-05-16 22:34:31 +0300396 instance_config_host: { get_attr: [cfg01_node, instance_address] }
397
398 foundation_node:
399 type: MCP::FoundationNode
400 depends_on: [networks]
401 properties:
402 env_name: { get_param: env_name }
403 mcp_version: { get_param: mcp_version }
404 instance_domain: {get_param: instance_domain}
405 instance_name: foundation
Dennis Dmitrievcba86122019-05-24 13:41:46 +0300406 instance_image: { get_param: foundation_image }
sgudzb8819722019-05-16 22:34:31 +0300407 instance_flavor: {get_param: foundation_flavor}
408 network: { get_attr: [networks, network] }
409 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
410 control_net_static_ip:
411 list_join:
412 - '.'
413 - [ { get_attr: [networks, control_net_prefix] }, '5' ]
sgudze6bff762019-05-23 18:15:49 +0300414 tenant_net_static_ip:
415 list_join:
416 - '.'
417 - [ { get_attr: [networks, tenant_net_prefix] }, '5' ]
418 external_net_static_ip:
419 list_join:
420 - '.'
421 - [ { get_attr: [networks, external_net_prefix] }, '5' ]
422
sgudzb8819722019-05-16 22:34:31 +0300423 instance_config_host: { get_attr: [cfg01_node, instance_address] }
424
425outputs:
426
427 control_subnet_cidr:
428 description: Control network CIDR
429 value: { get_param: control_subnet_cidr }
430
431 management_subnet_cidr:
432 description: Admin network CIDR
433 value: { get_param: management_subnet_cidr }
434
435 foundation_floating:
436 description: foundation node IP address (floating) from external network
437 value:
438 get_attr:
439 - foundation_node
440 - instance_floating_address
441...