blob: 0823cb4546281af7fe444d8a0c710e013647a35c [file] [log] [blame]
Tatyana Leontovich3c316a12018-01-31 12:42:22 +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-offline-pike-ovs/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'virtual-offline-pike-ovs/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'virtual-offline-pike-ovs/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7{% import 'virtual-offline-pike-ovs/underlay--user-data-apt01.yaml' as CLOUDINIT_USER_DATA_APT01 with context %}
8
9
10---
11aliases:
12 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
13 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
14 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
15 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
16 - &cloudinit_user_data_apt01 {{ CLOUDINIT_USER_DATA_APT01 }}
17
18{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'virtual-offline-pike-ovs') %}
19{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
20{% set HOSTNAME_APT01 = os_env('HOSTNAME_APT01', 'apt01.' + DOMAIN_NAME) %}
21{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
22{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
23{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
24{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
25{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
26{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
27{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
28{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
29
30template:
31 devops_settings:
32 env_name: {{ os_env('ENV_NAME', 'virtual-offline-pike-ovs_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
33
34 address_pools:
35 private-pool01:
36 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
37 params:
38 ip_reserved:
39 l2_network_device: +1
40 default_{{ HOSTNAME_APT01 }}: +122
41 default_{{ HOSTNAME_CFG01 }}: +100
42 default_{{ HOSTNAME_CTL01 }}: +101
43 default_{{ HOSTNAME_CTL02 }}: +102
44 default_{{ HOSTNAME_CTL03 }}: +103
45 default_{{ HOSTNAME_CMP01 }}: +105
46 default_{{ HOSTNAME_CMP02 }}: +106
47 default_{{ HOSTNAME_GTW01 }}: +110
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: +122
57 l2_network_device: +1
58 default_{{ HOSTNAME_APT01 }}: +122
59 default_{{ HOSTNAME_CFG01 }}: +90
60 default_{{ HOSTNAME_CTL01 }}: +101
61 default_{{ HOSTNAME_CTL02 }}: +102
62 default_{{ HOSTNAME_CTL03 }}: +103
63 default_{{ HOSTNAME_CMP01 }}: +105
64 default_{{ HOSTNAME_CMP02 }}: +106
65 default_{{ HOSTNAME_GTW01 }}: +110
66 default_{{ HOSTNAME_PRX01 }}: +121
67 ip_ranges:
68 dhcp: [+90, -10]
69
70 tenant-pool01:
71 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
72 params:
73 ip_reserved:
74 l2_network_device: +1
75 default_{{ HOSTNAME_APT01 }}: +122
76 default_{{ HOSTNAME_CFG01 }}: +100
77 default_{{ HOSTNAME_CTL01 }}: +101
78 default_{{ HOSTNAME_CTL02 }}: +102
79 default_{{ HOSTNAME_CTL03 }}: +103
80 default_{{ HOSTNAME_CMP01 }}: +105
81 default_{{ HOSTNAME_CMP02 }}: +106
82 default_{{ HOSTNAME_GTW01 }}: +110
83 default_{{ HOSTNAME_PRX01 }}: +121
84 ip_ranges:
85 dhcp: [+10, -10]
86 external-pool01:
87 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
88 params:
89 ip_reserved:
90 l2_network_device: +1
91 default_{{ HOSTNAME_APT01 }}: +122
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
98 default_{{ HOSTNAME_GTW01 }}: +110
99 default_{{ HOSTNAME_PRX01 }}: +121
100 ip_ranges:
101 dhcp: [+90, -10]
102
103 groups:
104 - name: default
105 driver:
106 name: devops.driver.libvirt
107 params:
108 connection_string: !os_env CONNECTION_STRING, qemu:///system
109 storage_pool_name: !os_env STORAGE_POOL_NAME, default
110 stp: False
111 hpet: False
112 enable_acpi: true
113 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
114 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
115
116 network_pools:
117 admin: admin-pool01
118 private: private-pool01
119 tenant: tenant-pool01
120 external: external-pool01
121
122 l2_network_devices:
123 private:
124 address_pool: private-pool01
125 dhcp: true
Dennis Dmitrieva5978eb2018-02-21 10:12:33 +0200126 forward:
127 mode: route
Tatyana Leontovich3c316a12018-01-31 12:42:22 +0200128
129 admin:
130 address_pool: admin-pool01
131 dhcp: true
132 forward:
133 mode: nat
134
135 tenant:
136 address_pool: tenant-pool01
137 dhcp: true
138
139 external:
140 address_pool: external-pool01
141 dhcp: true
142 forward:
143 mode: nat
144
145 group_volumes:
146 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
147 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
148 format: qcow2
149 - name: cfg01_day01_image # Pre-configured day01 image
150 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
151 format: qcow2
152 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
153 source_image: !os_env MCP_IMAGE_PATH1604
154 format: qcow2
Tatyana Leontovich32db0982018-02-26 22:06:17 +0200155 - name: apt_cloudimage1604 # This name is used for 'backing_store' option for node volumes.
156 source_image: !os_env APT_IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
157 format: qcow2
Tatyana Leontovich3c316a12018-01-31 12:42:22 +0200158
159 nodes:
160 - name: {{ HOSTNAME_APT01 }}
161 role: salt_minion
162 params:
163 vcpu: !os_env SLAVE_NODE_CPU, 2
164 memory: !os_env SLAVE_NODE_MEMORY, 4096
165 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
Tatyana Leontovich32db0982018-02-26 22:06:17 +0200172 backing_store: apt_cloudimage1604
Tatyana Leontovich3c316a12018-01-31 12:42:22 +0200173 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_apt01
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 - label: ens5
191 l2_network_device: tenant
192 interface_model: *interface_model
193 - label: ens6
194 l2_network_device: external
195 interface_model: *interface_model
196 network_config:
197 ens3:
198 networks:
199 - admin
200 ens4:
201 networks:
202 - private
203 ens5:
204 networks:
205 - tenant
206 ens6:
207 networks:
208 - external
209
210 - name: {{ HOSTNAME_CFG01 }}
211 role: salt_master
212 params:
213 vcpu: !os_env SLAVE_NODE_CPU, 2
Dennis Dmitriev75e250f2018-02-26 17:13:59 +0200214 memory: !os_env SLAVE_NODE_MEMORY, 8192
Tatyana Leontovich3c316a12018-01-31 12:42:22 +0200215 boot:
216 - hd
217 cloud_init_volume_name: iso
218 cloud_init_iface_up: ens3
219 volumes:
220 - name: system
221 capacity: !os_env NODE_VOLUME_SIZE, 150
222 backing_store: cfg01_day01_image
223 format: qcow2
224 - name: iso # Volume with name 'iso' will be used
225 # for store image with cloud-init metadata.
226 capacity: 1
227 format: raw
228 device: cdrom
229 bus: ide
230 cloudinit_meta_data: *cloudinit_meta_data
231 cloudinit_user_data: *cloudinit_user_data_cfg01
232
233 interfaces:
234 - label: ens3
235 l2_network_device: admin
236 interface_model: *interface_model
237 - label: ens4
238 l2_network_device: private
239 interface_model: *interface_model
240 network_config:
241 ens3:
242 networks:
243 - admin
244 ens4:
245 networks:
246 - private
247
248 - name: {{ HOSTNAME_CTL01 }}
249 role: salt_minion
250 params:
251 vcpu: !os_env SLAVE_NODE_CPU, 3
252 memory: !os_env SLAVE_NODE_MEMORY, 16384
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 - label: ens3
276 l2_network_device: admin
277 interface_model: *interface_model
278 - label: ens4
279 l2_network_device: private
280 interface_model: *interface_model
281 network_config: &network_config
282 ens3:
283 networks:
284 - admin
285 ens4:
286 networks:
287 - private
288
289 - name: {{ HOSTNAME_CTL02 }}
290 role: salt_minion
291 params:
292 vcpu: !os_env SLAVE_NODE_CPU, 3
293 memory: !os_env SLAVE_NODE_MEMORY, 16384
294 boot:
295 - hd
296 cloud_init_volume_name: iso
297 cloud_init_iface_up: ens3
298 volumes:
299 - name: system
300 capacity: !os_env NODE_VOLUME_SIZE, 150
301 backing_store: mcp_ubuntu_1604_image
302 format: qcow2
303 - name: cinder
304 capacity: 50
305 format: qcow2
306 - name: iso # Volume with name 'iso' will be used
307 # for store image with cloud-init metadata.
308 capacity: 1
309 format: raw
310 device: cdrom
311 bus: ide
312 cloudinit_meta_data: *cloudinit_meta_data
313 cloudinit_user_data: *cloudinit_user_data_1604
314
315 interfaces: *interfaces
316 network_config: *network_config
317
318 - name: {{ HOSTNAME_CTL03 }}
319 role: salt_minion
320 params:
321 vcpu: !os_env SLAVE_NODE_CPU, 3
322 memory: !os_env SLAVE_NODE_MEMORY, 16384
323 boot:
324 - hd
325 cloud_init_volume_name: iso
326 cloud_init_iface_up: ens3
327 volumes:
328 - name: system
329 capacity: !os_env NODE_VOLUME_SIZE, 150
330 backing_store: mcp_ubuntu_1604_image
331 format: qcow2
332 - name: cinder
333 capacity: 50
334 format: qcow2
335 - name: iso # Volume with name 'iso' will be used
336 # for store image with cloud-init metadata.
337 capacity: 1
338 format: raw
339 device: cdrom
340 bus: ide
341 cloudinit_meta_data: *cloudinit_meta_data
342 cloudinit_user_data: *cloudinit_user_data_1604
343
344 interfaces: *interfaces
345 network_config: *network_config
346
347 - name: {{ HOSTNAME_PRX01 }}
348 role: salt_minion
349 params:
350 vcpu: !os_env SLAVE_NODE_CPU, 1
351 memory: !os_env SLAVE_NODE_MEMORY, 2048
352 boot:
353 - hd
354 cloud_init_volume_name: iso
355 cloud_init_iface_up: ens3
356 volumes:
357 - name: system
358 capacity: !os_env NODE_VOLUME_SIZE, 150
359 backing_store: mcp_ubuntu_1604_image
360 format: qcow2
361 - name: iso # Volume with name 'iso' will be used
362 # for store image with cloud-init metadata.
363 capacity: 1
364 format: raw
365 device: cdrom
366 bus: ide
367 cloudinit_meta_data: *cloudinit_meta_data
368 cloudinit_user_data: *cloudinit_user_data_1604
369
370 interfaces: *interfaces
371 network_config: *network_config
372
373 - name: {{ HOSTNAME_CMP01 }}
374 role: salt_minion
375 params:
376 vcpu: !os_env SLAVE_NODE_CPU, 3
377 memory: !os_env SLAVE_NODE_MEMORY, 8192
378 boot:
379 - hd
380 cloud_init_volume_name: iso
381 cloud_init_iface_up: ens3
382 volumes:
383 - name: system
384 capacity: !os_env NODE_VOLUME_SIZE, 150
385 backing_store: cloudimage1604
386 format: qcow2
387 - name: iso # Volume with name 'iso' will be used
388 # for store image with cloud-init metadata.
389 capacity: 1
390 format: raw
391 device: cdrom
392 bus: ide
393 cloudinit_meta_data: *cloudinit_meta_data
394 cloudinit_user_data: *cloudinit_user_data_1604
395
396
397 interfaces: &all_interfaces
398 - label: ens3
399 l2_network_device: admin
400 interface_model: *interface_model
401 - label: ens4
402 l2_network_device: private
403 interface_model: *interface_model
404 - label: ens5
405 l2_network_device: tenant
406 interface_model: *interface_model
407 - label: ens6
408 l2_network_device: external
409 interface_model: *interface_model
410 network_config: &all_network_config
411 ens3:
412 networks:
413 - admin
414 ens4:
415 networks:
416 - private
417 ens5:
418 networks:
419 - tenant
420 ens6:
421 networks:
422 - external
423
424 - name: {{ HOSTNAME_CMP02 }}
425 role: salt_minion
426 params:
427 vcpu: !os_env SLAVE_NODE_CPU, 3
428 memory: !os_env SLAVE_NODE_MEMORY, 8192
429 boot:
430 - hd
431 cloud_init_volume_name: iso
432 cloud_init_iface_up: ens3
433 volumes:
434 - name: system
435 capacity: !os_env NODE_VOLUME_SIZE, 150
436 backing_store: cloudimage1604
437 format: qcow2
438 - name: iso # Volume with name 'iso' will be used
439 # for store image with cloud-init metadata.
440 capacity: 1
441 format: raw
442 device: cdrom
443 bus: ide
444 cloudinit_meta_data: *cloudinit_meta_data
445 cloudinit_user_data: *cloudinit_user_data_1604
446
447 interfaces: *all_interfaces
448 network_config: *all_network_config
449
450 - name: {{ HOSTNAME_GTW01 }}
451 role: salt_minion
452 params:
453 vcpu: !os_env SLAVE_NODE_CPU, 8
454 memory: !os_env SLAVE_NODE_MEMORY, 8192
455 boot:
456 - hd
457 cloud_init_volume_name: iso
458 cloud_init_iface_up: ens3
459 volumes:
460 - name: system
461 capacity: !os_env NODE_VOLUME_SIZE, 150
462 backing_store: cloudimage1604
463 format: qcow2
464 - name: iso # Volume with name 'iso' will be used
465 # for store image with cloud-init metadata.
466 capacity: 1
467 format: raw
468 device: cdrom
469 bus: ide
470 cloudinit_meta_data: *cloudinit_meta_data
471 cloudinit_user_data: *cloudinit_user_data_1604
472
473 interfaces: *all_interfaces
474 network_config: *all_network_config