blob: d5f779326c3ca5e4276836853c2a84d352a90043 [file] [log] [blame]
Dennis Dmitriev26b94a22018-07-19 16:12:22 +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{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'cookied-cicd-k8s-genie') %}
5{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
6{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01') %}
7{% set HOSTNAME_CID01 = os_env('HOSTNAME_CID01', 'cid01') %}
8{% set HOSTNAME_CID02 = os_env('HOSTNAME_CID02', 'cid02') %}
9{% set HOSTNAME_CID03 = os_env('HOSTNAME_CID03', 'cid03') %}
10
11{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01') %}
12{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02') %}
13{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03') %}
14{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp001') %}
15{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp002') %}
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +030016{% set HOSTNAME_CMP03 = os_env('HOSTNAME_CMP03', 'cmp003') %}
17{% set HOSTNAME_CMP04 = os_env('HOSTNAME_CMP04', 'cmp004') %}
Dennis Dmitriev26b94a22018-07-19 16:12:22 +030018{% set HOSTNAME_KVM01 = os_env('HOSTNAME_KVM01', 'kvm01') %}
19{% set HOSTNAME_KVM02 = os_env('HOSTNAME_KVM02', 'kvm02') %}
20{% set HOSTNAME_KVM03 = os_env('HOSTNAME_KVM03', 'kvm03') %}
21
22{% import 'cookied-cicd-k8s-genie/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
Dennis Dmitriev26b94a22018-07-19 16:12:22 +030023{% import 'cookied-cicd-k8s-genie/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
24{% import 'cookied-cicd-k8s-genie/underlay--user-data1604-swp.yaml' as CLOUDINIT_USER_DATA_1604_SWP with context %}
25
26---
27aliases:
28 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
29 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
Dennis Dmitriev26b94a22018-07-19 16:12:22 +030030 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
31 - &cloudinit_user_data_1604_swp {{ CLOUDINIT_USER_DATA_1604_SWP }}
32
33template:
34 devops_settings:
35 env_name: {{ os_env('ENV_NAME', LAB_CONFIG_NAME + '_' + 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 gateway: +1
43 l2_network_device: +1
44 default_{{ HOSTNAME_CFG01 }}: +15
45
46 default_{{ HOSTNAME_CID }}: +90
47 default_{{ HOSTNAME_CID01 }}: +91
48 default_{{ HOSTNAME_CID02 }}: +92
49 default_{{ HOSTNAME_CID03 }}: +93
50
51 ip_ranges:
52 dhcp: [+90, -10]
53
54 admin-pool01:
55 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
56 params:
57 ip_reserved:
58 gateway: +1
59 l2_network_device: +1
60 default_{{ HOSTNAME_CFG01 }}: +15
61
62 default_{{ HOSTNAME_CID }}: +90
63 default_{{ HOSTNAME_CID01 }}: +91
64 default_{{ HOSTNAME_CID02 }}: +92
65 default_{{ HOSTNAME_CID03 }}: +93
66
67 default_{{ HOSTNAME_CTL }}: +10
68 default_{{ HOSTNAME_CTL01 }}: +11
69 default_{{ HOSTNAME_CTL02 }}: +12
70 default_{{ HOSTNAME_CTL03 }}: +13
71 default_{{ HOSTNAME_CMP01 }}: +101
72 default_{{ HOSTNAME_CMP02 }}: +102
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +030073 default_{{ HOSTNAME_CMP03 }}: +103
74 default_{{ HOSTNAME_CMP04 }}: +104
Dennis Dmitriev26b94a22018-07-19 16:12:22 +030075 default_{{ HOSTNAME_KVM }}: +240
76 default_{{ HOSTNAME_KVM01 }}: +241
77 default_{{ HOSTNAME_KVM02 }}: +242
78 default_{{ HOSTNAME_KVM03 }}: +243
79
80 ip_ranges:
81 dhcp: [+90, -10]
82
83 tenant-pool01:
84 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
85 params:
86 ip_reserved:
87 gateway: +1
88 l2_network_device: +1
89 default_{{ HOSTNAME_CFG01 }}: +15
90
91 default_{{ HOSTNAME_CID }}: +90
92 default_{{ HOSTNAME_CID01 }}: +91
93 default_{{ HOSTNAME_CID02 }}: +92
94 default_{{ HOSTNAME_CID03 }}: +93
95
96 ip_ranges:
97 dhcp: [+10, -10]
98
99 external-pool01:
100 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
101 params:
102 ip_reserved:
103 gateway: +1
104 l2_network_device: +1
105 default_{{ HOSTNAME_CFG01 }}: +15
106
107 default_{{ HOSTNAME_CID }}: +90
108 default_{{ HOSTNAME_CID01 }}: +91
109 default_{{ HOSTNAME_CID02 }}: +92
110 default_{{ HOSTNAME_CID03 }}: +93
111
112 ip_ranges:
113 dhcp: [+10, -10]
114
115
116 groups:
117 - name: default
118 driver:
119 name: devops.driver.libvirt
120 params:
121 connection_string: {{ os_env('CONNECTION_STRING', 'qemu:///system') }}
122 storage_pool_name: {{ os_env('STORAGE_POOL_NAME', 'default') }}
123 stp: False
124 hpet: False
125 enable_acpi: true
126 use_host_cpu: {{ os_env('DRIVER_USE_HOST_CPU', true) }}
127 use_hugepages: {{ os_env('DRIVER_USE_HUGEPAGES', false) }}
128
129 network_pools:
130 admin: admin-pool01
131 private: private-pool01
132 tenant: tenant-pool01
133 external: external-pool01
134
135 l2_network_devices:
136 admin:
137 address_pool: admin-pool01
138 dhcp: true
139 forward:
140 mode: nat
141
142 private:
143 address_pool: private-pool01
144 dhcp: false
145 forward:
146 mode: route
147
148 external:
149 address_pool: external-pool01
150 dhcp: false
151 forward:
152 mode: nat
153
154
155 group_volumes:
156 - name: cfg01_day01_image # Pre-configured day01 image
157 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01') }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
158 format: qcow2
159 - name: mcp_ubuntu_1604_image # Pre-configured image for VCP nodes initially based on kvm nodes.
160 # http://images.mirantis.com/ubuntu-16-04-x64-latest.qcow2 (preffered)
161 # or
162 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
163 source_image: {{ os_env('MCP_IMAGE_PATH1604') }}
164 format: qcow2
165
166 nodes:
167 - name: {{ HOSTNAME_CFG01 }}
168 role: salt_master
169 params:
170 vcpu: {{ os_env('CFG_NODE_CPU', 3) }}
171 memory: {{ os_env('CFG_NODE_MEMORY', 8192) }}
172 boot:
173 - hd
174 cloud_init_volume_name: iso
175 cloud_init_iface_up: ens3
176 volumes:
177 - name: system
178 capacity: {{ os_env('CFG_NODE_VOLUME_SIZE', 150) }}
179 backing_store: cfg01_day01_image
180 format: qcow2
181 - name: config
182 capacity: 1
183 format: raw
184 device: cdrom
185 bus: ide
186 # source_image: !os_env CFG01_CONFIG_PATH # no source image required.
187 # it will be uploaded after config drive generation
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300188 interfaces:
189 - label: ens3
190 l2_network_device: admin
191 interface_model: *interface_model
192 - label: ens4
193 l2_network_device: private
194 interface_model: *interface_model
195 network_config:
196 ens3:
197 networks:
198 - admin
199 ens4:
200 networks:
201 - private
202
203 - name: {{ HOSTNAME_KVM01 }}
204 role: salt_minion
205 params:
206 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
207 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
208 boot:
209 - hd
210 cloud_init_volume_name: iso
211 cloud_init_iface_up: ens3
212 volumes:
213 - name: system
214 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
215 backing_store: mcp_ubuntu_1604_image
216 format: qcow2
217 - name: iso # Volume with name 'iso' will be used
218 # for store image with cloud-init metadata.
219 capacity: 1
220 format: raw
221 device: cdrom
222 bus: ide
223 cloudinit_meta_data: *cloudinit_meta_data
224 cloudinit_user_data: *cloudinit_user_data_1604_swp
225
226 interfaces: &interfaces
227 - label: ens3
228 l2_network_device: admin
229 interface_model: *interface_model
230 - label: ens4
231 l2_network_device: private
232 interface_model: *interface_model
233 network_config: &network_config
234 ens3:
235 networks:
236 - admin
237 ens4:
238 networks:
239 - private
240
241 - name: {{ HOSTNAME_KVM02 }}
242 role: salt_minion
243 params:
244 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
245 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
246 boot:
247 - hd
248 cloud_init_volume_name: iso
249 cloud_init_iface_up: ens3
250 volumes:
251 - name: system
252 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
253 backing_store: mcp_ubuntu_1604_image
254 format: qcow2
255 - name: iso # Volume with name 'iso' will be used
256 # for store image with cloud-init metadata.
257 capacity: 1
258 format: raw
259 device: cdrom
260 bus: ide
261 cloudinit_meta_data: *cloudinit_meta_data
262 cloudinit_user_data: *cloudinit_user_data_1604_swp
263
264 interfaces: *interfaces
265 network_config: *network_config
266
267 - name: {{ HOSTNAME_KVM03 }}
268 role: salt_minion
269 params:
270 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
271 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
272 boot:
273 - hd
274 cloud_init_volume_name: iso
275 cloud_init_iface_up: ens3
276 volumes:
277 - name: system
278 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
279 backing_store: mcp_ubuntu_1604_image
280 format: qcow2
281 - name: iso # Volume with name 'iso' will be used
282 # for store image with cloud-init metadata.
283 capacity: 1
284 format: raw
285 device: cdrom
286 bus: ide
287 cloudinit_meta_data: *cloudinit_meta_data
288 cloudinit_user_data: *cloudinit_user_data_1604_swp
289
290 interfaces: *interfaces
291 network_config: *network_config
292
293 - name: {{ HOSTNAME_CID01 }}
294 role: salt_minion
295 params:
296 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
297 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
298 boot:
299 - hd
300 cloud_init_volume_name: iso
301 cloud_init_iface_up: ens3
302 volumes:
303 - name: system
304 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
305 backing_store: mcp_ubuntu_1604_image
306 format: qcow2
307 - name: iso # Volume with name 'iso' will be used
308 # for store image with cloud-init metadata.
309 capacity: 1
310 format: raw
311 device: cdrom
312 bus: ide
313 cloudinit_meta_data: *cloudinit_meta_data
314 cloudinit_user_data: *cloudinit_user_data_1604_swp
315
316 interfaces: *interfaces
317 network_config: *network_config
318
319 - name: {{ HOSTNAME_CID02 }}
320 role: salt_minion
321 params:
322 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
323 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
324 boot:
325 - hd
326 cloud_init_volume_name: iso
327 cloud_init_iface_up: ens3
328 volumes:
329 - name: system
330 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
331 backing_store: mcp_ubuntu_1604_image
332 format: qcow2
333 - name: iso # Volume with name 'iso' will be used
334 # for store image with cloud-init metadata.
335 capacity: 1
336 format: raw
337 device: cdrom
338 bus: ide
339 cloudinit_meta_data: *cloudinit_meta_data
340 cloudinit_user_data: *cloudinit_user_data_1604_swp
341
342 interfaces: *interfaces
343 network_config: *network_config
344
345 - name: {{ HOSTNAME_CID03 }}
346 role: salt_minion
347 params:
348 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
349 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
350 boot:
351 - hd
352 cloud_init_volume_name: iso
353 cloud_init_iface_up: ens3
354 volumes:
355 - name: system
356 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
357 backing_store: mcp_ubuntu_1604_image
358 format: qcow2
359 - name: iso # Volume with name 'iso' will be used
360 # for store image with cloud-init metadata.
361 capacity: 1
362 format: raw
363 device: cdrom
364 bus: ide
365 cloudinit_meta_data: *cloudinit_meta_data
366 cloudinit_user_data: *cloudinit_user_data_1604_swp
367
368 interfaces: *interfaces
369 network_config: *network_config
370
371 - name: {{ HOSTNAME_CTL01 }}
372 role: k8s_controller
373 params:
374 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +0300375 memory: !os_env SLAVE_NODE_MEMORY, 8192
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300376 boot:
377 - hd
378 cloud_init_volume_name: iso
379 cloud_init_iface_up: ens3
380 volumes:
381 - name: system
382 capacity: !os_env NODE_VOLUME_SIZE, 150
383 backing_store: mcp_ubuntu_1604_image
384 format: qcow2
385 - name: cinder
386 capacity: 50
387 format: qcow2
388 - name: iso # Volume with name 'iso' will be used
389 # for store image with cloud-init metadata.
390 capacity: 1
391 format: raw
392 device: cdrom
393 bus: ide
394 cloudinit_meta_data: *cloudinit_meta_data
395 cloudinit_user_data: *cloudinit_user_data_1604
396
397 interfaces: *interfaces
398 network_config: *network_config
399
400 - name: {{ HOSTNAME_CTL02 }}
401 role: salt_minion
402 params:
403 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +0300404 memory: !os_env SLAVE_NODE_MEMORY, 8192
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300405 boot:
406 - hd
407 cloud_init_volume_name: iso
408 cloud_init_iface_up: ens3
409 volumes:
410 - name: system
411 capacity: !os_env NODE_VOLUME_SIZE, 150
412 backing_store: mcp_ubuntu_1604_image
413 format: qcow2
414 - name: cinder
415 capacity: 50
416 format: qcow2
417 - name: iso # Volume with name 'iso' will be used
418 # for store image with cloud-init metadata.
419 capacity: 1
420 format: raw
421 device: cdrom
422 bus: ide
423 cloudinit_meta_data: *cloudinit_meta_data
424 cloudinit_user_data: *cloudinit_user_data_1604
425
426 interfaces: *interfaces
427 network_config: *network_config
428
429 - name: {{ HOSTNAME_CTL03 }}
430 role: salt_minion
431 params:
432 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +0300433 memory: !os_env SLAVE_NODE_MEMORY, 8192
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300434 boot:
435 - hd
436 cloud_init_volume_name: iso
437 cloud_init_iface_up: ens3
438 volumes:
439 - name: system
440 capacity: !os_env NODE_VOLUME_SIZE, 150
441 backing_store: mcp_ubuntu_1604_image
442 format: qcow2
443 - name: cinder
444 capacity: 50
445 format: qcow2
446 - name: iso # Volume with name 'iso' will be used
447 # for store image with cloud-init metadata.
448 capacity: 1
449 format: raw
450 device: cdrom
451 bus: ide
452 cloudinit_meta_data: *cloudinit_meta_data
453 cloudinit_user_data: *cloudinit_user_data_1604
454
455 interfaces: *interfaces
456 network_config: *network_config
457
458 - name: {{ HOSTNAME_CMP01 }}
459 role: salt_minion
460 params:
461 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +0300462 memory: !os_env SLAVE_NODE_MEMORY, 4096
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300463 boot:
464 - hd
465 cloud_init_volume_name: iso
466 cloud_init_iface_up: ens3
467 volumes:
468 - name: system
469 capacity: !os_env NODE_VOLUME_SIZE, 150
470 backing_store: mcp_ubuntu_1604_image
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_CMP02 }}
485 role: salt_minion
486 params:
487 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrieveb50ce12018-09-27 13:34:32 +0300488 memory: !os_env SLAVE_NODE_MEMORY, 4096
489 boot:
490 - hd
491 cloud_init_volume_name: iso
492 cloud_init_iface_up: ens3
493 volumes:
494 - name: system
495 capacity: !os_env NODE_VOLUME_SIZE, 150
496 backing_store: mcp_ubuntu_1604_image
497 format: qcow2
498 - name: iso # Volume with name 'iso' will be used
499 # for store image with cloud-init metadata.
500 capacity: 1
501 format: raw
502 device: cdrom
503 bus: ide
504 cloudinit_meta_data: *cloudinit_meta_data
505 cloudinit_user_data: *cloudinit_user_data_1604
506
507 interfaces: *interfaces
508 network_config: *network_config
509
510 - name: {{ HOSTNAME_CMP03 }}
511 role: salt_minion
512 params:
513 vcpu: !os_env SLAVE_NODE_CPU, 2
514 memory: !os_env SLAVE_NODE_MEMORY, 4096
515 boot:
516 - hd
517 cloud_init_volume_name: iso
518 cloud_init_iface_up: ens3
519 volumes:
520 - name: system
521 capacity: !os_env NODE_VOLUME_SIZE, 150
522 backing_store: mcp_ubuntu_1604_image
523 format: qcow2
524 - name: iso # Volume with name 'iso' will be used
525 # for store image with cloud-init metadata.
526 capacity: 1
527 format: raw
528 device: cdrom
529 bus: ide
530 cloudinit_meta_data: *cloudinit_meta_data
531 cloudinit_user_data: *cloudinit_user_data_1604
532
533 interfaces: *interfaces
534 network_config: *network_config
535
536 - name: {{ HOSTNAME_CMP04 }}
537 role: salt_minion
538 params:
539 vcpu: !os_env SLAVE_NODE_CPU, 2
540 memory: !os_env SLAVE_NODE_MEMORY, 4096
Dennis Dmitriev26b94a22018-07-19 16:12:22 +0300541 boot:
542 - hd
543 cloud_init_volume_name: iso
544 cloud_init_iface_up: ens3
545 volumes:
546 - name: system
547 capacity: !os_env NODE_VOLUME_SIZE, 150
548 backing_store: mcp_ubuntu_1604_image
549 format: qcow2
550 - name: iso # Volume with name 'iso' will be used
551 # for store image with cloud-init metadata.
552 capacity: 1
553 format: raw
554 device: cdrom
555 bus: ide
556 cloudinit_meta_data: *cloudinit_meta_data
557 cloudinit_user_data: *cloudinit_user_data_1604
558
559 interfaces: *interfaces
560 network_config: *network_config