blob: 98bea61fa70e2e3a6cbb478d4a056cf340d34984 [file] [log] [blame]
Tatyana Leontovichc447b122018-02-22 12:30:42 +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-ssl/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-mcp-pike-dvr-ssl/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-mcp-pike-dvr-ssl/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-ssl') %}
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) %}
Tatyana Leontovichc447b122018-02-22 12:30:42 +020023{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
24{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
sgudz8cbe2a32018-04-02 15:47:59 +030025{% set HOSTNAME_SHARE01 = os_env('HOSTNAME_SHARE01', 'share01.' + DOMAIN_NAME) %}
Tatyana Leontovichc447b122018-02-22 12:30:42 +020026
27template:
28 devops_settings:
29 env_name: {{ os_env('ENV_NAME', 'virtual-mcp-pike-dvr-ssl_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
30
31 address_pools:
32 private-pool01:
33 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
34 params:
35 ip_reserved:
36 gateway: +1
37 l2_network_device: +1
38 default_{{ HOSTNAME_CFG01 }}: +100
39 default_{{ HOSTNAME_CTL01 }}: +101
40 default_{{ HOSTNAME_CTL02 }}: +102
41 default_{{ HOSTNAME_CTL03 }}: +103
42 default_{{ HOSTNAME_CMP01 }}: +105
43 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichc447b122018-02-22 12:30:42 +020044 default_{{ HOSTNAME_GTW01 }}: +110
45 default_{{ HOSTNAME_PRX01 }}: +121
sgudz8cbe2a32018-04-02 15:47:59 +030046 default_{{ HOSTNAME_SHARE01 }}: +130
Tatyana Leontovichc447b122018-02-22 12:30:42 +020047 ip_ranges:
48 dhcp: [+90, -10]
49
50 admin-pool01:
51 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
52 params:
53 ip_reserved:
54 gateway: +1
55 l2_network_device: +1
56 default_{{ HOSTNAME_CFG01 }}: +90
57 default_{{ HOSTNAME_CTL01 }}: +101
58 default_{{ HOSTNAME_CTL02 }}: +102
59 default_{{ HOSTNAME_CTL03 }}: +103
60 default_{{ HOSTNAME_CMP01 }}: +105
61 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichc447b122018-02-22 12:30:42 +020062 default_{{ HOSTNAME_GTW01 }}: +110
63 default_{{ HOSTNAME_PRX01 }}: +121
sgudz8cbe2a32018-04-02 15:47:59 +030064 default_{{ HOSTNAME_SHARE01 }}: +130
Tatyana Leontovichc447b122018-02-22 12:30:42 +020065 ip_ranges:
66 dhcp: [+90, -10]
67
68 tenant-pool01:
69 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
70 params:
71 ip_reserved:
72 gateway: +1
73 l2_network_device: +1
74 default_{{ HOSTNAME_CFG01 }}: +100
75 default_{{ HOSTNAME_CTL01 }}: +101
76 default_{{ HOSTNAME_CTL02 }}: +102
77 default_{{ HOSTNAME_CTL03 }}: +103
78 default_{{ HOSTNAME_CMP01 }}: +105
79 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichc447b122018-02-22 12:30:42 +020080 default_{{ HOSTNAME_GTW01 }}: +110
81 default_{{ HOSTNAME_PRX01 }}: +121
sgudz8cbe2a32018-04-02 15:47:59 +030082 default_{{ HOSTNAME_SHARE01 }}: +130
Tatyana Leontovichc447b122018-02-22 12:30:42 +020083 ip_ranges:
84 dhcp: [+10, -10]
85
86 external-pool01:
87 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
88 params:
89 ip_reserved:
90 gateway: +1
91 l2_network_device: +1
92 default_{{ HOSTNAME_CFG01 }}: +100
93 default_{{ HOSTNAME_CTL01 }}: +101
94 default_{{ HOSTNAME_CTL02 }}: +102
95 default_{{ HOSTNAME_CTL03 }}: +103
96 default_{{ HOSTNAME_CMP01 }}: +105
97 default_{{ HOSTNAME_CMP02 }}: +106
Tatyana Leontovichc447b122018-02-22 12:30:42 +020098 default_{{ HOSTNAME_GTW01 }}: +110
99 default_{{ HOSTNAME_PRX01 }}: +121
sgudz8cbe2a32018-04-02 15:47:59 +0300100 default_{{ HOSTNAME_SHARE01 }}: +130
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200101 ip_ranges:
102 dhcp: [+10, -10]
103
104
105 groups:
106 - name: default
107 driver:
108 name: devops.driver.libvirt
109 params:
110 connection_string: !os_env CONNECTION_STRING, qemu:///system
111 storage_pool_name: !os_env STORAGE_POOL_NAME, default
112 stp: False
113 hpet: False
114 enable_acpi: true
115 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
116 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
117
118 network_pools:
119 admin: admin-pool01
120 private: private-pool01
121 tenant: tenant-pool01
122 external: external-pool01
123
124 l2_network_devices:
125 private:
126 address_pool: private-pool01
Dennis Dmitriev68ef8ff2018-03-22 18:13:36 +0200127 dhcp: false
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200128 forward:
129 mode: route
130
131 admin:
132 address_pool: admin-pool01
133 dhcp: true
134 forward:
135 mode: nat
136
137 tenant:
138 address_pool: tenant-pool01
Dennis Dmitriev68ef8ff2018-03-22 18:13:36 +0200139 dhcp: false
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200140
141 external:
142 address_pool: external-pool01
143 dhcp: true
144 forward:
145 mode: nat
146
147
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
159 nodes:
160 - name: {{ HOSTNAME_CFG01 }}
161 role: salt_master
162 params:
163 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200164 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200165 boot:
166 - hd
167 cloud_init_volume_name: iso
168 cloud_init_iface_up: ens3
169 volumes:
170 - name: system
171 capacity: !os_env NODE_VOLUME_SIZE, 150
172 backing_store: cfg01_day01_image
173 format: qcow2
174 - name: iso # Volume with name 'iso' will be used
175 # for store image with cloud-init metadata.
176 capacity: 1
177 format: raw
178 device: cdrom
179 bus: ide
180 cloudinit_meta_data: *cloudinit_meta_data
181 cloudinit_user_data: *cloudinit_user_data_cfg01
182
183 interfaces:
184 - label: ens3
185 l2_network_device: admin
186 interface_model: *interface_model
187 - label: ens4
188 l2_network_device: private
189 interface_model: *interface_model
190 network_config:
191 ens3:
192 networks:
193 - admin
194 ens4:
195 networks:
196 - private
197
198 - name: {{ HOSTNAME_CTL01 }}
199 role: salt_minion
200 params:
201 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200202 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200203 boot:
204 - hd
205 cloud_init_volume_name: iso
206 cloud_init_iface_up: ens3
207 volumes:
208 - name: system
209 capacity: !os_env NODE_VOLUME_SIZE, 150
210 backing_store: mcp_ubuntu_1604_image
211 format: qcow2
212 - name: cinder
213 capacity: 50
214 format: qcow2
215 - name: iso # Volume with name 'iso' will be used
216 # for store image with cloud-init metadata.
217 capacity: 1
218 format: raw
219 device: cdrom
220 bus: ide
221 cloudinit_meta_data: *cloudinit_meta_data
222 cloudinit_user_data: *cloudinit_user_data_1604
223
224 interfaces: &interfaces
225 - label: ens3
226 l2_network_device: admin
227 interface_model: *interface_model
228 - label: ens4
229 l2_network_device: private
230 interface_model: *interface_model
231 network_config: &network_config
232 ens3:
233 networks:
234 - admin
235 ens4:
236 networks:
237 - private
238
239 - name: {{ HOSTNAME_CTL02 }}
240 role: salt_minion
241 params:
242 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200243 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200244 boot:
245 - hd
246 cloud_init_volume_name: iso
247 cloud_init_iface_up: ens3
248 volumes:
249 - name: system
250 capacity: !os_env NODE_VOLUME_SIZE, 150
251 backing_store: mcp_ubuntu_1604_image
252 format: qcow2
253 - name: cinder
254 capacity: 50
255 format: qcow2
256 - name: iso # Volume with name 'iso' will be used
257 # for store image with cloud-init metadata.
258 capacity: 1
259 format: raw
260 device: cdrom
261 bus: ide
262 cloudinit_meta_data: *cloudinit_meta_data
263 cloudinit_user_data: *cloudinit_user_data_1604
264
265 interfaces: *interfaces
266 network_config: *network_config
267
268 - name: {{ HOSTNAME_CTL03 }}
269 role: salt_minion
270 params:
271 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200272 memory: !os_env SLAVE_NODE_MEMORY, 16384
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200273 boot:
274 - hd
275 cloud_init_volume_name: iso
276 cloud_init_iface_up: ens3
277 volumes:
278 - name: system
279 capacity: !os_env NODE_VOLUME_SIZE, 150
280 backing_store: mcp_ubuntu_1604_image
281 format: qcow2
282 - name: cinder
283 capacity: 50
284 format: qcow2
285 - name: iso # Volume with name 'iso' will be used
286 # for store image with cloud-init metadata.
287 capacity: 1
288 format: raw
289 device: cdrom
290 bus: ide
291 cloudinit_meta_data: *cloudinit_meta_data
292 cloudinit_user_data: *cloudinit_user_data_1604
293
294 interfaces: *interfaces
295 network_config: *network_config
296
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200297 - name: {{ HOSTNAME_PRX01 }}
298 role: salt_minion
299 params:
300 vcpu: !os_env SLAVE_NODE_CPU, 1
301 memory: !os_env SLAVE_NODE_MEMORY, 8192
302 boot:
303 - hd
304 cloud_init_volume_name: iso
305 cloud_init_iface_up: ens3
306 volumes:
307 - name: system
308 capacity: !os_env NODE_VOLUME_SIZE, 150
309 backing_store: mcp_ubuntu_1604_image
310 format: qcow2
311 - name: cinder
312 capacity: 50
313 format: qcow2
314 - name: iso # Volume with name 'iso' will be used
315 # for store image with cloud-init metadata.
316 capacity: 1
317 format: raw
318 device: cdrom
319 bus: ide
320 cloudinit_meta_data: *cloudinit_meta_data
321 cloudinit_user_data: *cloudinit_user_data_1604
322
323 interfaces: *interfaces
324 network_config: *network_config
325
326
327 - name: {{ HOSTNAME_CMP01 }}
328 role: salt_minion
329 params:
330 vcpu: !os_env SLAVE_NODE_CPU, 3
331 memory: !os_env SLAVE_NODE_MEMORY, 4096
332 boot:
333 - hd
334 cloud_init_volume_name: iso
335 cloud_init_iface_up: ens3
336 volumes:
337 - name: system
338 capacity: !os_env NODE_VOLUME_SIZE, 150
339 backing_store: cloudimage1604
340 format: qcow2
341 - name: iso # Volume with name 'iso' will be used
342 # for store image with cloud-init metadata.
343 capacity: 1
344 format: raw
345 device: cdrom
346 bus: ide
347 cloudinit_meta_data: *cloudinit_meta_data
348 cloudinit_user_data: *cloudinit_user_data_1604
349
350
351 interfaces: &all_interfaces
352 - label: ens3
353 l2_network_device: admin
354 interface_model: *interface_model
355 - label: ens4
356 l2_network_device: private
357 interface_model: *interface_model
358 - label: ens5
359 l2_network_device: tenant
360 interface_model: *interface_model
361 - label: ens6
362 l2_network_device: external
363 interface_model: *interface_model
364 network_config: &all_network_config
365 ens3:
366 networks:
367 - admin
368 ens4:
369 networks:
370 - private
371 ens5:
372 networks:
373 - tenant
374 ens6:
375 networks:
376 - external
377
378 - name: {{ HOSTNAME_CMP02 }}
379 role: salt_minion
380 params:
381 vcpu: !os_env SLAVE_NODE_CPU, 3
382 memory: !os_env SLAVE_NODE_MEMORY, 4096
383 boot:
384 - hd
385 cloud_init_volume_name: iso
386 cloud_init_iface_up: ens3
387 volumes:
388 - name: system
389 capacity: !os_env NODE_VOLUME_SIZE, 150
390 backing_store: cloudimage1604
391 format: qcow2
392 - name: iso # Volume with name 'iso' will be used
393 # for store image with cloud-init metadata.
394 capacity: 1
395 format: raw
396 device: cdrom
397 bus: ide
398 cloudinit_meta_data: *cloudinit_meta_data
399 cloudinit_user_data: *cloudinit_user_data_1604
400
401 interfaces: *all_interfaces
402 network_config: *all_network_config
403
404 - name: {{ HOSTNAME_GTW01 }}
405 role: salt_minion
406 params:
Dennis Dmitrievfd3370b2018-03-07 00:50:35 +0200407 vcpu: !os_env SLAVE_NODE_CPU, 4
408 memory: !os_env SLAVE_NODE_MEMORY, 4096
Tatyana Leontovichc447b122018-02-22 12:30:42 +0200409 boot:
410 - hd
411 cloud_init_volume_name: iso
412 cloud_init_iface_up: ens3
413 volumes:
414 - name: system
415 capacity: !os_env NODE_VOLUME_SIZE, 150
416 backing_store: cloudimage1604
417 format: qcow2
418 - name: iso # Volume with name 'iso' will be used
419 # for store image with cloud-init metadata.
420 capacity: 1
421 format: raw
422 device: cdrom
423 bus: ide
424 cloudinit_meta_data: *cloudinit_meta_data
425 cloudinit_user_data: *cloudinit_user_data_1604
426
427 interfaces: *all_interfaces
428 network_config: *all_network_config
sgudz8cbe2a32018-04-02 15:47:59 +0300429
430 - name: {{ HOSTNAME_SHARE01 }}
431 role: salt_minion
432 params:
433 vcpu: !os_env SLAVE_NODE_CPU, 2
434 memory: !os_env SLAVE_NODE_MEMORY, 4096
435 boot:
436 - hd
437 cloud_init_volume_name: iso
438 cloud_init_iface_up: ens3
439 volumes:
440 - name: system
441 capacity: !os_env NODE_VOLUME_SIZE, 150
442 backing_store: mcp_ubuntu_1604_image
443 format: qcow2
444 - name: iso # Volume with name 'iso' will be used
445 # for store image with cloud-init metadata.
446 capacity: 1
447 format: raw
448 device: cdrom
449 bus: ide
450 cloudinit_meta_data: *cloudinit_meta_data
451 cloudinit_user_data: *cloudinit_user_data_1604
452
453 interfaces: *all_interfaces
454 network_config: *all_network_config