blob: 8c1b1512d2a7f071aa3f215464fa1ad36a1f785a [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') %}
16{% set HOSTNAME_KVM01 = os_env('HOSTNAME_KVM01', 'kvm01') %}
17{% set HOSTNAME_KVM02 = os_env('HOSTNAME_KVM02', 'kvm02') %}
18{% set HOSTNAME_KVM03 = os_env('HOSTNAME_KVM03', 'kvm03') %}
19
20{% import 'cookied-cicd-k8s-genie/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
21{% import 'cookied-cicd-k8s-genie/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
22{% import 'cookied-cicd-k8s-genie/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
23{% import 'cookied-cicd-k8s-genie/underlay--user-data1604-swp.yaml' as CLOUDINIT_USER_DATA_1604_SWP with context %}
24
25---
26aliases:
27 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
28 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
29 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
30 - &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
73 default_{{ HOSTNAME_KVM }}: +240
74 default_{{ HOSTNAME_KVM01 }}: +241
75 default_{{ HOSTNAME_KVM02 }}: +242
76 default_{{ HOSTNAME_KVM03 }}: +243
77
78 ip_ranges:
79 dhcp: [+90, -10]
80
81 tenant-pool01:
82 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
83 params:
84 ip_reserved:
85 gateway: +1
86 l2_network_device: +1
87 default_{{ HOSTNAME_CFG01 }}: +15
88
89 default_{{ HOSTNAME_CID }}: +90
90 default_{{ HOSTNAME_CID01 }}: +91
91 default_{{ HOSTNAME_CID02 }}: +92
92 default_{{ HOSTNAME_CID03 }}: +93
93
94 ip_ranges:
95 dhcp: [+10, -10]
96
97 external-pool01:
98 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
99 params:
100 ip_reserved:
101 gateway: +1
102 l2_network_device: +1
103 default_{{ HOSTNAME_CFG01 }}: +15
104
105 default_{{ HOSTNAME_CID }}: +90
106 default_{{ HOSTNAME_CID01 }}: +91
107 default_{{ HOSTNAME_CID02 }}: +92
108 default_{{ HOSTNAME_CID03 }}: +93
109
110 ip_ranges:
111 dhcp: [+10, -10]
112
113
114 groups:
115 - name: default
116 driver:
117 name: devops.driver.libvirt
118 params:
119 connection_string: {{ os_env('CONNECTION_STRING', 'qemu:///system') }}
120 storage_pool_name: {{ os_env('STORAGE_POOL_NAME', 'default') }}
121 stp: False
122 hpet: False
123 enable_acpi: true
124 use_host_cpu: {{ os_env('DRIVER_USE_HOST_CPU', true) }}
125 use_hugepages: {{ os_env('DRIVER_USE_HUGEPAGES', false) }}
126
127 network_pools:
128 admin: admin-pool01
129 private: private-pool01
130 tenant: tenant-pool01
131 external: external-pool01
132
133 l2_network_devices:
134 admin:
135 address_pool: admin-pool01
136 dhcp: true
137 forward:
138 mode: nat
139
140 private:
141 address_pool: private-pool01
142 dhcp: false
143 forward:
144 mode: route
145
146 external:
147 address_pool: external-pool01
148 dhcp: false
149 forward:
150 mode: nat
151
152
153 group_volumes:
154 - name: cfg01_day01_image # Pre-configured day01 image
155 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01') }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
156 format: qcow2
157 - name: mcp_ubuntu_1604_image # Pre-configured image for VCP nodes initially based on kvm nodes.
158 # http://images.mirantis.com/ubuntu-16-04-x64-latest.qcow2 (preffered)
159 # or
160 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
161 source_image: {{ os_env('MCP_IMAGE_PATH1604') }}
162 format: qcow2
163
164 nodes:
165 - name: {{ HOSTNAME_CFG01 }}
166 role: salt_master
167 params:
168 vcpu: {{ os_env('CFG_NODE_CPU', 3) }}
169 memory: {{ os_env('CFG_NODE_MEMORY', 8192) }}
170 boot:
171 - hd
172 cloud_init_volume_name: iso
173 cloud_init_iface_up: ens3
174 volumes:
175 - name: system
176 capacity: {{ os_env('CFG_NODE_VOLUME_SIZE', 150) }}
177 backing_store: cfg01_day01_image
178 format: qcow2
179 - name: config
180 capacity: 1
181 format: raw
182 device: cdrom
183 bus: ide
184 # source_image: !os_env CFG01_CONFIG_PATH # no source image required.
185 # it will be uploaded after config drive generation
186 - name: iso # Volume with name 'iso' will be used
187 # for store image with cloud-init metadata.
188 capacity: 1
189 format: raw
190 device: cdrom
191 bus: ide
192 cloudinit_meta_data: *cloudinit_meta_data
193 cloudinit_user_data: *cloudinit_user_data_cfg01
194
195 interfaces:
196 - label: ens3
197 l2_network_device: admin
198 interface_model: *interface_model
199 - label: ens4
200 l2_network_device: private
201 interface_model: *interface_model
202 network_config:
203 ens3:
204 networks:
205 - admin
206 ens4:
207 networks:
208 - private
209
210 - name: {{ HOSTNAME_KVM01 }}
211 role: salt_minion
212 params:
213 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
214 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
215 boot:
216 - hd
217 cloud_init_volume_name: iso
218 cloud_init_iface_up: ens3
219 volumes:
220 - name: system
221 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
222 backing_store: mcp_ubuntu_1604_image
223 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_1604_swp
232
233 interfaces: &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: &network_config
241 ens3:
242 networks:
243 - admin
244 ens4:
245 networks:
246 - private
247
248 - name: {{ HOSTNAME_KVM02 }}
249 role: salt_minion
250 params:
251 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
252 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
253 boot:
254 - hd
255 cloud_init_volume_name: iso
256 cloud_init_iface_up: ens3
257 volumes:
258 - name: system
259 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
260 backing_store: mcp_ubuntu_1604_image
261 format: qcow2
262 - name: iso # Volume with name 'iso' will be used
263 # for store image with cloud-init metadata.
264 capacity: 1
265 format: raw
266 device: cdrom
267 bus: ide
268 cloudinit_meta_data: *cloudinit_meta_data
269 cloudinit_user_data: *cloudinit_user_data_1604_swp
270
271 interfaces: *interfaces
272 network_config: *network_config
273
274 - name: {{ HOSTNAME_KVM03 }}
275 role: salt_minion
276 params:
277 vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
278 memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
279 boot:
280 - hd
281 cloud_init_volume_name: iso
282 cloud_init_iface_up: ens3
283 volumes:
284 - name: system
285 capacity: {{ os_env('KVM_NODE_VOLUME_SIZE', 150) }}
286 backing_store: mcp_ubuntu_1604_image
287 format: qcow2
288 - name: iso # Volume with name 'iso' will be used
289 # for store image with cloud-init metadata.
290 capacity: 1
291 format: raw
292 device: cdrom
293 bus: ide
294 cloudinit_meta_data: *cloudinit_meta_data
295 cloudinit_user_data: *cloudinit_user_data_1604_swp
296
297 interfaces: *interfaces
298 network_config: *network_config
299
300 - name: {{ HOSTNAME_CID01 }}
301 role: salt_minion
302 params:
303 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
304 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
305 boot:
306 - hd
307 cloud_init_volume_name: iso
308 cloud_init_iface_up: ens3
309 volumes:
310 - name: system
311 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
312 backing_store: mcp_ubuntu_1604_image
313 format: qcow2
314 - name: iso # Volume with name 'iso' will be used
315 # for store image with cloud-init metadata.
316 capacity: 1
317 format: raw
318 device: cdrom
319 bus: ide
320 cloudinit_meta_data: *cloudinit_meta_data
321 cloudinit_user_data: *cloudinit_user_data_1604_swp
322
323 interfaces: *interfaces
324 network_config: *network_config
325
326 - name: {{ HOSTNAME_CID02 }}
327 role: salt_minion
328 params:
329 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
330 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
331 boot:
332 - hd
333 cloud_init_volume_name: iso
334 cloud_init_iface_up: ens3
335 volumes:
336 - name: system
337 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
338 backing_store: mcp_ubuntu_1604_image
339 format: qcow2
340 - name: iso # Volume with name 'iso' will be used
341 # for store image with cloud-init metadata.
342 capacity: 1
343 format: raw
344 device: cdrom
345 bus: ide
346 cloudinit_meta_data: *cloudinit_meta_data
347 cloudinit_user_data: *cloudinit_user_data_1604_swp
348
349 interfaces: *interfaces
350 network_config: *network_config
351
352 - name: {{ HOSTNAME_CID03 }}
353 role: salt_minion
354 params:
355 vcpu: {{ os_env('CID_NODE_CPU', 3) }}
356 memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
357 boot:
358 - hd
359 cloud_init_volume_name: iso
360 cloud_init_iface_up: ens3
361 volumes:
362 - name: system
363 capacity: {{ os_env('CID_NODE_VOLUME_SIZE', 150) }}
364 backing_store: mcp_ubuntu_1604_image
365 format: qcow2
366 - name: iso # Volume with name 'iso' will be used
367 # for store image with cloud-init metadata.
368 capacity: 1
369 format: raw
370 device: cdrom
371 bus: ide
372 cloudinit_meta_data: *cloudinit_meta_data
373 cloudinit_user_data: *cloudinit_user_data_1604_swp
374
375 interfaces: *interfaces
376 network_config: *network_config
377
378 - name: {{ HOSTNAME_CTL01 }}
379 role: k8s_controller
380 params:
381 vcpu: !os_env SLAVE_NODE_CPU, 2
382 memory: !os_env SLAVE_NODE_MEMORY, 2048
383 boot:
384 - hd
385 cloud_init_volume_name: iso
386 cloud_init_iface_up: ens3
387 volumes:
388 - name: system
389 capacity: !os_env NODE_VOLUME_SIZE, 150
390 backing_store: mcp_ubuntu_1604_image
391 format: qcow2
392 - name: cinder
393 capacity: 50
394 format: qcow2
395 - name: iso # Volume with name 'iso' will be used
396 # for store image with cloud-init metadata.
397 capacity: 1
398 format: raw
399 device: cdrom
400 bus: ide
401 cloudinit_meta_data: *cloudinit_meta_data
402 cloudinit_user_data: *cloudinit_user_data_1604
403
404 interfaces: *interfaces
405 network_config: *network_config
406
407 - name: {{ HOSTNAME_CTL02 }}
408 role: salt_minion
409 params:
410 vcpu: !os_env SLAVE_NODE_CPU, 2
411 memory: !os_env SLAVE_NODE_MEMORY, 2048
412 boot:
413 - hd
414 cloud_init_volume_name: iso
415 cloud_init_iface_up: ens3
416 volumes:
417 - name: system
418 capacity: !os_env NODE_VOLUME_SIZE, 150
419 backing_store: mcp_ubuntu_1604_image
420 format: qcow2
421 - name: cinder
422 capacity: 50
423 format: qcow2
424 - name: iso # Volume with name 'iso' will be used
425 # for store image with cloud-init metadata.
426 capacity: 1
427 format: raw
428 device: cdrom
429 bus: ide
430 cloudinit_meta_data: *cloudinit_meta_data
431 cloudinit_user_data: *cloudinit_user_data_1604
432
433 interfaces: *interfaces
434 network_config: *network_config
435
436 - name: {{ HOSTNAME_CTL03 }}
437 role: salt_minion
438 params:
439 vcpu: !os_env SLAVE_NODE_CPU, 2
440 memory: !os_env SLAVE_NODE_MEMORY, 2048
441 boot:
442 - hd
443 cloud_init_volume_name: iso
444 cloud_init_iface_up: ens3
445 volumes:
446 - name: system
447 capacity: !os_env NODE_VOLUME_SIZE, 150
448 backing_store: mcp_ubuntu_1604_image
449 format: qcow2
450 - name: cinder
451 capacity: 50
452 format: qcow2
453 - name: iso # Volume with name 'iso' will be used
454 # for store image with cloud-init metadata.
455 capacity: 1
456 format: raw
457 device: cdrom
458 bus: ide
459 cloudinit_meta_data: *cloudinit_meta_data
460 cloudinit_user_data: *cloudinit_user_data_1604
461
462 interfaces: *interfaces
463 network_config: *network_config
464
465 - name: {{ HOSTNAME_CMP01 }}
466 role: salt_minion
467 params:
468 vcpu: !os_env SLAVE_NODE_CPU, 2
469 memory: !os_env SLAVE_NODE_MEMORY, 2048
470 boot:
471 - hd
472 cloud_init_volume_name: iso
473 cloud_init_iface_up: ens3
474 volumes:
475 - name: system
476 capacity: !os_env NODE_VOLUME_SIZE, 150
477 backing_store: mcp_ubuntu_1604_image
478 format: qcow2
479 - name: iso # Volume with name 'iso' will be used
480 # for store image with cloud-init metadata.
481 capacity: 1
482 format: raw
483 device: cdrom
484 bus: ide
485 cloudinit_meta_data: *cloudinit_meta_data
486 cloudinit_user_data: *cloudinit_user_data_1604
487
488 interfaces: *interfaces
489 network_config: *network_config
490
491 - name: {{ HOSTNAME_CMP02 }}
492 role: salt_minion
493 params:
494 vcpu: !os_env SLAVE_NODE_CPU, 2
495 memory: !os_env SLAVE_NODE_MEMORY, 2048
496 boot:
497 - hd
498 cloud_init_volume_name: iso
499 cloud_init_iface_up: ens3
500 volumes:
501 - name: system
502 capacity: !os_env NODE_VOLUME_SIZE, 150
503 backing_store: mcp_ubuntu_1604_image
504 format: qcow2
505 - name: iso # Volume with name 'iso' will be used
506 # for store image with cloud-init metadata.
507 capacity: 1
508 format: raw
509 device: cdrom
510 bus: ide
511 cloudinit_meta_data: *cloudinit_meta_data
512 cloudinit_user_data: *cloudinit_user_data_1604
513
514 interfaces: *interfaces
515 network_config: *network_config