blob: b066287b96bc430106e4f88b6c31f1448bfa83b5 [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
Dennis Dmitrieva5978eb2018-02-21 10:12:33 +0200130 forward:
131 mode: route
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300132
133 admin:
134 address_pool: admin-pool01
135 dhcp: true
136
137 tenant:
138 address_pool: tenant-pool01
139 dhcp: true
140
141 external:
142 address_pool: external-pool01
143 dhcp: true
144 forward:
145 mode: nat
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200146
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300147 group_volumes:
148 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200149 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
150 format: qcow2
151 - name: cfg01_day01_image # Pre-configured day01 image
152 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 +0300153 format: qcow2
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200154 - name: mcp_ubuntu_1604_image # Pre-configured image for VCP nodes initially based on kvm nodes.
155 # http://images.mirantis.com/ubuntu-16-04-x64-latest.qcow2 (preffered)
156 # or
157 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
158 source_image: {{ os_env('MCP_IMAGE_PATH1604', os_env('IMAGE_PATH1604')) }}
159 format: qcow2
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300160
161 nodes:
162 - name: {{ HOSTNAME_APT01 }}
163 role: salt_minion
164 params:
165 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrievb1822792017-10-24 18:22:23 +0300166 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300167 boot:
168 - hd
169 cloud_init_volume_name: iso
170 cloud_init_iface_up: ens3
171 volumes:
172 - name: system
173 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrieve02eecf2018-01-29 15:43:39 +0200174 backing_store: cloudimage1604
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300175 format: qcow2
176 - name: iso # Volume with name 'iso' will be used
177 # for store image with cloud-init metadata.
178 capacity: 1
179 format: raw
180 device: cdrom
181 bus: ide
182 cloudinit_meta_data: *cloudinit_meta_data
183 cloudinit_user_data: *cloudinit_user_data_apt01
184
185 interfaces:
186 - label: ens3
187 l2_network_device: admin
188 interface_model: *interface_model
189 - label: ens4
190 l2_network_device: private
191 interface_model: *interface_model
192 - label: ens5
193 l2_network_device: tenant
194 interface_model: *interface_model
195 - label: ens6
196 l2_network_device: external
197 interface_model: *interface_model
198 network_config:
199 ens3:
200 networks:
201 - admin
202 ens4:
203 networks:
204 - private
205 ens5:
206 networks:
207 - tenant
208 ens6:
209 networks:
210 - external
211
212 - name: {{ HOSTNAME_CFG01 }}
213 role: salt_master
214 params:
215 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev4a43e9a2017-11-10 13:08:40 +0200216 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300217 boot:
218 - hd
219 cloud_init_volume_name: iso
220 cloud_init_iface_up: ens3
221 volumes:
222 - name: system
223 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrieve02eecf2018-01-29 15:43:39 +0200224 backing_store: cfg01_day01_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300225 format: qcow2
226 - name: iso # Volume with name 'iso' will be used
227 # for store image with cloud-init metadata.
228 capacity: 1
229 format: raw
230 device: cdrom
231 bus: ide
232 cloudinit_meta_data: *cloudinit_meta_data
233 cloudinit_user_data: *cloudinit_user_data_cfg01
234
235 interfaces:
236 - label: ens3
237 l2_network_device: admin
238 interface_model: *interface_model
239 - label: ens4
240 l2_network_device: private
241 interface_model: *interface_model
242 network_config:
243 ens3:
244 networks:
245 - admin
246 ens4:
247 networks:
248 - private
249
250 - name: {{ HOSTNAME_CTL01 }}
251 role: salt_minion
252 params:
253 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200254 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300255 boot:
256 - hd
257 cloud_init_volume_name: iso
258 cloud_init_iface_up: ens3
259 volumes:
260 - name: system
261 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200262 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300263 format: qcow2
264 - name: cinder
265 capacity: 50
266 format: qcow2
267 - name: iso # Volume with name 'iso' will be used
268 # for store image with cloud-init metadata.
269 capacity: 1
270 format: raw
271 device: cdrom
272 bus: ide
273 cloudinit_meta_data: *cloudinit_meta_data
274 cloudinit_user_data: *cloudinit_user_data_1604
275
276 interfaces: &interfaces
277 - label: ens3
278 l2_network_device: admin
279 interface_model: *interface_model
280 - label: ens4
281 l2_network_device: private
282 interface_model: *interface_model
283 network_config: &network_config
284 ens3:
285 networks:
286 - admin
287 ens4:
288 networks:
289 - private
290
291 - name: {{ HOSTNAME_CTL02 }}
292 role: salt_minion
293 params:
294 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200295 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300296 boot:
297 - hd
298 cloud_init_volume_name: iso
299 cloud_init_iface_up: ens3
300 volumes:
301 - name: system
302 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200303 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300304 format: qcow2
305 - name: cinder
306 capacity: 50
307 format: qcow2
308 - name: iso # Volume with name 'iso' will be used
309 # for store image with cloud-init metadata.
310 capacity: 1
311 format: raw
312 device: cdrom
313 bus: ide
314 cloudinit_meta_data: *cloudinit_meta_data
315 cloudinit_user_data: *cloudinit_user_data_1604
316
317 interfaces: *interfaces
318 network_config: *network_config
319
320 - name: {{ HOSTNAME_CTL03 }}
321 role: salt_minion
322 params:
323 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200324 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300325 boot:
326 - hd
327 cloud_init_volume_name: iso
328 cloud_init_iface_up: ens3
329 volumes:
330 - name: system
331 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200332 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300333 format: qcow2
334 - name: cinder
335 capacity: 50
336 format: qcow2
337 - name: iso # Volume with name 'iso' will be used
338 # for store image with cloud-init metadata.
339 capacity: 1
340 format: raw
341 device: cdrom
342 bus: ide
343 cloudinit_meta_data: *cloudinit_meta_data
344 cloudinit_user_data: *cloudinit_user_data_1604
345
346 interfaces: *interfaces
347 network_config: *network_config
348
349 - name: {{ HOSTNAME_MON01 }}
350 role: salt_minion
351 params:
352 vcpu: !os_env SLAVE_NODE_CPU, 3
353 memory: !os_env SLAVE_NODE_MEMORY, 2048
354 boot:
355 - hd
356 cloud_init_volume_name: iso
357 cloud_init_iface_up: ens3
358 volumes:
359 - name: system
360 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200361 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300362 format: qcow2
363 - name: iso # Volume with name 'iso' will be used
364 # for store image with cloud-init metadata.
365 capacity: 1
366 format: raw
367 device: cdrom
368 bus: ide
369 cloudinit_meta_data: !include underlay--meta-data.yaml
370 cloudinit_user_data: !include underlay--user-data1604.yaml
371
372 interfaces: *interfaces
373 network_config: *network_config
374
375 - name: {{ HOSTNAME_MON02 }}
376 role: salt_minion
377 params:
378 vcpu: !os_env SLAVE_NODE_CPU, 3
379 memory: !os_env SLAVE_NODE_MEMORY, 2048
380 boot:
381 - hd
382 cloud_init_volume_name: iso
383 cloud_init_iface_up: ens3
384 volumes:
385 - name: system
386 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200387 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300388 format: qcow2
389 - name: iso # Volume with name 'iso' will be used
390 # for store image with cloud-init metadata.
391 capacity: 1
392 format: raw
393 device: cdrom
394 bus: ide
395 cloudinit_meta_data: !include underlay--meta-data.yaml
396 cloudinit_user_data: !include underlay--user-data1604.yaml
397
398 interfaces: *interfaces
399 network_config: *network_config
400
401 - name: {{ HOSTNAME_MON03 }}
402 role: salt_minion
403 params:
404 vcpu: !os_env SLAVE_NODE_CPU, 3
405 memory: !os_env SLAVE_NODE_MEMORY, 2048
406 boot:
407 - hd
408 cloud_init_volume_name: iso
409 cloud_init_iface_up: ens3
410 volumes:
411 - name: system
412 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200413 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300414 format: qcow2
415 - name: iso # Volume with name 'iso' will be used
416 # for store image with cloud-init metadata.
417 capacity: 1
418 format: raw
419 device: cdrom
420 bus: ide
421 cloudinit_meta_data: !include underlay--meta-data.yaml
422 cloudinit_user_data: !include underlay--user-data1604.yaml
423
424 interfaces: *interfaces
425 network_config: *network_config
426
427 - name: {{ HOSTNAME_PRX01 }}
428 role: salt_minion
429 params:
430 vcpu: !os_env SLAVE_NODE_CPU, 1
431 memory: !os_env SLAVE_NODE_MEMORY, 8192
432 boot:
433 - hd
434 cloud_init_volume_name: iso
435 cloud_init_iface_up: ens3
436 volumes:
437 - name: system
438 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitriev6f71cfd2018-01-31 14:17:28 +0200439 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300440 format: qcow2
441 - name: cinder
442 capacity: 50
443 format: qcow2
444 - name: iso # Volume with name 'iso' will be used
445 # for store image with cloud-init metadata.
446 capacity: 1
447 format: raw
448 device: cdrom
449 bus: ide
450 cloudinit_meta_data: *cloudinit_meta_data
451 cloudinit_user_data: *cloudinit_user_data_1604
452
453 interfaces: *interfaces
454 network_config: *network_config
455
456
457 - name: {{ HOSTNAME_CMP01 }}
458 role: salt_minion
459 params:
460 vcpu: !os_env SLAVE_NODE_CPU, 3
461 memory: !os_env SLAVE_NODE_MEMORY, 4096
462 boot:
463 - hd
464 cloud_init_volume_name: iso
465 cloud_init_iface_up: ens3
466 volumes:
467 - name: system
468 capacity: !os_env NODE_VOLUME_SIZE, 150
469 backing_store: cloudimage1604
470 format: qcow2
471 - name: iso # Volume with name 'iso' will be used
472 # for store image with cloud-init metadata.
473 capacity: 1
474 format: raw
475 device: cdrom
476 bus: ide
477 cloudinit_meta_data: *cloudinit_meta_data
478 cloudinit_user_data: *cloudinit_user_data_1604
479
480
481 interfaces: &all_interfaces
482 - label: ens3
483 l2_network_device: admin
484 interface_model: *interface_model
485 - label: ens4
486 l2_network_device: private
487 interface_model: *interface_model
488 - label: ens5
489 l2_network_device: tenant
490 interface_model: *interface_model
491 - label: ens6
492 l2_network_device: external
493 interface_model: *interface_model
494 network_config: &all_network_config
495 ens3:
496 networks:
497 - admin
498 ens4:
499 networks:
500 - private
501 ens5:
502 networks:
503 - tenant
504
505 - name: {{ HOSTNAME_CMP02 }}
506 role: salt_minion
507 params:
508 vcpu: !os_env SLAVE_NODE_CPU, 3
509 memory: !os_env SLAVE_NODE_MEMORY, 4096
510 boot:
511 - hd
512 cloud_init_volume_name: iso
513 cloud_init_iface_up: ens3
514 volumes:
515 - name: system
516 capacity: !os_env NODE_VOLUME_SIZE, 150
517 backing_store: cloudimage1604
518 format: qcow2
519 - name: iso # Volume with name 'iso' will be used
520 # for store image with cloud-init metadata.
521 capacity: 1
522 format: raw
523 device: cdrom
524 bus: ide
525 cloudinit_meta_data: *cloudinit_meta_data
526 cloudinit_user_data: *cloudinit_user_data_1604
527
528 interfaces: *all_interfaces
529 network_config: *all_network_config
530
531 - name: {{ HOSTNAME_GTW01 }}
532 role: salt_minion
533 params:
534 vcpu: !os_env SLAVE_NODE_CPU, 1
535 memory: !os_env SLAVE_NODE_MEMORY, 2048
536 boot:
537 - hd
538 cloud_init_volume_name: iso
539 cloud_init_iface_up: ens3
540 volumes:
541 - name: system
542 capacity: !os_env NODE_VOLUME_SIZE, 150
543 backing_store: cloudimage1604
544 format: qcow2
545 - name: iso # Volume with name 'iso' will be used
546 # for store image with cloud-init metadata.
547 capacity: 1
548 format: raw
549 device: cdrom
550 bus: ide
551 cloudinit_meta_data: *cloudinit_meta_data
552 cloudinit_user_data: *cloudinit_user_data_1604
553
554 interfaces: *all_interfaces
555 network_config: *all_network_config