blob: cb0b1886026a8e362083d431db1d0ec4e74c288e [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
144
145 group_volumes:
146 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
147 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
148 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
149 format: qcow2
150
151 nodes:
152 - name: {{ HOSTNAME_APT01 }}
153 role: salt_minion
154 params:
155 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitrievb1822792017-10-24 18:22:23 +0300156 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300157 boot:
158 - hd
159 cloud_init_volume_name: iso
160 cloud_init_iface_up: ens3
161 volumes:
162 - name: system
163 capacity: !os_env NODE_VOLUME_SIZE, 150
164 backing_store: cloudimage1604
165 format: qcow2
166 - name: iso # Volume with name 'iso' will be used
167 # for store image with cloud-init metadata.
168 capacity: 1
169 format: raw
170 device: cdrom
171 bus: ide
172 cloudinit_meta_data: *cloudinit_meta_data
173 cloudinit_user_data: *cloudinit_user_data_apt01
174
175 interfaces:
176 - label: ens3
177 l2_network_device: admin
178 interface_model: *interface_model
179 - label: ens4
180 l2_network_device: private
181 interface_model: *interface_model
182 - label: ens5
183 l2_network_device: tenant
184 interface_model: *interface_model
185 - label: ens6
186 l2_network_device: external
187 interface_model: *interface_model
188 network_config:
189 ens3:
190 networks:
191 - admin
192 ens4:
193 networks:
194 - private
195 ens5:
196 networks:
197 - tenant
198 ens6:
199 networks:
200 - external
201
202 - name: {{ HOSTNAME_CFG01 }}
203 role: salt_master
204 params:
205 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev4a43e9a2017-11-10 13:08:40 +0200206 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichecd491d2017-09-13 13:51:12 +0300207 boot:
208 - hd
209 cloud_init_volume_name: iso
210 cloud_init_iface_up: ens3
211 volumes:
212 - name: system
213 capacity: !os_env NODE_VOLUME_SIZE, 150
214 backing_store: cloudimage1604
215 format: qcow2
216 - name: iso # Volume with name 'iso' will be used
217 # for store image with cloud-init metadata.
218 capacity: 1
219 format: raw
220 device: cdrom
221 bus: ide
222 cloudinit_meta_data: *cloudinit_meta_data
223 cloudinit_user_data: *cloudinit_user_data_cfg01
224
225 interfaces:
226 - label: ens3
227 l2_network_device: admin
228 interface_model: *interface_model
229 - label: ens4
230 l2_network_device: private
231 interface_model: *interface_model
232 network_config:
233 ens3:
234 networks:
235 - admin
236 ens4:
237 networks:
238 - private
239
240 - name: {{ HOSTNAME_CTL01 }}
241 role: salt_minion
242 params:
243 vcpu: !os_env SLAVE_NODE_CPU, 2
244 memory: !os_env SLAVE_NODE_MEMORY, 8192
245 boot:
246 - hd
247 cloud_init_volume_name: iso
248 cloud_init_iface_up: ens3
249 volumes:
250 - name: system
251 capacity: !os_env NODE_VOLUME_SIZE, 150
252 backing_store: cloudimage1604
253 format: qcow2
254 - name: cinder
255 capacity: 50
256 format: qcow2
257 - name: iso # Volume with name 'iso' will be used
258 # for store image with cloud-init metadata.
259 capacity: 1
260 format: raw
261 device: cdrom
262 bus: ide
263 cloudinit_meta_data: *cloudinit_meta_data
264 cloudinit_user_data: *cloudinit_user_data_1604
265
266 interfaces: &interfaces
267 - label: ens3
268 l2_network_device: admin
269 interface_model: *interface_model
270 - label: ens4
271 l2_network_device: private
272 interface_model: *interface_model
273 network_config: &network_config
274 ens3:
275 networks:
276 - admin
277 ens4:
278 networks:
279 - private
280
281 - name: {{ HOSTNAME_CTL02 }}
282 role: salt_minion
283 params:
284 vcpu: !os_env SLAVE_NODE_CPU, 2
285 memory: !os_env SLAVE_NODE_MEMORY, 8192
286 boot:
287 - hd
288 cloud_init_volume_name: iso
289 cloud_init_iface_up: ens3
290 volumes:
291 - name: system
292 capacity: !os_env NODE_VOLUME_SIZE, 150
293 backing_store: cloudimage1604
294 format: qcow2
295 - name: cinder
296 capacity: 50
297 format: qcow2
298 - name: iso # Volume with name 'iso' will be used
299 # for store image with cloud-init metadata.
300 capacity: 1
301 format: raw
302 device: cdrom
303 bus: ide
304 cloudinit_meta_data: *cloudinit_meta_data
305 cloudinit_user_data: *cloudinit_user_data_1604
306
307 interfaces: *interfaces
308 network_config: *network_config
309
310 - name: {{ HOSTNAME_CTL03 }}
311 role: salt_minion
312 params:
313 vcpu: !os_env SLAVE_NODE_CPU, 2
314 memory: !os_env SLAVE_NODE_MEMORY, 8192
315 boot:
316 - hd
317 cloud_init_volume_name: iso
318 cloud_init_iface_up: ens3
319 volumes:
320 - name: system
321 capacity: !os_env NODE_VOLUME_SIZE, 150
322 backing_store: cloudimage1604
323 format: qcow2
324 - name: cinder
325 capacity: 50
326 format: qcow2
327 - name: iso # Volume with name 'iso' will be used
328 # for store image with cloud-init metadata.
329 capacity: 1
330 format: raw
331 device: cdrom
332 bus: ide
333 cloudinit_meta_data: *cloudinit_meta_data
334 cloudinit_user_data: *cloudinit_user_data_1604
335
336 interfaces: *interfaces
337 network_config: *network_config
338
339 - name: {{ HOSTNAME_MON01 }}
340 role: salt_minion
341 params:
342 vcpu: !os_env SLAVE_NODE_CPU, 3
343 memory: !os_env SLAVE_NODE_MEMORY, 2048
344 boot:
345 - hd
346 cloud_init_volume_name: iso
347 cloud_init_iface_up: ens3
348 volumes:
349 - name: system
350 capacity: !os_env NODE_VOLUME_SIZE, 150
351 backing_store: cloudimage1604
352 format: qcow2
353 - name: iso # Volume with name 'iso' will be used
354 # for store image with cloud-init metadata.
355 capacity: 1
356 format: raw
357 device: cdrom
358 bus: ide
359 cloudinit_meta_data: !include underlay--meta-data.yaml
360 cloudinit_user_data: !include underlay--user-data1604.yaml
361
362 interfaces: *interfaces
363 network_config: *network_config
364
365 - name: {{ HOSTNAME_MON02 }}
366 role: salt_minion
367 params:
368 vcpu: !os_env SLAVE_NODE_CPU, 3
369 memory: !os_env SLAVE_NODE_MEMORY, 2048
370 boot:
371 - hd
372 cloud_init_volume_name: iso
373 cloud_init_iface_up: ens3
374 volumes:
375 - name: system
376 capacity: !os_env NODE_VOLUME_SIZE, 150
377 backing_store: cloudimage1604
378 format: qcow2
379 - name: iso # Volume with name 'iso' will be used
380 # for store image with cloud-init metadata.
381 capacity: 1
382 format: raw
383 device: cdrom
384 bus: ide
385 cloudinit_meta_data: !include underlay--meta-data.yaml
386 cloudinit_user_data: !include underlay--user-data1604.yaml
387
388 interfaces: *interfaces
389 network_config: *network_config
390
391 - name: {{ HOSTNAME_MON03 }}
392 role: salt_minion
393 params:
394 vcpu: !os_env SLAVE_NODE_CPU, 3
395 memory: !os_env SLAVE_NODE_MEMORY, 2048
396 boot:
397 - hd
398 cloud_init_volume_name: iso
399 cloud_init_iface_up: ens3
400 volumes:
401 - name: system
402 capacity: !os_env NODE_VOLUME_SIZE, 150
403 backing_store: cloudimage1604
404 format: qcow2
405 - name: iso # Volume with name 'iso' will be used
406 # for store image with cloud-init metadata.
407 capacity: 1
408 format: raw
409 device: cdrom
410 bus: ide
411 cloudinit_meta_data: !include underlay--meta-data.yaml
412 cloudinit_user_data: !include underlay--user-data1604.yaml
413
414 interfaces: *interfaces
415 network_config: *network_config
416
417 - name: {{ HOSTNAME_PRX01 }}
418 role: salt_minion
419 params:
420 vcpu: !os_env SLAVE_NODE_CPU, 1
421 memory: !os_env SLAVE_NODE_MEMORY, 8192
422 boot:
423 - hd
424 cloud_init_volume_name: iso
425 cloud_init_iface_up: ens3
426 volumes:
427 - name: system
428 capacity: !os_env NODE_VOLUME_SIZE, 150
429 backing_store: cloudimage1604
430 format: qcow2
431 - name: cinder
432 capacity: 50
433 format: qcow2
434 - name: iso # Volume with name 'iso' will be used
435 # for store image with cloud-init metadata.
436 capacity: 1
437 format: raw
438 device: cdrom
439 bus: ide
440 cloudinit_meta_data: *cloudinit_meta_data
441 cloudinit_user_data: *cloudinit_user_data_1604
442
443 interfaces: *interfaces
444 network_config: *network_config
445
446
447 - name: {{ HOSTNAME_CMP01 }}
448 role: salt_minion
449 params:
450 vcpu: !os_env SLAVE_NODE_CPU, 3
451 memory: !os_env SLAVE_NODE_MEMORY, 4096
452 boot:
453 - hd
454 cloud_init_volume_name: iso
455 cloud_init_iface_up: ens3
456 volumes:
457 - name: system
458 capacity: !os_env NODE_VOLUME_SIZE, 150
459 backing_store: cloudimage1604
460 format: qcow2
461 - name: iso # Volume with name 'iso' will be used
462 # for store image with cloud-init metadata.
463 capacity: 1
464 format: raw
465 device: cdrom
466 bus: ide
467 cloudinit_meta_data: *cloudinit_meta_data
468 cloudinit_user_data: *cloudinit_user_data_1604
469
470
471 interfaces: &all_interfaces
472 - label: ens3
473 l2_network_device: admin
474 interface_model: *interface_model
475 - label: ens4
476 l2_network_device: private
477 interface_model: *interface_model
478 - label: ens5
479 l2_network_device: tenant
480 interface_model: *interface_model
481 - label: ens6
482 l2_network_device: external
483 interface_model: *interface_model
484 network_config: &all_network_config
485 ens3:
486 networks:
487 - admin
488 ens4:
489 networks:
490 - private
491 ens5:
492 networks:
493 - tenant
494
495 - name: {{ HOSTNAME_CMP02 }}
496 role: salt_minion
497 params:
498 vcpu: !os_env SLAVE_NODE_CPU, 3
499 memory: !os_env SLAVE_NODE_MEMORY, 4096
500 boot:
501 - hd
502 cloud_init_volume_name: iso
503 cloud_init_iface_up: ens3
504 volumes:
505 - name: system
506 capacity: !os_env NODE_VOLUME_SIZE, 150
507 backing_store: cloudimage1604
508 format: qcow2
509 - name: iso # Volume with name 'iso' will be used
510 # for store image with cloud-init metadata.
511 capacity: 1
512 format: raw
513 device: cdrom
514 bus: ide
515 cloudinit_meta_data: *cloudinit_meta_data
516 cloudinit_user_data: *cloudinit_user_data_1604
517
518 interfaces: *all_interfaces
519 network_config: *all_network_config
520
521 - name: {{ HOSTNAME_GTW01 }}
522 role: salt_minion
523 params:
524 vcpu: !os_env SLAVE_NODE_CPU, 1
525 memory: !os_env SLAVE_NODE_MEMORY, 2048
526 boot:
527 - hd
528 cloud_init_volume_name: iso
529 cloud_init_iface_up: ens3
530 volumes:
531 - name: system
532 capacity: !os_env NODE_VOLUME_SIZE, 150
533 backing_store: cloudimage1604
534 format: qcow2
535 - name: iso # Volume with name 'iso' will be used
536 # for store image with cloud-init metadata.
537 capacity: 1
538 format: raw
539 device: cdrom
540 bus: ide
541 cloudinit_meta_data: *cloudinit_meta_data
542 cloudinit_user_data: *cloudinit_user_data_1604
543
544 interfaces: *all_interfaces
545 network_config: *all_network_config