blob: 178ef29943b4acfc6c9456a9c9556cbd6befeffe [file] [log] [blame]
Tatyana Leontovichd34f4102018-04-03 17:49:24 +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 'virtual-offline-pike-ovs-dpdk/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-offline-pike-ovs-dpdk/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-offline-pike-ovs-dpdk/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7{% import 'virtual-offline-pike-ovs-dpdk/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-offline-pike-ovs-dpdk') %}
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_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
28{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
29{% set HOSTNAME_VS = 'vs.' + DOMAIN_NAME %}
30
31template:
32 devops_settings:
33 env_name: {{ os_env('ENV_NAME', 'virtual-offline-pike-ovs-dpdk_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
34
35 address_pools:
36 private-pool01:
37 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
38 params:
39 ip_reserved:
40 l2_network_device: +1
41 default_{{ HOSTNAME_APT01 }}: +122
42 default_{{ HOSTNAME_CFG01 }}: +100
43 default_{{ HOSTNAME_CTL01 }}: +101
44 default_{{ HOSTNAME_CTL02 }}: +102
45 default_{{ HOSTNAME_CTL03 }}: +103
46 default_{{ HOSTNAME_CMP01 }}: +105
47 default_{{ HOSTNAME_CMP02 }}: +106
48 default_{{ HOSTNAME_GTW01 }}: +110
49 default_{{ HOSTNAME_PRX01 }}: +121
50 default_{{ HOSTNAME_VS }}: +178
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: +122
59 l2_network_device: +1
60 default_{{ HOSTNAME_APT01 }}: +122
61 default_{{ HOSTNAME_CFG01 }}: +90
62 default_{{ HOSTNAME_CTL01 }}: +101
63 default_{{ HOSTNAME_CTL02 }}: +102
64 default_{{ HOSTNAME_CTL03 }}: +103
65 default_{{ HOSTNAME_CMP01 }}: +105
66 default_{{ HOSTNAME_CMP02 }}: +106
67 default_{{ HOSTNAME_GTW01 }}: +110
68 default_{{ HOSTNAME_PRX01 }}: +121
69 default_{{ HOSTNAME_VS }}: +178
70 ip_ranges:
71 dhcp: [+90, -10]
72
73 tenant-pool01:
74 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
75 params:
76 ip_reserved:
77 l2_network_device: +1
78 default_{{ HOSTNAME_APT01 }}: +122
79 default_{{ HOSTNAME_CFG01 }}: +100
80 default_{{ HOSTNAME_CTL01 }}: +101
81 default_{{ HOSTNAME_CTL02 }}: +102
82 default_{{ HOSTNAME_CTL03 }}: +103
83 default_{{ HOSTNAME_CMP01 }}: +105
84 default_{{ HOSTNAME_CMP02 }}: +106
85 default_{{ HOSTNAME_GTW01 }}: +110
86 default_{{ HOSTNAME_PRX01 }}: +121
87 ip_ranges:
88 dhcp: [+10, -10]
89 external-pool01:
90 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
91 params:
92 ip_reserved:
93 l2_network_device: +1
94 default_{{ HOSTNAME_APT01 }}: +122
95 default_{{ HOSTNAME_CFG01 }}: +100
96 default_{{ HOSTNAME_CTL01 }}: +101
97 default_{{ HOSTNAME_CTL02 }}: +102
98 default_{{ HOSTNAME_CTL03 }}: +103
99 default_{{ HOSTNAME_CMP01 }}: +105
100 default_{{ HOSTNAME_CMP02 }}: +106
101 default_{{ HOSTNAME_GTW01 }}: +110
102 default_{{ HOSTNAME_PRX01 }}: +121
103 ip_ranges:
104 dhcp: [+90, -10]
105
106 groups:
107 - name: default
108 driver:
109 name: devops.driver.libvirt
110 params:
111 connection_string: !os_env CONNECTION_STRING, qemu:///system
112 storage_pool_name: !os_env STORAGE_POOL_NAME, default
113 stp: False
114 hpet: False
115 enable_acpi: true
116 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
117 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
118
119 network_pools:
120 admin: admin-pool01
121 private: private-pool01
122 tenant: tenant-pool01
123 external: external-pool01
124
125 l2_network_devices:
126 private:
127 address_pool: private-pool01
128 dhcp: false
129 forward:
130 mode: route
131
132 admin:
133 address_pool: admin-pool01
134 dhcp: true
135 forward:
136 mode: nat
137
138 tenant:
139 address_pool: tenant-pool01
140 dhcp: false
141
142 external:
143 address_pool: external-pool01
144 dhcp: true
145 forward:
Dennis Dmitrievb0ce3682018-05-01 16:48:11 +0300146 mode: route
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300147
148 group_volumes:
149 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
150 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
151 format: qcow2
152 - name: cfg01_day01_image # Pre-configured day01 image
153 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
154 format: qcow2
155 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
156 source_image: !os_env MCP_IMAGE_PATH1604
157 format: qcow2
158 - name: apt_cloudimage1604 # This name is used for 'backing_store' option for node volumes.
159 source_image: !os_env APT_IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
160 format: qcow2
161
162 nodes:
163 - name: {{ HOSTNAME_APT01 }}
164 role: salt_minion
165 params:
166 vcpu: !os_env SLAVE_NODE_CPU, 2
167 memory: !os_env SLAVE_NODE_MEMORY, 4096
168 boot:
169 - hd
170 cloud_init_volume_name: iso
171 cloud_init_iface_up: ens3
172 volumes:
173 - name: system
174 capacity: !os_env NODE_VOLUME_SIZE, 150
175 backing_store: apt_cloudimage1604
176 format: qcow2
177 - name: iso # Volume with name 'iso' will be used
178 # for store image with cloud-init metadata.
179 capacity: 1
180 format: raw
181 device: cdrom
182 bus: ide
183 cloudinit_meta_data: *cloudinit_meta_data
184 cloudinit_user_data: *cloudinit_user_data_apt01
185
186 interfaces:
187 - label: ens3
188 l2_network_device: admin
189 interface_model: *interface_model
190 - label: ens4
191 l2_network_device: private
192 interface_model: *interface_model
193 - label: ens5
194 l2_network_device: tenant
195 interface_model: *interface_model
196 - label: ens6
197 l2_network_device: external
198 interface_model: *interface_model
199 network_config:
200 ens3:
201 networks:
202 - admin
203 ens4:
204 networks:
205 - private
206 ens5:
207 networks:
208 - tenant
209 ens6:
210 networks:
211 - external
212
213 - name: {{ HOSTNAME_CFG01 }}
214 role: salt_master
215 params:
216 vcpu: !os_env SLAVE_NODE_CPU, 2
217 memory: !os_env SLAVE_NODE_MEMORY, 8192
218 boot:
219 - hd
220 cloud_init_volume_name: iso
221 cloud_init_iface_up: ens3
222 volumes:
223 - name: system
224 capacity: !os_env NODE_VOLUME_SIZE, 150
225 backing_store: cfg01_day01_image
226 format: qcow2
227 - name: iso # Volume with name 'iso' will be used
228 # for store image with cloud-init metadata.
229 capacity: 1
230 format: raw
231 device: cdrom
232 bus: ide
233 cloudinit_meta_data: *cloudinit_meta_data
234 cloudinit_user_data: *cloudinit_user_data_cfg01
235
236 interfaces:
237 - label: ens3
238 l2_network_device: admin
239 interface_model: *interface_model
240 - label: ens4
241 l2_network_device: private
242 interface_model: *interface_model
243 network_config:
244 ens3:
245 networks:
246 - admin
247 ens4:
248 networks:
249 - private
250
251 - name: {{ HOSTNAME_CTL01 }}
252 role: salt_minion
253 params:
254 vcpu: !os_env SLAVE_NODE_CPU, 3
255 memory: !os_env SLAVE_NODE_MEMORY, 16384
256 boot:
257 - hd
258 cloud_init_volume_name: iso
259 cloud_init_iface_up: ens3
260 volumes:
261 - name: system
262 capacity: !os_env NODE_VOLUME_SIZE, 150
263 backing_store: mcp_ubuntu_1604_image
264 format: qcow2
265 - name: cinder
266 capacity: 50
267 format: qcow2
268 - name: iso # Volume with name 'iso' will be used
269 # for store image with cloud-init metadata.
270 capacity: 1
271 format: raw
272 device: cdrom
273 bus: ide
274 cloudinit_meta_data: *cloudinit_meta_data
275 cloudinit_user_data: *cloudinit_user_data_1604
276
277 interfaces: &interfaces
278 - label: ens3
279 l2_network_device: admin
280 interface_model: *interface_model
281 - label: ens4
282 l2_network_device: private
283 interface_model: *interface_model
284 network_config: &network_config
285 ens3:
286 networks:
287 - admin
288 ens4:
289 networks:
290 - private
291
292 - name: {{ HOSTNAME_CTL02 }}
293 role: salt_minion
294 params:
295 vcpu: !os_env SLAVE_NODE_CPU, 3
296 memory: !os_env SLAVE_NODE_MEMORY, 16384
297 boot:
298 - hd
299 cloud_init_volume_name: iso
300 cloud_init_iface_up: ens3
301 volumes:
302 - name: system
303 capacity: !os_env NODE_VOLUME_SIZE, 150
304 backing_store: mcp_ubuntu_1604_image
305 format: qcow2
306 - name: cinder
307 capacity: 50
308 format: qcow2
309 - name: iso # Volume with name 'iso' will be used
310 # for store image with cloud-init metadata.
311 capacity: 1
312 format: raw
313 device: cdrom
314 bus: ide
315 cloudinit_meta_data: *cloudinit_meta_data
316 cloudinit_user_data: *cloudinit_user_data_1604
317
318 interfaces: *interfaces
319 network_config: *network_config
320
321 - name: {{ HOSTNAME_CTL03 }}
322 role: salt_minion
323 params:
324 vcpu: !os_env SLAVE_NODE_CPU, 3
325 memory: !os_env SLAVE_NODE_MEMORY, 16384
326 boot:
327 - hd
328 cloud_init_volume_name: iso
329 cloud_init_iface_up: ens3
330 volumes:
331 - name: system
332 capacity: !os_env NODE_VOLUME_SIZE, 150
333 backing_store: mcp_ubuntu_1604_image
334 format: qcow2
335 - name: cinder
336 capacity: 50
337 format: qcow2
338 - name: iso # Volume with name 'iso' will be used
339 # for store image with cloud-init metadata.
340 capacity: 1
341 format: raw
342 device: cdrom
343 bus: ide
344 cloudinit_meta_data: *cloudinit_meta_data
345 cloudinit_user_data: *cloudinit_user_data_1604
346
347 interfaces: *interfaces
348 network_config: *network_config
349
350 - name: {{ HOSTNAME_PRX01 }}
351 role: salt_minion
352 params:
353 vcpu: !os_env SLAVE_NODE_CPU, 1
354 memory: !os_env SLAVE_NODE_MEMORY, 2048
355 boot:
356 - hd
357 cloud_init_volume_name: iso
358 cloud_init_iface_up: ens3
359 volumes:
360 - name: system
361 capacity: !os_env NODE_VOLUME_SIZE, 150
362 backing_store: mcp_ubuntu_1604_image
363 format: qcow2
364 - name: iso # Volume with name 'iso' will be used
365 # for store image with cloud-init metadata.
366 capacity: 1
367 format: raw
368 device: cdrom
369 bus: ide
370 cloudinit_meta_data: *cloudinit_meta_data
371 cloudinit_user_data: *cloudinit_user_data_1604
372
373 interfaces: *interfaces
374 network_config: *network_config
375
376 - name: {{ HOSTNAME_CMP01 }}
377 role: salt_minion
378 params:
Tatyana Leontoviche1d16192018-07-18 15:07:51 +0300379 vcpu: !os_env SLAVE_NODE_CPU, 12
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300380 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300381 numa:
Tatyana Leontoviche1d16192018-07-18 15:07:51 +0300382 - cpus: 0,1,2,3,4,5
383 memory: 4096
384 - cpus: 6,7,8,9,10,11
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300385 memory: 4096
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300386 boot:
387 - hd
388 cloud_init_volume_name: iso
389 cloud_init_iface_up: ens3
390 volumes:
391 - name: system
392 capacity: !os_env NODE_VOLUME_SIZE, 150
393 backing_store: cloudimage1604
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
405 interfaces: &all_interfaces
406 - label: ens3
407 l2_network_device: admin
408 interface_model: *interface_model
409 - label: ens4
410 l2_network_device: private
411 interface_model: *interface_model
412 - label: ens5
413 l2_network_device: tenant
414 interface_model: *interface_model
415 - label: ens6
416 l2_network_device: external
417 interface_model: *interface_model
418 network_config: &all_network_config
419 ens3:
420 networks:
421 - admin
422 ens4:
423 networks:
424 - private
425 ens5:
426 networks:
427 - tenant
428 ens6:
429 networks:
430 - external
431
432 - name: {{ HOSTNAME_CMP02 }}
433 role: salt_minion
434 params:
Tatyana Leontoviche1d16192018-07-18 15:07:51 +0300435 vcpu: !os_env SLAVE_NODE_CPU, 12
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300436 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300437 numa:
Tatyana Leontoviche1d16192018-07-18 15:07:51 +0300438 - cpus: 0,1,2,3,4,5
439 memory: 4096
440 - cpus: 6,7,8,9,10,11
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300441 memory: 4096
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300442 boot:
443 - hd
444 cloud_init_volume_name: iso
445 cloud_init_iface_up: ens3
446 volumes:
447 - name: system
448 capacity: !os_env NODE_VOLUME_SIZE, 150
449 backing_store: cloudimage1604
450 format: qcow2
451 - name: iso # Volume with name 'iso' will be used
452 # for store image with cloud-init metadata.
453 capacity: 1
454 format: raw
455 device: cdrom
456 bus: ide
457 cloudinit_meta_data: *cloudinit_meta_data
458 cloudinit_user_data: *cloudinit_user_data_1604
459
460 interfaces: *all_interfaces
461 network_config: *all_network_config
462
463 - name: {{ HOSTNAME_GTW01 }}
464 role: salt_minion
465 params:
466 vcpu: !os_env SLAVE_NODE_CPU, 8
467 memory: !os_env SLAVE_NODE_MEMORY, 8192
468 boot:
469 - hd
470 cloud_init_volume_name: iso
471 cloud_init_iface_up: ens3
472 volumes:
473 - name: system
474 capacity: !os_env NODE_VOLUME_SIZE, 150
475 backing_store: cloudimage1604
476 format: qcow2
477 - name: iso # Volume with name 'iso' will be used
478 # for store image with cloud-init metadata.
479 capacity: 1
480 format: raw
481 device: cdrom
482 bus: ide
483 cloudinit_meta_data: *cloudinit_meta_data
484 cloudinit_user_data: *cloudinit_user_data_1604
485
486 interfaces: *all_interfaces
487 network_config: *all_network_config
488
489 - name: {{ HOSTNAME_VS }}
490 role: vm
491 params:
492 vcpu: !os_env SLAVE_NODE_CPU, 2
493 memory: !os_env SLAVE_NODE_MEMORY, 2048
494 boot:
495 - hd
496 cloud_init_volume_name: iso
497 cloud_init_iface_up: ens3
498 volumes:
499 - name: system
500 capacity: !os_env NODE_VOLUME_SIZE, 150
501 backing_store: cloudimage1604
502 format: qcow2
503 - name: iso # Volume with name 'iso' will be used
504 # for store image with cloud-init metadata.
505 capacity: 1
506 format: raw
507 device: cdrom
508 bus: ide
509 cloudinit_meta_data: *cloudinit_meta_data
510 cloudinit_user_data: *cloudinit_user_data_1604
511
512 interfaces: *interfaces
513 network_config: *network_config