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