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