blob: c198901047a495af166849e349226d347117b692 [file] [log] [blame]
Tatyana Leontovich56005da2017-12-11 13:16:51 +02001# Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required
2{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %}
3
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +02004{% import 'virtual-mcp-pike-dvr/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-mcp-pike-dvr/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-mcp-pike-dvr/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +02007
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
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020015{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'virtual-mcp-pike-dvr') %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020016{% 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) %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020023{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020024{% set HOSTNAME_DNS01 = os_env('HOSTNAME_DNS01', 'dns01.' + DOMAIN_NAME) %}
25{% set HOSTNAME_DNS02 = os_env('HOSTNAME_DNS02', 'dns02.' + DOMAIN_NAME) %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020026{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
27
28template:
29 devops_settings:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020030 env_name: {{ os_env('ENV_NAME', 'virtual-mcp-pike-dvr_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020031
32 address_pools:
33 private-pool01:
34 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
35 params:
36 ip_reserved:
37 gateway: +1
38 l2_network_device: +1
39 default_{{ HOSTNAME_CFG01 }}: +100
40 default_{{ HOSTNAME_CTL01 }}: +101
41 default_{{ HOSTNAME_CTL02 }}: +102
42 default_{{ HOSTNAME_CTL03 }}: +103
43 default_{{ HOSTNAME_CMP01 }}: +105
44 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovich56005da2017-12-11 13:16:51 +020045 default_{{ HOSTNAME_GTW01 }}: +110
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020046 default_{{ HOSTNAME_DNS01 }}: +111
47 default_{{ HOSTNAME_DNS02 }}: +112
Tatyana Leontovich56005da2017-12-11 13:16:51 +020048 default_{{ HOSTNAME_PRX01 }}: +121
49 ip_ranges:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020050 dhcp: [+90, -10]
Tatyana Leontovich56005da2017-12-11 13:16:51 +020051
52 admin-pool01:
53 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
54 params:
55 ip_reserved:
56 gateway: +1
57 l2_network_device: +1
58 default_{{ HOSTNAME_CFG01 }}: +90
59 default_{{ HOSTNAME_CTL01 }}: +101
60 default_{{ HOSTNAME_CTL02 }}: +102
61 default_{{ HOSTNAME_CTL03 }}: +103
62 default_{{ HOSTNAME_CMP01 }}: +105
63 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovich56005da2017-12-11 13:16:51 +020064 default_{{ HOSTNAME_GTW01 }}: +110
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020065 default_{{ HOSTNAME_DNS01 }}: +111
66 default_{{ HOSTNAME_DNS02 }}: +112
Tatyana Leontovich56005da2017-12-11 13:16:51 +020067 default_{{ HOSTNAME_PRX01 }}: +121
68 ip_ranges:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020069 dhcp: [+90, -10]
Tatyana Leontovich56005da2017-12-11 13:16:51 +020070
71 tenant-pool01:
72 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
73 params:
74 ip_reserved:
75 gateway: +1
76 l2_network_device: +1
77 default_{{ HOSTNAME_CFG01 }}: +100
78 default_{{ HOSTNAME_CTL01 }}: +101
79 default_{{ HOSTNAME_CTL02 }}: +102
80 default_{{ HOSTNAME_CTL03 }}: +103
81 default_{{ HOSTNAME_CMP01 }}: +105
82 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovich56005da2017-12-11 13:16:51 +020083 default_{{ HOSTNAME_GTW01 }}: +110
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020084 default_{{ HOSTNAME_DNS01 }}: +111
85 default_{{ HOSTNAME_DNS02 }}: +112
Tatyana Leontovich56005da2017-12-11 13:16:51 +020086 default_{{ HOSTNAME_PRX01 }}: +121
87 ip_ranges:
88 dhcp: [+10, -10]
89
90 external-pool01:
91 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
92 params:
93 ip_reserved:
94 gateway: +1
95 l2_network_device: +1
96 default_{{ HOSTNAME_CFG01 }}: +100
97 default_{{ HOSTNAME_CTL01 }}: +101
98 default_{{ HOSTNAME_CTL02 }}: +102
99 default_{{ HOSTNAME_CTL03 }}: +103
100 default_{{ HOSTNAME_CMP01 }}: +105
101 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200102 default_{{ HOSTNAME_GTW01 }}: +110
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200103 default_{{ HOSTNAME_DNS01 }}: +111
104 default_{{ HOSTNAME_DNS02 }}: +112
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200105 default_{{ HOSTNAME_PRX01 }}: +121
106 ip_ranges:
107 dhcp: [+10, -10]
108
109
110 groups:
111 - name: default
112 driver:
113 name: devops.driver.libvirt
114 params:
115 connection_string: !os_env CONNECTION_STRING, qemu:///system
116 storage_pool_name: !os_env STORAGE_POOL_NAME, default
117 stp: False
118 hpet: False
119 enable_acpi: true
120 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
121 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
122
123 network_pools:
124 admin: admin-pool01
125 private: private-pool01
126 tenant: tenant-pool01
127 external: external-pool01
128
129 l2_network_devices:
130 private:
131 address_pool: private-pool01
Dennis Dmitriev68ef8ff2018-03-22 18:13:36 +0200132 dhcp: false
Dennis Dmitrieva5978eb2018-02-21 10:12:33 +0200133 forward:
134 mode: route
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200135
136 admin:
137 address_pool: admin-pool01
138 dhcp: true
139 forward:
140 mode: nat
141
142 tenant:
143 address_pool: tenant-pool01
Dennis Dmitriev68ef8ff2018-03-22 18:13:36 +0200144 dhcp: false
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200145
146 external:
147 address_pool: external-pool01
148 dhcp: true
149 forward:
150 mode: nat
151
152
153 group_volumes:
154 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200155 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
156 format: qcow2
157 - name: cfg01_day01_image # Pre-configured day01 image
158 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200159 format: qcow2
Tatyana Leontovichded29902018-01-30 09:53:34 +0200160 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
161 source_image: !os_env MCP_IMAGE_PATH1604
162 format: qcow2
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200163
164 nodes:
165 - name: {{ HOSTNAME_CFG01 }}
166 role: salt_master
167 params:
168 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200169 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200170 boot:
171 - hd
172 cloud_init_volume_name: iso
173 cloud_init_iface_up: ens3
174 volumes:
175 - name: system
176 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200177 backing_store: cfg01_day01_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200178 format: qcow2
179 - name: iso # Volume with name 'iso' will be used
180 # for store image with cloud-init metadata.
181 capacity: 1
182 format: raw
183 device: cdrom
184 bus: ide
185 cloudinit_meta_data: *cloudinit_meta_data
186 cloudinit_user_data: *cloudinit_user_data_cfg01
187
188 interfaces:
189 - label: ens3
190 l2_network_device: admin
191 interface_model: *interface_model
192 - label: ens4
193 l2_network_device: private
194 interface_model: *interface_model
195 network_config:
196 ens3:
197 networks:
198 - admin
199 ens4:
200 networks:
201 - private
202
203 - name: {{ HOSTNAME_CTL01 }}
204 role: salt_minion
205 params:
206 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200207 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200208 boot:
209 - hd
210 cloud_init_volume_name: iso
211 cloud_init_iface_up: ens3
212 volumes:
213 - name: system
214 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200215 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200216 format: qcow2
217 - name: cinder
218 capacity: 50
219 format: qcow2
220 - name: iso # Volume with name 'iso' will be used
221 # for store image with cloud-init metadata.
222 capacity: 1
223 format: raw
224 device: cdrom
225 bus: ide
226 cloudinit_meta_data: *cloudinit_meta_data
227 cloudinit_user_data: *cloudinit_user_data_1604
228
229 interfaces: &interfaces
230 - label: ens3
231 l2_network_device: admin
232 interface_model: *interface_model
233 - label: ens4
234 l2_network_device: private
235 interface_model: *interface_model
236 network_config: &network_config
237 ens3:
238 networks:
239 - admin
240 ens4:
241 networks:
242 - private
243
244 - name: {{ HOSTNAME_CTL02 }}
245 role: salt_minion
246 params:
247 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200248 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200249 boot:
250 - hd
251 cloud_init_volume_name: iso
252 cloud_init_iface_up: ens3
253 volumes:
254 - name: system
255 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200256 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200257 format: qcow2
258 - name: cinder
259 capacity: 50
260 format: qcow2
261 - name: iso # Volume with name 'iso' will be used
262 # for store image with cloud-init metadata.
263 capacity: 1
264 format: raw
265 device: cdrom
266 bus: ide
267 cloudinit_meta_data: *cloudinit_meta_data
268 cloudinit_user_data: *cloudinit_user_data_1604
269
270 interfaces: *interfaces
271 network_config: *network_config
272
273 - name: {{ HOSTNAME_CTL03 }}
274 role: salt_minion
275 params:
276 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200277 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200278 boot:
279 - hd
280 cloud_init_volume_name: iso
281 cloud_init_iface_up: ens3
282 volumes:
283 - name: system
284 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200285 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200286 format: qcow2
287 - name: cinder
288 capacity: 50
289 format: qcow2
290 - name: iso # Volume with name 'iso' will be used
291 # for store image with cloud-init metadata.
292 capacity: 1
293 format: raw
294 device: cdrom
295 bus: ide
296 cloudinit_meta_data: *cloudinit_meta_data
297 cloudinit_user_data: *cloudinit_user_data_1604
298
299 interfaces: *interfaces
300 network_config: *network_config
301
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200302 - name: {{ HOSTNAME_PRX01 }}
303 role: salt_minion
304 params:
305 vcpu: !os_env SLAVE_NODE_CPU, 1
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200306 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200307 boot:
308 - hd
309 cloud_init_volume_name: iso
310 cloud_init_iface_up: ens3
311 volumes:
312 - name: system
313 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200314 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200315 format: qcow2
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200316 - name: cinder
317 capacity: 50
318 format: qcow2
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200319 - name: iso # Volume with name 'iso' will be used
320 # for store image with cloud-init metadata.
321 capacity: 1
322 format: raw
323 device: cdrom
324 bus: ide
325 cloudinit_meta_data: *cloudinit_meta_data
326 cloudinit_user_data: *cloudinit_user_data_1604
327
328 interfaces: *interfaces
329 network_config: *network_config
330
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200331
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200332 - name: {{ HOSTNAME_CMP01 }}
333 role: salt_minion
334 params:
335 vcpu: !os_env SLAVE_NODE_CPU, 3
336 memory: !os_env SLAVE_NODE_MEMORY, 4096
337 boot:
338 - hd
339 cloud_init_volume_name: iso
340 cloud_init_iface_up: ens3
341 volumes:
342 - name: system
343 capacity: !os_env NODE_VOLUME_SIZE, 150
344 backing_store: cloudimage1604
345 format: qcow2
346 - name: iso # Volume with name 'iso' will be used
347 # for store image with cloud-init metadata.
348 capacity: 1
349 format: raw
350 device: cdrom
351 bus: ide
352 cloudinit_meta_data: *cloudinit_meta_data
353 cloudinit_user_data: *cloudinit_user_data_1604
354
355
356 interfaces: &all_interfaces
357 - label: ens3
358 l2_network_device: admin
359 interface_model: *interface_model
360 - label: ens4
361 l2_network_device: private
362 interface_model: *interface_model
363 - label: ens5
364 l2_network_device: tenant
365 interface_model: *interface_model
366 - label: ens6
367 l2_network_device: external
368 interface_model: *interface_model
369 network_config: &all_network_config
370 ens3:
371 networks:
372 - admin
373 ens4:
374 networks:
375 - private
376 ens5:
377 networks:
378 - tenant
379 ens6:
380 networks:
381 - external
382
383 - name: {{ HOSTNAME_CMP02 }}
384 role: salt_minion
385 params:
386 vcpu: !os_env SLAVE_NODE_CPU, 3
387 memory: !os_env SLAVE_NODE_MEMORY, 4096
388 boot:
389 - hd
390 cloud_init_volume_name: iso
391 cloud_init_iface_up: ens3
392 volumes:
393 - name: system
394 capacity: !os_env NODE_VOLUME_SIZE, 150
395 backing_store: cloudimage1604
396 format: qcow2
397 - name: iso # Volume with name 'iso' will be used
398 # for store image with cloud-init metadata.
399 capacity: 1
400 format: raw
401 device: cdrom
402 bus: ide
403 cloudinit_meta_data: *cloudinit_meta_data
404 cloudinit_user_data: *cloudinit_user_data_1604
405
406 interfaces: *all_interfaces
407 network_config: *all_network_config
408
409 - name: {{ HOSTNAME_GTW01 }}
410 role: salt_minion
411 params:
Dennis Dmitrievfd3370b2018-03-07 00:50:35 +0200412 vcpu: !os_env SLAVE_NODE_CPU, 4
413 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200414 boot:
415 - hd
416 cloud_init_volume_name: iso
417 cloud_init_iface_up: ens3
418 volumes:
419 - name: system
420 capacity: !os_env NODE_VOLUME_SIZE, 150
421 backing_store: cloudimage1604
422 format: qcow2
423 - name: iso # Volume with name 'iso' will be used
424 # for store image with cloud-init metadata.
425 capacity: 1
426 format: raw
427 device: cdrom
428 bus: ide
429 cloudinit_meta_data: *cloudinit_meta_data
430 cloudinit_user_data: *cloudinit_user_data_1604
431
432 interfaces: *all_interfaces
433 network_config: *all_network_config
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200434
435 - name: {{ HOSTNAME_DNS01 }}
436 role: salt_minion
437 params:
438 vcpu: !os_env SLAVE_NODE_CPU, 1
439 memory: !os_env SLAVE_NODE_MEMORY, 2048
440 boot:
441 - hd
442 cloud_init_volume_name: iso
443 cloud_init_iface_up: ens3
444 volumes:
445 - name: system
446 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200447 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200448 format: qcow2
449 - name: iso # Volume with name 'iso' will be used
450 # for store image with cloud-init metadata.
451 capacity: 1
452 format: raw
453 device: cdrom
454 bus: ide
455 cloudinit_meta_data: *cloudinit_meta_data
456 cloudinit_user_data: *cloudinit_user_data_1604
457
458 interfaces: *all_interfaces
459 network_config: *all_network_config
460
461 - name: {{ HOSTNAME_DNS02 }}
462 role: salt_minion
463 params:
464 vcpu: !os_env SLAVE_NODE_CPU, 1
465 memory: !os_env SLAVE_NODE_MEMORY, 2048
466 boot:
467 - hd
468 cloud_init_volume_name: iso
469 cloud_init_iface_up: ens3
470 volumes:
471 - name: system
472 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200473 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200474 format: qcow2
475 - name: iso # Volume with name 'iso' will be used
476 # for store image with cloud-init metadata.
477 capacity: 1
478 format: raw
479 device: cdrom
480 bus: ide
481 cloudinit_meta_data: *cloudinit_meta_data
482 cloudinit_user_data: *cloudinit_user_data_1604
483
484 interfaces: *all_interfaces
485 network_config: *all_network_config