blob: 9b43004885b074dea76a3adbf4cbb1968bbbae81 [file] [log] [blame]
Tatyana Leontovich50e62dd2018-03-28 20:59:52 +03001# Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required
2{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %}
3
4{% import 'virtual-offline-ssl/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-offline-ssl/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-offline-ssl/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7{% import 'virtual-offline-ssl/underlay--user-data-apt01.yaml' as CLOUDINIT_USER_DATA_APT01 with context %}
8
9---
10aliases:
11 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
12 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
13 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
14 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
15 - &cloudinit_user_data_apt01 {{ CLOUDINIT_USER_DATA_APT01 }}
16
17{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'virtual-offline-ssl') %}
18{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME) + '.local' %}
19{% set HOSTNAME_APT01 = os_env('HOSTNAME_APT01', 'apt01.' + DOMAIN_NAME) %}
20{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
21{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
22{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
23{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
24{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
25{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
26{% set HOSTNAME_MDB01 = os_env('HOSTNAME_MDB01', 'mdb01.' + DOMAIN_NAME) %}
27{% set HOSTNAME_MDB02 = os_env('HOSTNAME_MDB02', 'mdb02.' + DOMAIN_NAME) %}
28{% set HOSTNAME_MDB03 = os_env('HOSTNAME_MDB03', 'mdb03.' + DOMAIN_NAME) %}
29{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
30{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
31{% set HOSTNAME_SHARE01 = os_env('HOSTNAME_SHARE01', 'share01.' + DOMAIN_NAME) %}
32
33template:
34 devops_settings:
35 env_name: {{ os_env('ENV_NAME', 'virtual-offline-ssl' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
36
37 address_pools:
38 private-pool01:
39 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
40 params:
41 ip_reserved:
42 l2_network_device: +1
43 default_{{ HOSTNAME_APT01 }}: +122
44 default_{{ HOSTNAME_CFG01 }}: +100
45 default_{{ HOSTNAME_CTL01 }}: +101
46 default_{{ HOSTNAME_CTL02 }}: +102
47 default_{{ HOSTNAME_CTL03 }}: +103
48 default_{{ HOSTNAME_CMP01 }}: +105
49 default_{{ HOSTNAME_CMP02 }}: +106
50 default_{{ HOSTNAME_MDB01 }}: +45
51 default_{{ HOSTNAME_MDB02 }}: +46
52 default_{{ HOSTNAME_MDB03 }}: +47
53 default_{{ HOSTNAME_GTW01 }}: +110
54 default_{{ HOSTNAME_PRX01 }}: +121
55 default_{{ HOSTNAME_SHARE01 }}: +130
56 ip_ranges:
57 dhcp: [+90, -10]
58
59 admin-pool01:
60 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
61 params:
62 ip_reserved:
63 l2_network_device: +1
64 default_{{ HOSTNAME_APT01 }}: +122
65 default_{{ HOSTNAME_CFG01 }}: +90
66 default_{{ HOSTNAME_CTL01 }}: +101
67 default_{{ HOSTNAME_CTL02 }}: +102
68 default_{{ HOSTNAME_CTL03 }}: +103
69 default_{{ HOSTNAME_CMP01 }}: +105
70 default_{{ HOSTNAME_CMP02 }}: +106
71 default_{{ HOSTNAME_MDB01 }}: +45
72 default_{{ HOSTNAME_MDB02 }}: +46
73 default_{{ HOSTNAME_MDB03 }}: +47
74 default_{{ HOSTNAME_GTW01 }}: +110
75 default_{{ HOSTNAME_PRX01 }}: +121
76 default_{{ HOSTNAME_SHARE01 }}: +130
77 ip_ranges:
78 dhcp: [+90, -10]
79
80 tenant-pool01:
81 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
82 params:
83 ip_reserved:
84 l2_network_device: +1
85 default_{{ HOSTNAME_APT01 }}: +122
86 default_{{ HOSTNAME_CFG01 }}: +100
87 default_{{ HOSTNAME_CTL01 }}: +101
88 default_{{ HOSTNAME_CTL02 }}: +102
89 default_{{ HOSTNAME_CTL03 }}: +103
90 default_{{ HOSTNAME_CMP01 }}: +105
91 default_{{ HOSTNAME_CMP02 }}: +106
92 default_{{ HOSTNAME_MDB01 }}: +45
93 default_{{ HOSTNAME_MDB02 }}: +46
94 default_{{ HOSTNAME_MDB03 }}: +47
95 default_{{ HOSTNAME_GTW01 }}: +110
96 default_{{ HOSTNAME_PRX01 }}: +121
97 default_{{ HOSTNAME_SHARE01 }}: +130
98 ip_ranges:
99 dhcp: [+10, -10]
100
101 external-pool01:
102 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
103 params:
104 ip_reserved:
105 l2_network_device: +1
106 default_{{ HOSTNAME_APT01 }}: +122
107 default_{{ HOSTNAME_CFG01 }}: +100
108 default_{{ HOSTNAME_CTL01 }}: +101
109 default_{{ HOSTNAME_CTL02 }}: +102
110 default_{{ HOSTNAME_CTL03 }}: +103
111 default_{{ HOSTNAME_CMP01 }}: +105
112 default_{{ HOSTNAME_CMP02 }}: +106
113 default_{{ HOSTNAME_MDB01 }}: +45
114 default_{{ HOSTNAME_MDB02 }}: +46
115 default_{{ HOSTNAME_MDB03 }}: +47
116 default_{{ HOSTNAME_GTW01 }}: +110
117 default_{{ HOSTNAME_PRX01 }}: +121
118 default_{{ HOSTNAME_SHARE01 }}: +130
119 ip_ranges:
120 dhcp: [+10, -10]
121
122
123 groups:
124 - name: default
125 driver:
126 name: devops.driver.libvirt
127 params:
128 connection_string: !os_env CONNECTION_STRING, qemu:///system
129 storage_pool_name: !os_env STORAGE_POOL_NAME, default
130 stp: False
131 hpet: False
132 enable_acpi: true
133 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
134 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
135
136 network_pools:
137 admin: admin-pool01
138 private: private-pool01
139 tenant: tenant-pool01
140 external: external-pool01
141
142 l2_network_devices:
143 private:
144 address_pool: private-pool01
145 dhcp: false
146 forward:
147 mode: route
148
149 admin:
150 address_pool: admin-pool01
151 dhcp: true
152 forward:
153 mode: nat
154
155 tenant:
156 address_pool: tenant-pool01
157 dhcp: false
158
159 external:
160 address_pool: external-pool01
161 dhcp: true
162 forward:
Dennis Dmitrievb0ce3682018-05-01 16:48:11 +0300163 mode: route
Tatyana Leontovich50e62dd2018-03-28 20:59:52 +0300164
165
166 group_volumes:
167 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
168 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
169 format: qcow2
170 - name: cfg01_day01_image # Pre-configured day01 image
171 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
172 format: qcow2
173 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
174 source_image: !os_env MCP_IMAGE_PATH1604
175 format: qcow2
176 - name: apt_cloudimage1604 # This name is used for 'backing_store' option for node volumes.
177 source_image: !os_env APT_IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
178 format: qcow2
179
180 nodes:
181 - name: {{ HOSTNAME_APT01 }}
182 role: salt_minion
183 params:
184 vcpu: !os_env SLAVE_NODE_CPU, 2
185 memory: !os_env SLAVE_NODE_MEMORY, 4096
186 boot:
187 - hd
188 cloud_init_volume_name: iso
189 cloud_init_iface_up: ens3
190 volumes:
191 - name: system
192 capacity: !os_env NODE_VOLUME_SIZE, 150
193 backing_store: apt_cloudimage1604
194 format: qcow2
195 - name: iso # Volume with name 'iso' will be used
196 # for store image with cloud-init metadata.
197 capacity: 1
198 format: raw
199 device: cdrom
200 bus: ide
201 cloudinit_meta_data: *cloudinit_meta_data
202 cloudinit_user_data: *cloudinit_user_data_apt01
203
204 interfaces:
205 - label: ens3
206 l2_network_device: admin
207 interface_model: *interface_model
208 - label: ens4
209 l2_network_device: private
210 interface_model: *interface_model
211 - label: ens5
212 l2_network_device: tenant
213 interface_model: *interface_model
214 - label: ens6
215 l2_network_device: external
216 interface_model: *interface_model
217 network_config:
218 ens3:
219 networks:
220 - admin
221 ens4:
222 networks:
223 - private
224 ens5:
225 networks:
226 - tenant
227 ens6:
228 networks:
229 - external
230
231 - name: {{ HOSTNAME_CFG01 }}
232 role: salt_master
233 params:
234 vcpu: !os_env SLAVE_NODE_CPU, 2
235 memory: !os_env SLAVE_NODE_MEMORY, 8192
236 boot:
237 - hd
238 cloud_init_volume_name: iso
239 cloud_init_iface_up: ens3
240 volumes:
241 - name: system
242 capacity: !os_env NODE_VOLUME_SIZE, 150
243 backing_store: cfg01_day01_image
244 format: qcow2
245 - name: iso # Volume with name 'iso' will be used
246 # for store image with cloud-init metadata.
247 capacity: 1
248 format: raw
249 device: cdrom
250 bus: ide
251 cloudinit_meta_data: *cloudinit_meta_data
252 cloudinit_user_data: *cloudinit_user_data_cfg01
253
254 interfaces:
255 - label: ens3
256 l2_network_device: admin
257 interface_model: *interface_model
258 - label: ens4
259 l2_network_device: private
260 interface_model: *interface_model
261 network_config:
262 ens3:
263 networks:
264 - admin
265 ens4:
266 networks:
267 - private
268
269 - name: {{ HOSTNAME_CTL01 }}
270 role: salt_minion
271 params:
272 vcpu: !os_env SLAVE_NODE_CPU, 2
273 memory: !os_env SLAVE_NODE_MEMORY, 16384
274 boot:
275 - hd
276 cloud_init_volume_name: iso
277 cloud_init_iface_up: ens3
278 volumes:
279 - name: system
280 capacity: !os_env NODE_VOLUME_SIZE, 150
281 backing_store: mcp_ubuntu_1604_image
282 format: qcow2
283 - name: cinder
284 capacity: 50
285 format: qcow2
286 - name: iso # Volume with name 'iso' will be used
287 # for store image with cloud-init metadata.
288 capacity: 1
289 format: raw
290 device: cdrom
291 bus: ide
292 cloudinit_meta_data: *cloudinit_meta_data
293 cloudinit_user_data: *cloudinit_user_data_1604
294
295 interfaces: &interfaces
296 - label: ens3
297 l2_network_device: admin
298 interface_model: *interface_model
299 - label: ens4
300 l2_network_device: private
301 interface_model: *interface_model
302 network_config: &network_config
303 ens3:
304 networks:
305 - admin
306 ens4:
307 networks:
308 - private
309
310 - name: {{ HOSTNAME_CTL02 }}
311 role: salt_minion
312 params:
313 vcpu: !os_env SLAVE_NODE_CPU, 2
314 memory: !os_env SLAVE_NODE_MEMORY, 16384
315 boot:
316 - hd
317 cloud_init_volume_name: iso
318 cloud_init_iface_up: ens3
319 volumes:
320 - name: system
321 capacity: !os_env NODE_VOLUME_SIZE, 150
322 backing_store: mcp_ubuntu_1604_image
323 format: qcow2
324 - name: cinder
325 capacity: 50
326 format: qcow2
327 - name: iso # Volume with name 'iso' will be used
328 # for store image with cloud-init metadata.
329 capacity: 1
330 format: raw
331 device: cdrom
332 bus: ide
333 cloudinit_meta_data: *cloudinit_meta_data
334 cloudinit_user_data: *cloudinit_user_data_1604
335
336 interfaces: *interfaces
337 network_config: *network_config
338
339 - name: {{ HOSTNAME_CTL03 }}
340 role: salt_minion
341 params:
342 vcpu: !os_env SLAVE_NODE_CPU, 2
343 memory: !os_env SLAVE_NODE_MEMORY, 16384
344 boot:
345 - hd
346 cloud_init_volume_name: iso
347 cloud_init_iface_up: ens3
348 volumes:
349 - name: system
350 capacity: !os_env NODE_VOLUME_SIZE, 150
351 backing_store: mcp_ubuntu_1604_image
352 format: qcow2
353 - name: cinder
354 capacity: 50
355 format: qcow2
356 - name: iso # Volume with name 'iso' will be used
357 # for store image with cloud-init metadata.
358 capacity: 1
359 format: raw
360 device: cdrom
361 bus: ide
362 cloudinit_meta_data: *cloudinit_meta_data
363 cloudinit_user_data: *cloudinit_user_data_1604
364
365 interfaces: *interfaces
366 network_config: *network_config
367
368 - name: {{ HOSTNAME_MDB01 }}
369 role: salt_minion
370 params:
371 vcpu: !os_env SLAVE_NODE_CPU, 2
372 memory: !os_env SLAVE_NODE_MEMORY, 8192
373 boot:
374 - hd
375 cloud_init_volume_name: iso
376 cloud_init_iface_up: ens3
377 volumes:
378 - name: system
379 capacity: !os_env NODE_VOLUME_SIZE, 150
380 backing_store: mcp_ubuntu_1604_image
381 format: qcow2
382 - name: cinder
383 capacity: 50
384 format: qcow2
385 - name: iso # Volume with name 'iso' will be used
386 # for store image with cloud-init metadata.
387 capacity: 1
388 format: raw
389 device: cdrom
390 bus: ide
391 cloudinit_meta_data: *cloudinit_meta_data
392 cloudinit_user_data: *cloudinit_user_data_1604
393
394 interfaces: *interfaces
395 network_config: *network_config
396
397 - name: {{ HOSTNAME_MDB02 }}
398 role: salt_minion
399 params:
400 vcpu: !os_env SLAVE_NODE_CPU, 2
401 memory: !os_env SLAVE_NODE_MEMORY, 8192
402 boot:
403 - hd
404 cloud_init_volume_name: iso
405 cloud_init_iface_up: ens3
406 volumes:
407 - name: system
408 capacity: !os_env NODE_VOLUME_SIZE, 150
409 backing_store: mcp_ubuntu_1604_image
410 format: qcow2
411 - name: cinder
412 capacity: 50
413 format: qcow2
414 - name: iso # Volume with name 'iso' will be used
415 # for store image with cloud-init metadata.
416 capacity: 1
417 format: raw
418 device: cdrom
419 bus: ide
420 cloudinit_meta_data: *cloudinit_meta_data
421 cloudinit_user_data: *cloudinit_user_data_1604
422
423 interfaces: *interfaces
424 network_config: *network_config
425
426 - name: {{ HOSTNAME_MDB03 }}
427 role: salt_minion
428 params:
429 vcpu: !os_env SLAVE_NODE_CPU, 2
430 memory: !os_env SLAVE_NODE_MEMORY, 8192
431 boot:
432 - hd
433 cloud_init_volume_name: iso
434 cloud_init_iface_up: ens3
435 volumes:
436 - name: system
437 capacity: !os_env NODE_VOLUME_SIZE, 150
438 backing_store: mcp_ubuntu_1604_image
439 format: qcow2
440 - name: cinder
441 capacity: 50
442 format: qcow2
443 - name: iso # Volume with name 'iso' will be used
444 # for store image with cloud-init metadata.
445 capacity: 1
446 format: raw
447 device: cdrom
448 bus: ide
449 cloudinit_meta_data: *cloudinit_meta_data
450 cloudinit_user_data: *cloudinit_user_data_1604
451
452 interfaces: *interfaces
453 network_config: *network_config
454
455 - name: {{ HOSTNAME_PRX01 }}
456 role: salt_minion
457 params:
458 vcpu: !os_env SLAVE_NODE_CPU, 1
459 memory: !os_env SLAVE_NODE_MEMORY, 2048
460 boot:
461 - hd
462 cloud_init_volume_name: iso
463 cloud_init_iface_up: ens3
464 volumes:
465 - name: system
466 capacity: !os_env NODE_VOLUME_SIZE, 150
467 backing_store: mcp_ubuntu_1604_image
468 format: qcow2
469 - name: cinder
470 capacity: 50
471 format: qcow2
472 - name: iso # Volume with name 'iso' will be used
473 # for store image with cloud-init metadata.
474 capacity: 1
475 format: raw
476 device: cdrom
477 bus: ide
478 cloudinit_meta_data: *cloudinit_meta_data
479 cloudinit_user_data: *cloudinit_user_data_1604
480
481 interfaces: *interfaces
482 network_config: *network_config
483
484 - name: {{ HOSTNAME_CMP01 }}
485 role: salt_minion
486 params:
487 vcpu: !os_env SLAVE_NODE_CPU, 3
488 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300489 numa:
490 - cpus: 0,1,2
491 memory: 4096
Tatyana Leontovich50e62dd2018-03-28 20:59:52 +0300492 boot:
493 - hd
494 cloud_init_volume_name: iso
495 cloud_init_iface_up: ens3
496 volumes:
497 - name: system
498 capacity: !os_env NODE_VOLUME_SIZE, 150
499 backing_store: cloudimage1604
500 format: qcow2
501 - name: iso # Volume with name 'iso' will be used
502 # for store image with cloud-init metadata.
503 capacity: 1
504 format: raw
505 device: cdrom
506 bus: ide
507 cloudinit_meta_data: *cloudinit_meta_data
508 cloudinit_user_data: *cloudinit_user_data_1604
509
510
511 interfaces: &all_interfaces
512 - label: ens3
513 l2_network_device: admin
514 interface_model: *interface_model
515 - label: ens4
516 l2_network_device: private
517 interface_model: *interface_model
518 - label: ens5
519 l2_network_device: tenant
520 interface_model: *interface_model
521 - label: ens6
522 l2_network_device: external
523 interface_model: *interface_model
524 network_config: &all_network_config
525 ens3:
526 networks:
527 - admin
528 ens4:
529 networks:
530 - private
531 ens5:
532 networks:
533 - tenant
534 ens6:
535 networks:
536 - external
537
538 - name: {{ HOSTNAME_CMP02 }}
539 role: salt_minion
540 params:
541 vcpu: !os_env SLAVE_NODE_CPU, 3
542 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300543 numa:
544 - cpus: 0,1,2
545 memory: 4096
Tatyana Leontovich50e62dd2018-03-28 20:59:52 +0300546 boot:
547 - hd
548 cloud_init_volume_name: iso
549 cloud_init_iface_up: ens3
550 volumes:
551 - name: system
552 capacity: !os_env NODE_VOLUME_SIZE, 150
553 backing_store: cloudimage1604
554 format: qcow2
555 - name: iso # Volume with name 'iso' will be used
556 # for store image with cloud-init metadata.
557 capacity: 1
558 format: raw
559 device: cdrom
560 bus: ide
561 cloudinit_meta_data: *cloudinit_meta_data
562 cloudinit_user_data: *cloudinit_user_data_1604
563
564 interfaces: *all_interfaces
565 network_config: *all_network_config
566
567 - name: {{ HOSTNAME_GTW01 }}
568 role: salt_minion
569 params:
570 vcpu: !os_env SLAVE_NODE_CPU, 4
571 memory: !os_env SLAVE_NODE_MEMORY, 4096
572 boot:
573 - hd
574 cloud_init_volume_name: iso
575 cloud_init_iface_up: ens3
576 volumes:
577 - name: system
578 capacity: !os_env NODE_VOLUME_SIZE, 150
579 backing_store: cloudimage1604
580 format: qcow2
581 - name: iso # Volume with name 'iso' will be used
582 # for store image with cloud-init metadata.
583 capacity: 1
584 format: raw
585 device: cdrom
586 bus: ide
587 cloudinit_meta_data: *cloudinit_meta_data
588 cloudinit_user_data: *cloudinit_user_data_1604
589
590 interfaces: *all_interfaces
591 network_config: *all_network_config
592
593 - name: {{ HOSTNAME_SHARE01 }}
594 role: salt_minion
595 params:
596 vcpu: !os_env SLAVE_NODE_CPU, 2
597 memory: !os_env SLAVE_NODE_MEMORY, 4096
598 boot:
599 - hd
600 cloud_init_volume_name: iso
601 cloud_init_iface_up: ens3
602 volumes:
603 - name: system
604 capacity: !os_env NODE_VOLUME_SIZE, 150
605 backing_store: mcp_ubuntu_1604_image
606 format: qcow2
607 - name: iso # Volume with name 'iso' will be used
608 # for store image with cloud-init metadata.
609 capacity: 1
610 format: raw
611 device: cdrom
612 bus: ide
613 cloudinit_meta_data: *cloudinit_meta_data
614 cloudinit_user_data: *cloudinit_user_data_1604
615
616 interfaces: *all_interfaces
617 network_config: *all_network_config