blob: 17911fa4cccc6d776f335e6913fcf87a62b622df [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:
379 vcpu: !os_env SLAVE_NODE_CPU, 3
380 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300381 numa:
382 - cpus: 0,1,2
383 memory: 4096
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300384 boot:
385 - hd
386 cloud_init_volume_name: iso
387 cloud_init_iface_up: ens3
388 volumes:
389 - name: system
390 capacity: !os_env NODE_VOLUME_SIZE, 150
391 backing_store: cloudimage1604
392 format: qcow2
393 - name: iso # Volume with name 'iso' will be used
394 # for store image with cloud-init metadata.
395 capacity: 1
396 format: raw
397 device: cdrom
398 bus: ide
399 cloudinit_meta_data: *cloudinit_meta_data
400 cloudinit_user_data: *cloudinit_user_data_1604
401
402
403 interfaces: &all_interfaces
404 - label: ens3
405 l2_network_device: admin
406 interface_model: *interface_model
407 - label: ens4
408 l2_network_device: private
409 interface_model: *interface_model
410 - label: ens5
411 l2_network_device: tenant
412 interface_model: *interface_model
413 - label: ens6
414 l2_network_device: external
415 interface_model: *interface_model
416 network_config: &all_network_config
417 ens3:
418 networks:
419 - admin
420 ens4:
421 networks:
422 - private
423 ens5:
424 networks:
425 - tenant
426 ens6:
427 networks:
428 - external
429
430 - name: {{ HOSTNAME_CMP02 }}
431 role: salt_minion
432 params:
433 vcpu: !os_env SLAVE_NODE_CPU, 3
434 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich0eb5ca32018-07-13 22:05:17 +0300435 numa:
436 - cpus: 0,1,2
437 memory: 4096
Tatyana Leontovichd34f4102018-04-03 17:49:24 +0300438 boot:
439 - hd
440 cloud_init_volume_name: iso
441 cloud_init_iface_up: ens3
442 volumes:
443 - name: system
444 capacity: !os_env NODE_VOLUME_SIZE, 150
445 backing_store: cloudimage1604
446 format: qcow2
447 - name: iso # Volume with name 'iso' will be used
448 # for store image with cloud-init metadata.
449 capacity: 1
450 format: raw
451 device: cdrom
452 bus: ide
453 cloudinit_meta_data: *cloudinit_meta_data
454 cloudinit_user_data: *cloudinit_user_data_1604
455
456 interfaces: *all_interfaces
457 network_config: *all_network_config
458
459 - name: {{ HOSTNAME_GTW01 }}
460 role: salt_minion
461 params:
462 vcpu: !os_env SLAVE_NODE_CPU, 8
463 memory: !os_env SLAVE_NODE_MEMORY, 8192
464 boot:
465 - hd
466 cloud_init_volume_name: iso
467 cloud_init_iface_up: ens3
468 volumes:
469 - name: system
470 capacity: !os_env NODE_VOLUME_SIZE, 150
471 backing_store: cloudimage1604
472 format: qcow2
473 - name: iso # Volume with name 'iso' will be used
474 # for store image with cloud-init metadata.
475 capacity: 1
476 format: raw
477 device: cdrom
478 bus: ide
479 cloudinit_meta_data: *cloudinit_meta_data
480 cloudinit_user_data: *cloudinit_user_data_1604
481
482 interfaces: *all_interfaces
483 network_config: *all_network_config
484
485 - name: {{ HOSTNAME_VS }}
486 role: vm
487 params:
488 vcpu: !os_env SLAVE_NODE_CPU, 2
489 memory: !os_env SLAVE_NODE_MEMORY, 2048
490 boot:
491 - hd
492 cloud_init_volume_name: iso
493 cloud_init_iface_up: ens3
494 volumes:
495 - name: system
496 capacity: !os_env NODE_VOLUME_SIZE, 150
497 backing_store: cloudimage1604
498 format: qcow2
499 - name: iso # Volume with name 'iso' will be used
500 # for store image with cloud-init metadata.
501 capacity: 1
502 format: raw
503 device: cdrom
504 bus: ide
505 cloudinit_meta_data: *cloudinit_meta_data
506 cloudinit_user_data: *cloudinit_user_data_1604
507
508 interfaces: *interfaces
509 network_config: *network_config