blob: aa5cbb553b22eb3efea11b5b1f37f636d53d27b7 [file] [log] [blame]
Dmitry Tyzhnenko35413c02018-03-05 14:12:37 +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
4{% import 'virtual-mcp-pike-dvr-maas/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-mcp-pike-dvr-maas/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-mcp-pike-dvr-maas/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-dvr') %}
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_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
24{% set HOSTNAME_DNS01 = os_env('HOSTNAME_DNS01', 'dns01.' + DOMAIN_NAME) %}
25{% set HOSTNAME_DNS02 = os_env('HOSTNAME_DNS02', 'dns02.' + DOMAIN_NAME) %}
26{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
27
28template:
29 devops_settings:
30 env_name: {{ os_env('ENV_NAME', 'virtual-mcp-pike-dvr_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
31
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
45 default_{{ HOSTNAME_GTW01 }}: +110
46 default_{{ HOSTNAME_DNS01 }}: +111
47 default_{{ HOSTNAME_DNS02 }}: +112
48 default_{{ HOSTNAME_PRX01 }}: +121
49 ip_ranges:
50 dhcp: [+90, -10]
51
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
64 default_{{ HOSTNAME_GTW01 }}: +110
65 default_{{ HOSTNAME_DNS01 }}: +111
66 default_{{ HOSTNAME_DNS02 }}: +112
67 default_{{ HOSTNAME_PRX01 }}: +121
68 ip_ranges:
69 dhcp: [+90, -10]
70
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
83 default_{{ HOSTNAME_GTW01 }}: +110
84 default_{{ HOSTNAME_DNS01 }}: +111
85 default_{{ HOSTNAME_DNS02 }}: +112
86 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
102 default_{{ HOSTNAME_GTW01 }}: +110
103 default_{{ HOSTNAME_DNS01 }}: +111
104 default_{{ HOSTNAME_DNS02 }}: +112
105 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
132 dhcp: true
133 forward:
134 mode: route
135
136 admin:
137 address_pool: admin-pool01
138 dhcp: false
139 forward:
140 mode: nat
141
142 tenant:
143 address_pool: tenant-pool01
144 dhcp: true
145
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.
155 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
159 format: qcow2
160 # - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
161 # source_image: !os_env MCP_IMAGE_PATH1604
162 # format: qcow2
163
164 nodes:
165 - name: {{ HOSTNAME_CFG01 }}
166 role: salt_master
167 params:
168 vcpu: !os_env SLAVE_NODE_CPU, 4
169 memory: !os_env SLAVE_NODE_MEMORY, 8192
170 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
177 backing_store: cfg01_day01_image
178 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 bmc_port: 41623
203 bmc_network: admin
204
205 - name: {{ HOSTNAME_CTL01 }}
206 role: salt_minion
207 params:
208 vcpu: !os_env SLAVE_NODE_CPU, 2
209 memory: !os_env SLAVE_NODE_MEMORY, 12288
210 boot:
211 - hd
212 # cloud_init_volume_name: iso
213 # cloud_init_iface_up: ens3
214 volumes:
215 - name: system
216 capacity: !os_env NODE_VOLUME_SIZE, 150
217 # backing_store: mcp_ubuntu_1604_image
218 format: qcow2
219 - name: cinder
220 capacity: 50
221 format: qcow2
222 # - name: iso # Volume with name 'iso' will be used
223 # # for store image with cloud-init metadata.
224 # capacity: 1
225 # format: raw
226 # device: cdrom
227 # bus: ide
228 # cloudinit_meta_data: *cloudinit_meta_data
229 # cloudinit_user_data: *cloudinit_user_data_1604
230
231 interfaces: &interfaces
232 - label: ens3
233 l2_network_device: admin
234 interface_model: *interface_model
235 - label: ens4
236 l2_network_device: private
237 interface_model: *interface_model
238 network_config: &network_config
239 ens3:
240 networks:
241 - admin
242 ens4:
243 networks:
244 - private
245 bmc_port: 41624
246 bmc_network: admin
247
248 - name: {{ HOSTNAME_CTL02 }}
249 role: salt_minion
250 params:
251 vcpu: !os_env SLAVE_NODE_CPU, 2
252 memory: !os_env SLAVE_NODE_MEMORY, 12288
253 boot:
254 - hd
255 # cloud_init_volume_name: iso
256 # cloud_init_iface_up: ens3
257 volumes:
258 - name: system
259 capacity: !os_env NODE_VOLUME_SIZE, 150
260 # backing_store: mcp_ubuntu_1604_image
261 format: qcow2
262 - name: cinder
263 capacity: 50
264 format: qcow2
265 # - name: iso # Volume with name 'iso' will be used
266 # # for store image with cloud-init metadata.
267 # capacity: 1
268 # format: raw
269 # device: cdrom
270 # bus: ide
271 # cloudinit_meta_data: *cloudinit_meta_data
272 # cloudinit_user_data: *cloudinit_user_data_1604
273
274 interfaces: *interfaces
275 network_config: *network_config
276
277 bmc_port: 41625
278 bmc_network: admin
279
280 - name: {{ HOSTNAME_CTL03 }}
281 role: salt_minion
282 params:
283 vcpu: !os_env SLAVE_NODE_CPU, 2
284 memory: !os_env SLAVE_NODE_MEMORY, 12288
285 boot:
286 - hd
287 # cloud_init_volume_name: iso
288 # cloud_init_iface_up: ens3
289 volumes:
290 - name: system
291 capacity: !os_env NODE_VOLUME_SIZE, 150
292 # backing_store: mcp_ubuntu_1604_image
293 format: qcow2
294 - name: cinder
295 capacity: 50
296 format: qcow2
297 # - name: iso # Volume with name 'iso' will be used
298 # # for store image with cloud-init metadata.
299 # capacity: 1
300 # format: raw
301 # device: cdrom
302 # bus: ide
303 # cloudinit_meta_data: *cloudinit_meta_data
304 # cloudinit_user_data: *cloudinit_user_data_1604
305
306 interfaces: *interfaces
307 network_config: *network_config
308
309 bmc_port: 41626
310 bmc_network: admin
311
312 - name: {{ HOSTNAME_PRX01 }}
313 role: salt_minion
314 params:
315 vcpu: !os_env SLAVE_NODE_CPU, 1
316 memory: !os_env SLAVE_NODE_MEMORY, 8192
317 boot:
318 - hd
319 # cloud_init_volume_name: iso
320 # cloud_init_iface_up: ens3
321 volumes:
322 - name: system
323 capacity: !os_env NODE_VOLUME_SIZE, 150
324 # backing_store: mcp_ubuntu_1604_image
325 format: qcow2
326 - name: cinder
327 capacity: 50
328 format: qcow2
329 # - name: iso # Volume with name 'iso' will be used
330 # # for store image with cloud-init metadata.
331 # capacity: 1
332 # format: raw
333 # device: cdrom
334 # bus: ide
335 # cloudinit_meta_data: *cloudinit_meta_data
336 # cloudinit_user_data: *cloudinit_user_data_1604
337
338 interfaces: *interfaces
339 network_config: *network_config
340
341 bmc_port: 41630
342 bmc_network: admin
343
344 - name: {{ HOSTNAME_CMP01 }}
345 role: salt_minion
346 params:
347 vcpu: !os_env SLAVE_NODE_CPU, 3
348 memory: !os_env SLAVE_NODE_MEMORY, 4096
349 boot:
350 - hd
351 # cloud_init_volume_name: iso
352 # cloud_init_iface_up: ens3
353 volumes:
354 - name: system
355 capacity: !os_env NODE_VOLUME_SIZE, 150
356 # backing_store: cloudimage1604
357 format: qcow2
358 # - name: iso # Volume with name 'iso' will be used
359 # # for store image with cloud-init metadata.
360 # capacity: 1
361 # format: raw
362 # device: cdrom
363 # bus: ide
364 # cloudinit_meta_data: *cloudinit_meta_data
365 # cloudinit_user_data: *cloudinit_user_data_1604
366
367
368 interfaces: &all_interfaces
369 - label: ens3
370 l2_network_device: admin
371 interface_model: *interface_model
372 - label: ens4
373 l2_network_device: private
374 interface_model: *interface_model
375 - label: ens5
376 l2_network_device: tenant
377 interface_model: *interface_model
378 - label: ens6
379 l2_network_device: external
380 interface_model: *interface_model
381 network_config: &all_network_config
382 ens3:
383 networks:
384 - admin
385 ens4:
386 networks:
387 - private
388 ens5:
389 networks:
390 - tenant
391 ens6:
392 networks:
393 - external
394
395 bmc_port: 41631
396 bmc_network: admin
397
398 - name: {{ HOSTNAME_CMP02 }}
399 role: salt_minion
400 params:
401 vcpu: !os_env SLAVE_NODE_CPU, 3
402 memory: !os_env SLAVE_NODE_MEMORY, 4096
403 boot:
404 - hd
405 # cloud_init_volume_name: iso
406 # cloud_init_iface_up: ens3
407 volumes:
408 - name: system
409 capacity: !os_env NODE_VOLUME_SIZE, 150
410 # backing_store: cloudimage1604
411 format: qcow2
412 # - name: iso # Volume with name 'iso' will be used
413 # # for store image with cloud-init metadata.
414 # capacity: 1
415 # format: raw
416 # device: cdrom
417 # bus: ide
418 # cloudinit_meta_data: *cloudinit_meta_data
419 # cloudinit_user_data: *cloudinit_user_data_1604
420
421 interfaces: *all_interfaces
422 network_config: *all_network_config
423
424 bmc_port: 41632
425 bmc_network: admin
426
427 - name: {{ HOSTNAME_GTW01 }}
428 role: salt_minion
429 params:
430 vcpu: !os_env SLAVE_NODE_CPU, 1
431 memory: !os_env SLAVE_NODE_MEMORY, 2048
432 boot:
433 - hd
434 # cloud_init_volume_name: iso
435 # cloud_init_iface_up: ens3
436 volumes:
437 - name: system
438 capacity: !os_env NODE_VOLUME_SIZE, 150
439 # backing_store: cloudimage1604
440 format: qcow2
441 # - name: iso # Volume with name 'iso' will be used
442 # # for store image with cloud-init metadata.
443 # capacity: 1
444 # format: raw
445 # device: cdrom
446 # bus: ide
447 # cloudinit_meta_data: *cloudinit_meta_data
448 # cloudinit_user_data: *cloudinit_user_data_1604
449
450 interfaces: *all_interfaces
451 network_config: *all_network_config
452
453 bmc_port: 41633
454 bmc_network: admin
455
456 - name: {{ HOSTNAME_DNS01 }}
457 role: salt_minion
458 params:
459 vcpu: !os_env SLAVE_NODE_CPU, 1
460 memory: !os_env SLAVE_NODE_MEMORY, 2048
461 boot:
462 - hd
463 # cloud_init_volume_name: iso
464 # cloud_init_iface_up: ens3
465 volumes:
466 - name: system
467 capacity: !os_env NODE_VOLUME_SIZE, 150
468 # backing_store: mcp_ubuntu_1604_image
469 format: qcow2
470 # - name: iso # Volume with name 'iso' will be used
471 # # for store image with cloud-init metadata.
472 # capacity: 1
473 # format: raw
474 # device: cdrom
475 # bus: ide
476 # cloudinit_meta_data: *cloudinit_meta_data
477 # cloudinit_user_data: *cloudinit_user_data_1604
478
479 interfaces: *all_interfaces
480 network_config: *all_network_config
481
482 bmc_port: 41634
483 bmc_network: admin
484
485 - name: {{ HOSTNAME_DNS02 }}
486 role: salt_minion
487 params:
488 vcpu: !os_env SLAVE_NODE_CPU, 1
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: mcp_ubuntu_1604_image
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: *all_interfaces
509 network_config: *all_network_config
510
511 bmc_port: 41635
512 bmc_network: admin