blob: 2ea28a806617a552cc2f69cfb12ceaaafc65f21f [file] [log] [blame]
Anastasia Kuznetsova6823b062018-03-23 15:52:17 +04001# 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-mcp-pike-ovs-l2gw-bgpvpn/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-mcp-pike-ovs-l2gw-bgpvpn/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-mcp-pike-ovs-l2gw-bgpvpn/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7
8---
9aliases:
10 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
11 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
12 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
13 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
14
15{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'virtual-mcp-pike-ovs') %}
16{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME) + '.local' %}
17{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
18{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
19{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
20{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
21{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
22{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
23{% set HOSTNAME_MDB01 = os_env('HOSTNAME_MDB01', 'mdb01.' + DOMAIN_NAME) %}
24{% set HOSTNAME_MDB02 = os_env('HOSTNAME_MDB02', 'mdb02.' + DOMAIN_NAME) %}
25{% set HOSTNAME_MDB03 = os_env('HOSTNAME_MDB03', 'mdb03.' + DOMAIN_NAME) %}
26{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
27{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
28
29{% set HOSTNAME_VSWITCH = 'vswitch.' + DOMAIN_NAME %}
30
31template:
32 devops_settings:
33 env_name: {{ os_env('ENV_NAME', 'virtual-mcp-pike-ovs_' + 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 gateway: +1
41 l2_network_device: +1
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_MDB01 }}: +45
49 default_{{ HOSTNAME_MDB02 }}: +46
50 default_{{ HOSTNAME_MDB03 }}: +47
51 default_{{ HOSTNAME_GTW01 }}: +110
52 default_{{ HOSTNAME_PRX01 }}: +121
53
54 default_{{ HOSTNAME_VSWITCH }}: +178
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: +1
63 l2_network_device: +1
64 default_{{ HOSTNAME_CFG01 }}: +90
65 default_{{ HOSTNAME_CTL01 }}: +101
66 default_{{ HOSTNAME_CTL02 }}: +102
67 default_{{ HOSTNAME_CTL03 }}: +103
68 default_{{ HOSTNAME_CMP01 }}: +105
69 default_{{ HOSTNAME_CMP02 }}: +106
70 default_{{ HOSTNAME_MDB01 }}: +45
71 default_{{ HOSTNAME_MDB02 }}: +46
72 default_{{ HOSTNAME_MDB03 }}: +47
73 default_{{ HOSTNAME_GTW01 }}: +110
74 default_{{ HOSTNAME_PRX01 }}: +121
75
76 default_{{ HOSTNAME_VSWITCH }}: +178
77 ip_ranges:
78 dhcp: [+90, -10]
79
80 tenant-pool01:
81 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
82 params:
83 ip_reserved:
84 gateway: +1
85 l2_network_device: +1
86 default_{{ HOSTNAME_CFG01 }}: +100
87 default_{{ HOSTNAME_CTL01 }}: +101
88 default_{{ HOSTNAME_CTL02 }}: +102
89 default_{{ HOSTNAME_CTL03 }}: +103
90 default_{{ HOSTNAME_CMP01 }}: +105
91 default_{{ HOSTNAME_CMP02 }}: +106
92 default_{{ HOSTNAME_MDB01 }}: +45
93 default_{{ HOSTNAME_MDB02 }}: +46
94 default_{{ HOSTNAME_MDB03 }}: +47
95 default_{{ HOSTNAME_GTW01 }}: +110
96 default_{{ HOSTNAME_PRX01 }}: +121
97 ip_ranges:
98 dhcp: [+10, -10]
99
100 external-pool01:
101 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
102 params:
103 ip_reserved:
104 gateway: +1
105 l2_network_device: +1
106 default_{{ HOSTNAME_CFG01 }}: +100
107 default_{{ HOSTNAME_CTL01 }}: +101
108 default_{{ HOSTNAME_CTL02 }}: +102
109 default_{{ HOSTNAME_CTL03 }}: +103
110 default_{{ HOSTNAME_CMP01 }}: +105
111 default_{{ HOSTNAME_CMP02 }}: +106
112 default_{{ HOSTNAME_MDB01 }}: +45
113 default_{{ HOSTNAME_MDB02 }}: +46
114 default_{{ HOSTNAME_MDB03 }}: +47
115 default_{{ HOSTNAME_GTW01 }}: +110
116 default_{{ HOSTNAME_PRX01 }}: +121
117 ip_ranges:
118 dhcp: [+10, -10]
119
120
121 groups:
122 - name: default
123 driver:
124 name: devops.driver.libvirt
125 params:
126 connection_string: !os_env CONNECTION_STRING, qemu:///system
127 storage_pool_name: !os_env STORAGE_POOL_NAME, default
128 stp: False
129 hpet: False
130 enable_acpi: true
131 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
132 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
133
134 network_pools:
135 admin: admin-pool01
136 private: private-pool01
137 tenant: tenant-pool01
138 external: external-pool01
139
140 l2_network_devices:
141 private:
142 address_pool: private-pool01
143 dhcp: true
144 forward:
145 mode: route
146
147 admin:
148 address_pool: admin-pool01
149 dhcp: true
150 forward:
151 mode: nat
152
153 tenant:
154 address_pool: tenant-pool01
155 dhcp: true
156
157 external:
158 address_pool: external-pool01
159 dhcp: true
160 forward:
161 mode: nat
162
163
164 group_volumes:
165 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
166 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
167 format: qcow2
168 - name: cfg01_day01_image # Pre-configured day01 image
169 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
170 format: qcow2
171 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
172 source_image: !os_env MCP_IMAGE_PATH1604
173 format: qcow2
174
175 nodes:
176 - name: {{ HOSTNAME_CFG01 }}
177 role: salt_master
178 params:
179 vcpu: !os_env SLAVE_NODE_CPU, 2
180 memory: !os_env SLAVE_NODE_MEMORY, 8192
181 boot:
182 - hd
183 cloud_init_volume_name: iso
184 cloud_init_iface_up: ens3
185 volumes:
186 - name: system
187 capacity: !os_env NODE_VOLUME_SIZE, 150
188 backing_store: cfg01_day01_image
189 format: qcow2
190 - name: iso # Volume with name 'iso' will be used
191 # for store image with cloud-init metadata.
192 capacity: 1
193 format: raw
194 device: cdrom
195 bus: ide
196 cloudinit_meta_data: *cloudinit_meta_data
197 cloudinit_user_data: *cloudinit_user_data_cfg01
198
199 interfaces:
200 - label: ens3
201 l2_network_device: admin
202 interface_model: *interface_model
203 - label: ens4
204 l2_network_device: private
205 interface_model: *interface_model
206 network_config:
207 ens3:
208 networks:
209 - admin
210 ens4:
211 networks:
212 - private
213
214 - name: {{ HOSTNAME_CTL01 }}
215 role: salt_minion
216 params:
217 vcpu: !os_env SLAVE_NODE_CPU, 2
218 memory: !os_env SLAVE_NODE_MEMORY, 16384
219 boot:
220 - hd
221 cloud_init_volume_name: iso
222 cloud_init_iface_up: ens3
223 volumes:
224 - name: system
225 capacity: !os_env NODE_VOLUME_SIZE, 150
226 backing_store: mcp_ubuntu_1604_image
227 format: qcow2
228 - name: cinder
229 capacity: 50
230 format: qcow2
231 - name: iso # Volume with name 'iso' will be used
232 # for store image with cloud-init metadata.
233 capacity: 1
234 format: raw
235 device: cdrom
236 bus: ide
237 cloudinit_meta_data: *cloudinit_meta_data
238 cloudinit_user_data: *cloudinit_user_data_1604
239
240 interfaces: &interfaces
241 - label: ens3
242 l2_network_device: admin
243 interface_model: *interface_model
244 - label: ens4
245 l2_network_device: private
246 interface_model: *interface_model
247 network_config: &network_config
248 ens3:
249 networks:
250 - admin
251 ens4:
252 networks:
253 - private
254
255 - name: {{ HOSTNAME_CTL02 }}
256 role: salt_minion
257 params:
258 vcpu: !os_env SLAVE_NODE_CPU, 2
259 memory: !os_env SLAVE_NODE_MEMORY, 16384
260 boot:
261 - hd
262 cloud_init_volume_name: iso
263 cloud_init_iface_up: ens3
264 volumes:
265 - name: system
266 capacity: !os_env NODE_VOLUME_SIZE, 150
267 backing_store: mcp_ubuntu_1604_image
268 format: qcow2
269 - name: cinder
270 capacity: 50
271 format: qcow2
272 - name: iso # Volume with name 'iso' will be used
273 # for store image with cloud-init metadata.
274 capacity: 1
275 format: raw
276 device: cdrom
277 bus: ide
278 cloudinit_meta_data: *cloudinit_meta_data
279 cloudinit_user_data: *cloudinit_user_data_1604
280
281 interfaces: *interfaces
282 network_config: *network_config
283
284 - name: {{ HOSTNAME_CTL03 }}
285 role: salt_minion
286 params:
287 vcpu: !os_env SLAVE_NODE_CPU, 2
288 memory: !os_env SLAVE_NODE_MEMORY, 16384
289 boot:
290 - hd
291 cloud_init_volume_name: iso
292 cloud_init_iface_up: ens3
293 volumes:
294 - name: system
295 capacity: !os_env NODE_VOLUME_SIZE, 150
296 backing_store: mcp_ubuntu_1604_image
297 format: qcow2
298 - name: cinder
299 capacity: 50
300 format: qcow2
301 - name: iso # Volume with name 'iso' will be used
302 # for store image with cloud-init metadata.
303 capacity: 1
304 format: raw
305 device: cdrom
306 bus: ide
307 cloudinit_meta_data: *cloudinit_meta_data
308 cloudinit_user_data: *cloudinit_user_data_1604
309
310 interfaces: *interfaces
311 network_config: *network_config
312
313 - name: {{ HOSTNAME_MDB01 }}
314 role: salt_minion
315 params:
316 vcpu: !os_env SLAVE_NODE_CPU, 2
317 memory: !os_env SLAVE_NODE_MEMORY, 8192
318 boot:
319 - hd
320 cloud_init_volume_name: iso
321 cloud_init_iface_up: ens3
322 volumes:
323 - name: system
324 capacity: !os_env NODE_VOLUME_SIZE, 150
325 backing_store: mcp_ubuntu_1604_image
326 format: qcow2
327 - name: cinder
328 capacity: 50
329 format: qcow2
330 - name: iso # Volume with name 'iso' will be used
331 # for store image with cloud-init metadata.
332 capacity: 1
333 format: raw
334 device: cdrom
335 bus: ide
336 cloudinit_meta_data: *cloudinit_meta_data
337 cloudinit_user_data: *cloudinit_user_data_1604
338
339 interfaces: *interfaces
340 network_config: *network_config
341
342 - name: {{ HOSTNAME_MDB02 }}
343 role: salt_minion
344 params:
345 vcpu: !os_env SLAVE_NODE_CPU, 2
346 memory: !os_env SLAVE_NODE_MEMORY, 8192
347 boot:
348 - hd
349 cloud_init_volume_name: iso
350 cloud_init_iface_up: ens3
351 volumes:
352 - name: system
353 capacity: !os_env NODE_VOLUME_SIZE, 150
354 backing_store: mcp_ubuntu_1604_image
355 format: qcow2
356 - name: cinder
357 capacity: 50
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
367
368 interfaces: *interfaces
369 network_config: *network_config
370
371 - name: {{ HOSTNAME_MDB03 }}
372 role: salt_minion
373 params:
374 vcpu: !os_env SLAVE_NODE_CPU, 2
375 memory: !os_env SLAVE_NODE_MEMORY, 8192
376 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_PRX01 }}
401 role: salt_minion
402 params:
403 vcpu: !os_env SLAVE_NODE_CPU, 1
404 memory: !os_env SLAVE_NODE_MEMORY, 2048
405 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_CMP01 }}
430 role: salt_minion
431 params:
432 vcpu: !os_env SLAVE_NODE_CPU, 3
433 memory: !os_env SLAVE_NODE_MEMORY, 4096
434 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: cloudimage1604
442 format: qcow2
443 - name: iso # Volume with name 'iso' will be used
444 # for store image with cloud-init metadata.
445 capacity: 1
446 format: raw
447 device: cdrom
448 bus: ide
449 cloudinit_meta_data: *cloudinit_meta_data
450 cloudinit_user_data: *cloudinit_user_data_1604
451
452
453 interfaces: &all_interfaces
454 - label: ens3
455 l2_network_device: admin
456 interface_model: *interface_model
457 - label: ens4
458 l2_network_device: private
459 interface_model: *interface_model
460 - label: ens5
461 l2_network_device: tenant
462 interface_model: *interface_model
463 - label: ens6
464 l2_network_device: external
465 interface_model: *interface_model
466 network_config: &all_network_config
467 ens3:
468 networks:
469 - admin
470 ens4:
471 networks:
472 - private
473 ens5:
474 networks:
475 - tenant
476 ens6:
477 networks:
478 - external
479
480 - name: {{ HOSTNAME_CMP02 }}
481 role: salt_minion
482 params:
483 vcpu: !os_env SLAVE_NODE_CPU, 3
484 memory: !os_env SLAVE_NODE_MEMORY, 4096
485 boot:
486 - hd
487 cloud_init_volume_name: iso
488 cloud_init_iface_up: ens3
489 volumes:
490 - name: system
491 capacity: !os_env NODE_VOLUME_SIZE, 150
492 backing_store: cloudimage1604
493 format: qcow2
494 - name: iso # Volume with name 'iso' will be used
495 # for store image with cloud-init metadata.
496 capacity: 1
497 format: raw
498 device: cdrom
499 bus: ide
500 cloudinit_meta_data: *cloudinit_meta_data
501 cloudinit_user_data: *cloudinit_user_data_1604
502
503 interfaces: *all_interfaces
504 network_config: *all_network_config
505
506 - name: {{ HOSTNAME_GTW01 }}
507 role: salt_minion
508 params:
509 vcpu: !os_env SLAVE_NODE_CPU, 4
510 memory: !os_env SLAVE_NODE_MEMORY, 4096
511 boot:
512 - hd
513 cloud_init_volume_name: iso
514 cloud_init_iface_up: ens3
515 volumes:
516 - name: system
517 capacity: !os_env NODE_VOLUME_SIZE, 150
518 backing_store: cloudimage1604
519 format: qcow2
520 - name: iso # Volume with name 'iso' will be used
521 # for store image with cloud-init metadata.
522 capacity: 1
523 format: raw
524 device: cdrom
525 bus: ide
526 cloudinit_meta_data: *cloudinit_meta_data
527 cloudinit_user_data: *cloudinit_user_data_1604
528
529 interfaces: *all_interfaces
530 network_config: *all_network_config
531
532 - name: {{ HOSTNAME_VSWITCH }}
533 role: vm
534 params:
535 vcpu: !os_env SLAVE_NODE_CPU, 2
536 memory: !os_env SLAVE_NODE_MEMORY, 2048
537 boot:
538 - hd
539 cloud_init_volume_name: iso
540 cloud_init_iface_up: ens3
541 volumes:
542 - name: system
543 capacity: !os_env NODE_VOLUME_SIZE, 150
544 backing_store: cloudimage1604
545 format: qcow2
546 - name: iso # Volume with name 'iso' will be used
547 # for store image with cloud-init metadata.
548 capacity: 1
549 format: raw
550 device: cdrom
551 bus: ide
552 cloudinit_meta_data: *cloudinit_meta_data
553 cloudinit_user_data: *cloudinit_user_data_1604
554
555 interfaces: *interfaces
556 network_config: *network_config