blob: ba4afdd110e2e6e6eba0849509cecb28f53e01b2 [file] [log] [blame]
Tatyana Leontovichecd491d2017-09-13 13:51:12 +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 'mcp-ocata-local-repo-dvr/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'mcp-ocata-local-repo-dvr/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'mcp-ocata-local-repo-dvr/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7{% import 'mcp-ocata-local-repo-dvr/underlay--user-data-apt01.yaml' as CLOUDINIT_USER_DATA_APT01 with context %}
8
9
10---
11aliases:
12 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
13 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
14 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
15 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
16 - &cloudinit_user_data_apt01 {{ CLOUDINIT_USER_DATA_APT01 }}
17
Dennis Dmitriev3fbbc7f2017-12-21 15:42:14 +020018{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'mcp-ocata-local-repo-dvr') %}
19{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
Tatyana Leontovichecd491d2017-09-13 13:51:12 +030020{% set HOSTNAME_APT01 = os_env('HOSTNAME_APT01', 'apt01.' + DOMAIN_NAME) %}
21{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
22{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
23{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
24{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
25{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
26{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
27{% set HOSTNAME_MON01 = os_env('HOSTNAME_MON01', 'mon01.' + DOMAIN_NAME) %}
28{% set HOSTNAME_MON02 = os_env('HOSTNAME_MON02', 'mon02.' + DOMAIN_NAME) %}
29{% set HOSTNAME_MON03 = os_env('HOSTNAME_MON03', 'mon03.' + DOMAIN_NAME) %}
30{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
31{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
32
33template:
34 devops_settings:
35 env_name: {{ os_env('ENV_NAME', 'mcp-ocata-local-repo-dvr_' + 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_MON01 }}: +107
51 default_{{ HOSTNAME_MON02 }}: +108
52 default_{{ HOSTNAME_MON03 }}: +109
53 default_{{ HOSTNAME_GTW01 }}: +110
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: +122
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_MON01 }}: +107
72 default_{{ HOSTNAME_MON02 }}: +108
73 default_{{ HOSTNAME_MON03 }}: +109
74 default_{{ HOSTNAME_GTW01 }}: +110
75 default_{{ HOSTNAME_PRX01 }}: +121
76 ip_ranges:
77 dhcp: [+90, -10]
78
79 tenant-pool01:
80 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
81 params:
82 ip_reserved:
83 l2_network_device: +1
84 default_{{ HOSTNAME_APT01 }}: +122
85 default_{{ HOSTNAME_CFG01 }}: +100
86 default_{{ HOSTNAME_CTL01 }}: +101
87 default_{{ HOSTNAME_CTL02 }}: +102
88 default_{{ HOSTNAME_CTL03 }}: +103
89 default_{{ HOSTNAME_CMP01 }}: +105
90 default_{{ HOSTNAME_CMP02 }}: +106
91 default_{{ HOSTNAME_MON01 }}: +107
92 default_{{ HOSTNAME_MON02 }}: +108
93 default_{{ HOSTNAME_MON03 }}: +109
94 default_{{ HOSTNAME_GTW01 }}: +110
95 default_{{ HOSTNAME_PRX01 }}: +121
96 ip_ranges:
97 dhcp: [+10, -10]
98 external-pool01:
99 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
100 params:
101 ip_reserved:
102 l2_network_device: +1
103 default_{{ HOSTNAME_APT01 }}: +122
104 ip_ranges:
105 dhcp: [+90, -10]
106
107 groups:
108 - name: default
109 driver:
110 name: devops.driver.libvirt
111 params:
112 connection_string: !os_env CONNECTION_STRING, qemu:///system
113 storage_pool_name: !os_env STORAGE_POOL_NAME, default
114 stp: False
115 hpet: False
116 enable_acpi: true
117 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
118 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
119
120 network_pools:
121 admin: admin-pool01
122 private: private-pool01
123 tenant: tenant-pool01
124 external: external-pool01
125
126 l2_network_devices:
127 private:
128 address_pool: private-pool01
129 dhcp: true
130
131 admin:
132 address_pool: admin-pool01
133 dhcp: true
134
135 tenant:
136 address_pool: tenant-pool01
137 dhcp: true
138
139 external:
140 address_pool: external-pool01
141 dhcp: true
142 forward:
143 mode: nat
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200144
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300145 group_volumes:
146 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200147 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
148 format: qcow2
149 - name: cfg01_day01_image # Pre-configured day01 image
150 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300151 format: qcow2
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200152 - name: mcp_ubuntu_1604_image # Pre-configured image for VCP nodes initially based on kvm nodes.
153 # http://images.mirantis.com/ubuntu-16-04-x64-latest.qcow2 (preffered)
154 # or
155 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
156 source_image: {{ os_env('MCP_IMAGE_PATH1604', os_env('IMAGE_PATH1604')) }}
157 format: qcow2
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300158
159 nodes:
160 - name: {{ HOSTNAME_APT01 }}
161 role: salt_minion
162 params:
163 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrievb1822792017-10-24 18:22:23 +0300164 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300165 boot:
166 - hd
167 cloud_init_volume_name: iso
168 cloud_init_iface_up: ens3
169 volumes:
170 - name: system
171 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrieve02eecf2018-01-29 15:43:39 +0200172 backing_store: cloudimage1604
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300173 format: qcow2
174 - name: iso # Volume with name 'iso' will be used
175 # for store image with cloud-init metadata.
176 capacity: 1
177 format: raw
178 device: cdrom
179 bus: ide
180 cloudinit_meta_data: *cloudinit_meta_data
181 cloudinit_user_data: *cloudinit_user_data_apt01
182
183 interfaces:
184 - label: ens3
185 l2_network_device: admin
186 interface_model: *interface_model
187 - label: ens4
188 l2_network_device: private
189 interface_model: *interface_model
190 - label: ens5
191 l2_network_device: tenant
192 interface_model: *interface_model
193 - label: ens6
194 l2_network_device: external
195 interface_model: *interface_model
196 network_config:
197 ens3:
198 networks:
199 - admin
200 ens4:
201 networks:
202 - private
203 ens5:
204 networks:
205 - tenant
206 ens6:
207 networks:
208 - external
209
210 - name: {{ HOSTNAME_CFG01 }}
211 role: salt_master
212 params:
213 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev4a43e9a2017-11-10 13:08:40 +0200214 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300215 boot:
216 - hd
217 cloud_init_volume_name: iso
218 cloud_init_iface_up: ens3
219 volumes:
220 - name: system
221 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrieve02eecf2018-01-29 15:43:39 +0200222 backing_store: cfg01_day01_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300223 format: qcow2
224 - name: iso # Volume with name 'iso' will be used
225 # for store image with cloud-init metadata.
226 capacity: 1
227 format: raw
228 device: cdrom
229 bus: ide
230 cloudinit_meta_data: *cloudinit_meta_data
231 cloudinit_user_data: *cloudinit_user_data_cfg01
232
233 interfaces:
234 - label: ens3
235 l2_network_device: admin
236 interface_model: *interface_model
237 - label: ens4
238 l2_network_device: private
239 interface_model: *interface_model
240 network_config:
241 ens3:
242 networks:
243 - admin
244 ens4:
245 networks:
246 - private
247
248 - name: {{ HOSTNAME_CTL01 }}
249 role: salt_minion
250 params:
251 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200252 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300253 boot:
254 - hd
255 cloud_init_volume_name: iso
256 cloud_init_iface_up: ens3
257 volumes:
258 - name: system
259 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200260 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300261 format: qcow2
262 - name: cinder
263 capacity: 50
264 format: qcow2
265 - name: iso # Volume with name 'iso' will be used
266 # for store image with cloud-init metadata.
267 capacity: 1
268 format: raw
269 device: cdrom
270 bus: ide
271 cloudinit_meta_data: *cloudinit_meta_data
272 cloudinit_user_data: *cloudinit_user_data_1604
273
274 interfaces: &interfaces
275 - label: ens3
276 l2_network_device: admin
277 interface_model: *interface_model
278 - label: ens4
279 l2_network_device: private
280 interface_model: *interface_model
281 network_config: &network_config
282 ens3:
283 networks:
284 - admin
285 ens4:
286 networks:
287 - private
288
289 - name: {{ HOSTNAME_CTL02 }}
290 role: salt_minion
291 params:
292 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200293 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300294 boot:
295 - hd
296 cloud_init_volume_name: iso
297 cloud_init_iface_up: ens3
298 volumes:
299 - name: system
300 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200301 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300302 format: qcow2
303 - name: cinder
304 capacity: 50
305 format: qcow2
306 - name: iso # Volume with name 'iso' will be used
307 # for store image with cloud-init metadata.
308 capacity: 1
309 format: raw
310 device: cdrom
311 bus: ide
312 cloudinit_meta_data: *cloudinit_meta_data
313 cloudinit_user_data: *cloudinit_user_data_1604
314
315 interfaces: *interfaces
316 network_config: *network_config
317
318 - name: {{ HOSTNAME_CTL03 }}
319 role: salt_minion
320 params:
321 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200322 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300323 boot:
324 - hd
325 cloud_init_volume_name: iso
326 cloud_init_iface_up: ens3
327 volumes:
328 - name: system
329 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200330 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300331 format: qcow2
332 - name: cinder
333 capacity: 50
334 format: qcow2
335 - name: iso # Volume with name 'iso' will be used
336 # for store image with cloud-init metadata.
337 capacity: 1
338 format: raw
339 device: cdrom
340 bus: ide
341 cloudinit_meta_data: *cloudinit_meta_data
342 cloudinit_user_data: *cloudinit_user_data_1604
343
344 interfaces: *interfaces
345 network_config: *network_config
346
347 - name: {{ HOSTNAME_MON01 }}
348 role: salt_minion
349 params:
350 vcpu: !os_env SLAVE_NODE_CPU, 3
351 memory: !os_env SLAVE_NODE_MEMORY, 2048
352 boot:
353 - hd
354 cloud_init_volume_name: iso
355 cloud_init_iface_up: ens3
356 volumes:
357 - name: system
358 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200359 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300360 format: qcow2
361 - name: iso # Volume with name 'iso' will be used
362 # for store image with cloud-init metadata.
363 capacity: 1
364 format: raw
365 device: cdrom
366 bus: ide
367 cloudinit_meta_data: !include underlay--meta-data.yaml
368 cloudinit_user_data: !include underlay--user-data1604.yaml
369
370 interfaces: *interfaces
371 network_config: *network_config
372
373 - name: {{ HOSTNAME_MON02 }}
374 role: salt_minion
375 params:
376 vcpu: !os_env SLAVE_NODE_CPU, 3
377 memory: !os_env SLAVE_NODE_MEMORY, 2048
378 boot:
379 - hd
380 cloud_init_volume_name: iso
381 cloud_init_iface_up: ens3
382 volumes:
383 - name: system
384 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200385 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300386 format: qcow2
387 - name: iso # Volume with name 'iso' will be used
388 # for store image with cloud-init metadata.
389 capacity: 1
390 format: raw
391 device: cdrom
392 bus: ide
393 cloudinit_meta_data: !include underlay--meta-data.yaml
394 cloudinit_user_data: !include underlay--user-data1604.yaml
395
396 interfaces: *interfaces
397 network_config: *network_config
398
399 - name: {{ HOSTNAME_MON03 }}
400 role: salt_minion
401 params:
402 vcpu: !os_env SLAVE_NODE_CPU, 3
403 memory: !os_env SLAVE_NODE_MEMORY, 2048
404 boot:
405 - hd
406 cloud_init_volume_name: iso
407 cloud_init_iface_up: ens3
408 volumes:
409 - name: system
410 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200411 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300412 format: qcow2
413 - name: iso # Volume with name 'iso' will be used
414 # for store image with cloud-init metadata.
415 capacity: 1
416 format: raw
417 device: cdrom
418 bus: ide
419 cloudinit_meta_data: !include underlay--meta-data.yaml
420 cloudinit_user_data: !include underlay--user-data1604.yaml
421
422 interfaces: *interfaces
423 network_config: *network_config
424
425 - name: {{ HOSTNAME_PRX01 }}
426 role: salt_minion
427 params:
428 vcpu: !os_env SLAVE_NODE_CPU, 1
429 memory: !os_env SLAVE_NODE_MEMORY, 8192
430 boot:
431 - hd
432 cloud_init_volume_name: iso
433 cloud_init_iface_up: ens3
434 volumes:
435 - name: system
436 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200437 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300438 format: qcow2
439 - name: cinder
440 capacity: 50
441 format: qcow2
442 - name: iso # Volume with name 'iso' will be used
443 # for store image with cloud-init metadata.
444 capacity: 1
445 format: raw
446 device: cdrom
447 bus: ide
448 cloudinit_meta_data: *cloudinit_meta_data
449 cloudinit_user_data: *cloudinit_user_data_1604
450
451 interfaces: *interfaces
452 network_config: *network_config
453
454
455 - name: {{ HOSTNAME_CMP01 }}
456 role: salt_minion
457 params:
458 vcpu: !os_env SLAVE_NODE_CPU, 3
459 memory: !os_env SLAVE_NODE_MEMORY, 4096
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: cloudimage1604
468 format: qcow2
469 - name: iso # Volume with name 'iso' will be used
470 # for store image with cloud-init metadata.
471 capacity: 1
472 format: raw
473 device: cdrom
474 bus: ide
475 cloudinit_meta_data: *cloudinit_meta_data
476 cloudinit_user_data: *cloudinit_user_data_1604
477
478
479 interfaces: &all_interfaces
480 - label: ens3
481 l2_network_device: admin
482 interface_model: *interface_model
483 - label: ens4
484 l2_network_device: private
485 interface_model: *interface_model
486 - label: ens5
487 l2_network_device: tenant
488 interface_model: *interface_model
489 - label: ens6
490 l2_network_device: external
491 interface_model: *interface_model
492 network_config: &all_network_config
493 ens3:
494 networks:
495 - admin
496 ens4:
497 networks:
498 - private
499 ens5:
500 networks:
501 - tenant
502
503 - name: {{ HOSTNAME_CMP02 }}
504 role: salt_minion
505 params:
506 vcpu: !os_env SLAVE_NODE_CPU, 3
507 memory: !os_env SLAVE_NODE_MEMORY, 4096
508 boot:
509 - hd
510 cloud_init_volume_name: iso
511 cloud_init_iface_up: ens3
512 volumes:
513 - name: system
514 capacity: !os_env NODE_VOLUME_SIZE, 150
515 backing_store: cloudimage1604
516 format: qcow2
517 - name: iso # Volume with name 'iso' will be used
518 # for store image with cloud-init metadata.
519 capacity: 1
520 format: raw
521 device: cdrom
522 bus: ide
523 cloudinit_meta_data: *cloudinit_meta_data
524 cloudinit_user_data: *cloudinit_user_data_1604
525
526 interfaces: *all_interfaces
527 network_config: *all_network_config
528
529 - name: {{ HOSTNAME_GTW01 }}
530 role: salt_minion
531 params:
532 vcpu: !os_env SLAVE_NODE_CPU, 1
533 memory: !os_env SLAVE_NODE_MEMORY, 2048
534 boot:
535 - hd
536 cloud_init_volume_name: iso
537 cloud_init_iface_up: ens3
538 volumes:
539 - name: system
540 capacity: !os_env NODE_VOLUME_SIZE, 150
541 backing_store: cloudimage1604
542 format: qcow2
543 - name: iso # Volume with name 'iso' will be used
544 # for store image with cloud-init metadata.
545 capacity: 1
546 format: raw
547 device: cdrom
548 bus: ide
549 cloudinit_meta_data: *cloudinit_meta_data
550 cloudinit_user_data: *cloudinit_user_data_1604
551
552 interfaces: *all_interfaces
553 network_config: *all_network_config