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