blob: b2bfc56d6cf3e828bc13b0c7c452b573a23eacad [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-ovs/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-mcp-pike-ovs/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-mcp-pike-ovs/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-ovs') %}
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 Leontovichb0b68d92018-01-11 13:27:08 +020023{% set HOSTNAME_MON01 = os_env('HOSTNAME_MON01', 'mon01.' + DOMAIN_NAME) %}
24{% set HOSTNAME_MON02 = os_env('HOSTNAME_MON02', 'mon02.' + DOMAIN_NAME) %}
25{% set HOSTNAME_MON03 = os_env('HOSTNAME_MON03', 'mon03.' + DOMAIN_NAME) %}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020026{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
27{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
28
29template:
30 devops_settings:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020031 env_name: {{ os_env('ENV_NAME', 'virtual-mcp-pike-ovs_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
Tatyana Leontovich56005da2017-12-11 13:16:51 +020032
33 address_pools:
34 private-pool01:
35 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
36 params:
37 ip_reserved:
38 gateway: +1
39 l2_network_device: +1
40 default_{{ HOSTNAME_CFG01 }}: +100
41 default_{{ HOSTNAME_CTL01 }}: +101
42 default_{{ HOSTNAME_CTL02 }}: +102
43 default_{{ HOSTNAME_CTL03 }}: +103
44 default_{{ HOSTNAME_CMP01 }}: +105
45 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020046 default_{{ HOSTNAME_MON01 }}: +107
47 default_{{ HOSTNAME_MON02 }}: +108
48 default_{{ HOSTNAME_MON03 }}: +109
Tatyana Leontovich56005da2017-12-11 13:16:51 +020049 default_{{ HOSTNAME_GTW01 }}: +110
50 default_{{ HOSTNAME_PRX01 }}: +121
51 ip_ranges:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020052 dhcp: [+90, -10]
Tatyana Leontovich56005da2017-12-11 13:16:51 +020053
54 admin-pool01:
55 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
56 params:
57 ip_reserved:
58 gateway: +1
59 l2_network_device: +1
60 default_{{ HOSTNAME_CFG01 }}: +90
61 default_{{ HOSTNAME_CTL01 }}: +101
62 default_{{ HOSTNAME_CTL02 }}: +102
63 default_{{ HOSTNAME_CTL03 }}: +103
64 default_{{ HOSTNAME_CMP01 }}: +105
65 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020066 default_{{ HOSTNAME_MON01 }}: +107
67 default_{{ HOSTNAME_MON02 }}: +108
68 default_{{ HOSTNAME_MON03 }}: +109
Tatyana Leontovich56005da2017-12-11 13:16:51 +020069 default_{{ HOSTNAME_GTW01 }}: +110
70 default_{{ HOSTNAME_PRX01 }}: +121
71 ip_ranges:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020072 dhcp: [+90, -10]
Tatyana Leontovich56005da2017-12-11 13:16:51 +020073
74 tenant-pool01:
75 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
76 params:
77 ip_reserved:
78 gateway: +1
79 l2_network_device: +1
80 default_{{ HOSTNAME_CFG01 }}: +100
81 default_{{ HOSTNAME_CTL01 }}: +101
82 default_{{ HOSTNAME_CTL02 }}: +102
83 default_{{ HOSTNAME_CTL03 }}: +103
84 default_{{ HOSTNAME_CMP01 }}: +105
85 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +020086 default_{{ HOSTNAME_MON01 }}: +107
87 default_{{ HOSTNAME_MON02 }}: +108
88 default_{{ HOSTNAME_MON03 }}: +109
Tatyana Leontovich56005da2017-12-11 13:16:51 +020089 default_{{ HOSTNAME_GTW01 }}: +110
90 default_{{ HOSTNAME_PRX01 }}: +121
91 ip_ranges:
92 dhcp: [+10, -10]
93
94 external-pool01:
95 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
96 params:
97 ip_reserved:
98 gateway: +1
99 l2_network_device: +1
100 default_{{ HOSTNAME_CFG01 }}: +100
101 default_{{ HOSTNAME_CTL01 }}: +101
102 default_{{ HOSTNAME_CTL02 }}: +102
103 default_{{ HOSTNAME_CTL03 }}: +103
104 default_{{ HOSTNAME_CMP01 }}: +105
105 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200106 default_{{ HOSTNAME_MON01 }}: +107
107 default_{{ HOSTNAME_MON02 }}: +108
108 default_{{ HOSTNAME_MON03 }}: +109
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200109 default_{{ HOSTNAME_GTW01 }}: +110
110 default_{{ HOSTNAME_PRX01 }}: +121
111 ip_ranges:
112 dhcp: [+10, -10]
113
114
115 groups:
116 - name: default
117 driver:
118 name: devops.driver.libvirt
119 params:
120 connection_string: !os_env CONNECTION_STRING, qemu:///system
121 storage_pool_name: !os_env STORAGE_POOL_NAME, default
122 stp: False
123 hpet: False
124 enable_acpi: true
125 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
126 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
127
128 network_pools:
129 admin: admin-pool01
130 private: private-pool01
131 tenant: tenant-pool01
132 external: external-pool01
133
134 l2_network_devices:
135 private:
136 address_pool: private-pool01
137 dhcp: true
138
139 admin:
140 address_pool: admin-pool01
141 dhcp: true
142 forward:
143 mode: nat
144
145 tenant:
146 address_pool: tenant-pool01
147 dhcp: true
148
149 external:
150 address_pool: external-pool01
151 dhcp: true
152 forward:
153 mode: nat
154
155
156 group_volumes:
157 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200158 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
159 format: qcow2
160 - name: cfg01_day01_image # Pre-configured day01 image
161 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 +0200162 format: qcow2
Tatyana Leontovichded29902018-01-30 09:53:34 +0200163 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
164 source_image: !os_env MCP_IMAGE_PATH1604
165 format: qcow2
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200166
167 nodes:
168 - name: {{ HOSTNAME_CFG01 }}
169 role: salt_master
170 params:
171 vcpu: !os_env SLAVE_NODE_CPU, 2
172 memory: !os_env SLAVE_NODE_MEMORY, 4096
173 boot:
174 - hd
175 cloud_init_volume_name: iso
176 cloud_init_iface_up: ens3
177 volumes:
178 - name: system
179 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200180 backing_store: cfg01_day01_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200181 format: qcow2
182 - name: iso # Volume with name 'iso' will be used
183 # for store image with cloud-init metadata.
184 capacity: 1
185 format: raw
186 device: cdrom
187 bus: ide
188 cloudinit_meta_data: *cloudinit_meta_data
189 cloudinit_user_data: *cloudinit_user_data_cfg01
190
191 interfaces:
192 - label: ens3
193 l2_network_device: admin
194 interface_model: *interface_model
195 - label: ens4
196 l2_network_device: private
197 interface_model: *interface_model
198 network_config:
199 ens3:
200 networks:
201 - admin
202 ens4:
203 networks:
204 - private
205
206 - name: {{ HOSTNAME_CTL01 }}
207 role: salt_minion
208 params:
209 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200210 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200211 boot:
212 - hd
213 cloud_init_volume_name: iso
214 cloud_init_iface_up: ens3
215 volumes:
216 - name: system
217 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200218 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200219 format: qcow2
220 - name: cinder
221 capacity: 50
222 format: qcow2
223 - name: iso # Volume with name 'iso' will be used
224 # for store image with cloud-init metadata.
225 capacity: 1
226 format: raw
227 device: cdrom
228 bus: ide
229 cloudinit_meta_data: *cloudinit_meta_data
230 cloudinit_user_data: *cloudinit_user_data_1604
231
232 interfaces: &interfaces
233 - label: ens3
234 l2_network_device: admin
235 interface_model: *interface_model
236 - label: ens4
237 l2_network_device: private
238 interface_model: *interface_model
239 network_config: &network_config
240 ens3:
241 networks:
242 - admin
243 ens4:
244 networks:
245 - private
246
247 - name: {{ HOSTNAME_CTL02 }}
248 role: salt_minion
249 params:
250 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200251 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200252 boot:
253 - hd
254 cloud_init_volume_name: iso
255 cloud_init_iface_up: ens3
256 volumes:
257 - name: system
258 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200259 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200260 format: qcow2
261 - name: cinder
262 capacity: 50
263 format: qcow2
264 - name: iso # Volume with name 'iso' will be used
265 # for store image with cloud-init metadata.
266 capacity: 1
267 format: raw
268 device: cdrom
269 bus: ide
270 cloudinit_meta_data: *cloudinit_meta_data
271 cloudinit_user_data: *cloudinit_user_data_1604
272
273 interfaces: *interfaces
274 network_config: *network_config
275
276 - name: {{ HOSTNAME_CTL03 }}
277 role: salt_minion
278 params:
279 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev0937c392018-01-29 18:46:40 +0200280 memory: !os_env SLAVE_NODE_MEMORY, 12288
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200281 boot:
282 - hd
283 cloud_init_volume_name: iso
284 cloud_init_iface_up: ens3
285 volumes:
286 - name: system
287 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200288 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200289 format: qcow2
290 - name: cinder
291 capacity: 50
292 format: qcow2
293 - name: iso # Volume with name 'iso' will be used
294 # for store image with cloud-init metadata.
295 capacity: 1
296 format: raw
297 device: cdrom
298 bus: ide
299 cloudinit_meta_data: *cloudinit_meta_data
300 cloudinit_user_data: *cloudinit_user_data_1604
301
302 interfaces: *interfaces
303 network_config: *network_config
304
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200305 - name: {{ HOSTNAME_MON01 }}
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200306 role: salt_minion
307 params:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200308 vcpu: !os_env SLAVE_NODE_CPU, 3
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200309 memory: !os_env SLAVE_NODE_MEMORY, 2048
310 boot:
311 - hd
312 cloud_init_volume_name: iso
313 cloud_init_iface_up: ens3
314 volumes:
315 - name: system
316 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200317 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200318 format: qcow2
319 - 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 - name: {{ HOSTNAME_MON02 }}
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200332 role: salt_minion
333 params:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200334 vcpu: !os_env SLAVE_NODE_CPU, 3
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200335 memory: !os_env SLAVE_NODE_MEMORY, 2048
336 boot:
337 - hd
338 cloud_init_volume_name: iso
339 cloud_init_iface_up: ens3
340 volumes:
341 - name: system
342 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200343 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200344 format: qcow2
345 - name: iso # Volume with name 'iso' will be used
346 # for store image with cloud-init metadata.
347 capacity: 1
348 format: raw
349 device: cdrom
350 bus: ide
351 cloudinit_meta_data: *cloudinit_meta_data
352 cloudinit_user_data: *cloudinit_user_data_1604
353
354 interfaces: *interfaces
355 network_config: *network_config
356
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200357 - name: {{ HOSTNAME_MON03 }}
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200358 role: salt_minion
359 params:
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200360 vcpu: !os_env SLAVE_NODE_CPU, 3
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200361 memory: !os_env SLAVE_NODE_MEMORY, 2048
362 boot:
363 - hd
364 cloud_init_volume_name: iso
365 cloud_init_iface_up: ens3
366 volumes:
367 - name: system
368 capacity: !os_env NODE_VOLUME_SIZE, 150
Tatyana Leontovichded29902018-01-30 09:53:34 +0200369 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200370 format: qcow2
371 - name: iso # Volume with name 'iso' will be used
372 # for store image with cloud-init metadata.
373 capacity: 1
374 format: raw
375 device: cdrom
376 bus: ide
377 cloudinit_meta_data: *cloudinit_meta_data
378 cloudinit_user_data: *cloudinit_user_data_1604
379
380 interfaces: *interfaces
381 network_config: *network_config
382
383 - name: {{ HOSTNAME_PRX01 }}
384 role: salt_minion
385 params:
386 vcpu: !os_env SLAVE_NODE_CPU, 1
387 memory: !os_env SLAVE_NODE_MEMORY, 2048
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
Tatyana Leontovichded29902018-01-30 09:53:34 +0200395 backing_store: mcp_ubuntu_1604_image
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200396 format: qcow2
Tatyana Leontovichb0b68d92018-01-11 13:27:08 +0200397 - name: cinder
398 capacity: 50
399 format: qcow2
Tatyana Leontovich56005da2017-12-11 13:16:51 +0200400 - name: iso # Volume with name 'iso' will be used
401 # for store image with cloud-init metadata.
402 capacity: 1
403 format: raw
404 device: cdrom
405 bus: ide
406 cloudinit_meta_data: *cloudinit_meta_data
407 cloudinit_user_data: *cloudinit_user_data_1604
408
409 interfaces: *interfaces
410 network_config: *network_config
411
412 - name: {{ HOSTNAME_CMP01 }}
413 role: salt_minion
414 params:
415 vcpu: !os_env SLAVE_NODE_CPU, 3
416 memory: !os_env SLAVE_NODE_MEMORY, 4096
417 boot:
418 - hd
419 cloud_init_volume_name: iso
420 cloud_init_iface_up: ens3
421 volumes:
422 - name: system
423 capacity: !os_env NODE_VOLUME_SIZE, 150
424 backing_store: cloudimage1604
425 format: qcow2
426 - name: iso # Volume with name 'iso' will be used
427 # for store image with cloud-init metadata.
428 capacity: 1
429 format: raw
430 device: cdrom
431 bus: ide
432 cloudinit_meta_data: *cloudinit_meta_data
433 cloudinit_user_data: *cloudinit_user_data_1604
434
435
436 interfaces: &all_interfaces
437 - label: ens3
438 l2_network_device: admin
439 interface_model: *interface_model
440 - label: ens4
441 l2_network_device: private
442 interface_model: *interface_model
443 - label: ens5
444 l2_network_device: tenant
445 interface_model: *interface_model
446 - label: ens6
447 l2_network_device: external
448 interface_model: *interface_model
449 network_config: &all_network_config
450 ens3:
451 networks:
452 - admin
453 ens4:
454 networks:
455 - private
456 ens5:
457 networks:
458 - tenant
459 ens6:
460 networks:
461 - external
462
463 - name: {{ HOSTNAME_CMP02 }}
464 role: salt_minion
465 params:
466 vcpu: !os_env SLAVE_NODE_CPU, 3
467 memory: !os_env SLAVE_NODE_MEMORY, 4096
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_GTW01 }}
490 role: salt_minion
491 params:
492 vcpu: !os_env SLAVE_NODE_CPU, 1
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: *all_interfaces
513 network_config: *all_network_config