blob: ccb9a122965bccfd9a0900ef6191491c2058b6b3 [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
155
156 nodes:
157 - name: {{ HOSTNAME_APT01 }}
158 role: salt_minion
159 params:
160 vcpu: !os_env SLAVE_NODE_CPU, 2
161 memory: !os_env SLAVE_NODE_MEMORY, 4096
162 boot:
163 - hd
164 cloud_init_volume_name: iso
165 cloud_init_iface_up: ens3
166 volumes:
167 - name: system
168 capacity: !os_env NODE_VOLUME_SIZE, 150
169 backing_store: cloudimage1604
170 format: qcow2
171 - name: iso # Volume with name 'iso' will be used
172 # for store image with cloud-init metadata.
173 capacity: 1
174 format: raw
175 device: cdrom
176 bus: ide
177 cloudinit_meta_data: *cloudinit_meta_data
178 cloudinit_user_data: *cloudinit_user_data_apt01
179
180 interfaces:
181 - label: ens3
182 l2_network_device: admin
183 interface_model: *interface_model
184 - label: ens4
185 l2_network_device: private
186 interface_model: *interface_model
187 - label: ens5
188 l2_network_device: tenant
189 interface_model: *interface_model
190 - label: ens6
191 l2_network_device: external
192 interface_model: *interface_model
193 network_config:
194 ens3:
195 networks:
196 - admin
197 ens4:
198 networks:
199 - private
200 ens5:
201 networks:
202 - tenant
203 ens6:
204 networks:
205 - external
206
207 - name: {{ HOSTNAME_CFG01 }}
208 role: salt_master
209 params:
210 vcpu: !os_env SLAVE_NODE_CPU, 2
211 memory: !os_env SLAVE_NODE_MEMORY, 4096
212 boot:
213 - hd
214 cloud_init_volume_name: iso
215 cloud_init_iface_up: ens3
216 volumes:
217 - name: system
218 capacity: !os_env NODE_VOLUME_SIZE, 150
219 backing_store: cfg01_day01_image
220 format: qcow2
221 - name: iso # Volume with name 'iso' will be used
222 # for store image with cloud-init metadata.
223 capacity: 1
224 format: raw
225 device: cdrom
226 bus: ide
227 cloudinit_meta_data: *cloudinit_meta_data
228 cloudinit_user_data: *cloudinit_user_data_cfg01
229
230 interfaces:
231 - label: ens3
232 l2_network_device: admin
233 interface_model: *interface_model
234 - label: ens4
235 l2_network_device: private
236 interface_model: *interface_model
237 network_config:
238 ens3:
239 networks:
240 - admin
241 ens4:
242 networks:
243 - private
244
245 - name: {{ HOSTNAME_CTL01 }}
246 role: salt_minion
247 params:
248 vcpu: !os_env SLAVE_NODE_CPU, 3
249 memory: !os_env SLAVE_NODE_MEMORY, 16384
250 boot:
251 - hd
252 cloud_init_volume_name: iso
253 cloud_init_iface_up: ens3
254 volumes:
255 - name: system
256 capacity: !os_env NODE_VOLUME_SIZE, 150
257 backing_store: mcp_ubuntu_1604_image
258 format: qcow2
259 - name: cinder
260 capacity: 50
261 format: qcow2
262 - name: iso # Volume with name 'iso' will be used
263 # for store image with cloud-init metadata.
264 capacity: 1
265 format: raw
266 device: cdrom
267 bus: ide
268 cloudinit_meta_data: *cloudinit_meta_data
269 cloudinit_user_data: *cloudinit_user_data_1604
270
271 interfaces: &interfaces
272 - label: ens3
273 l2_network_device: admin
274 interface_model: *interface_model
275 - label: ens4
276 l2_network_device: private
277 interface_model: *interface_model
278 network_config: &network_config
279 ens3:
280 networks:
281 - admin
282 ens4:
283 networks:
284 - private
285
286 - name: {{ HOSTNAME_CTL02 }}
287 role: salt_minion
288 params:
289 vcpu: !os_env SLAVE_NODE_CPU, 3
290 memory: !os_env SLAVE_NODE_MEMORY, 16384
291 boot:
292 - hd
293 cloud_init_volume_name: iso
294 cloud_init_iface_up: ens3
295 volumes:
296 - name: system
297 capacity: !os_env NODE_VOLUME_SIZE, 150
298 backing_store: mcp_ubuntu_1604_image
299 format: qcow2
300 - name: cinder
301 capacity: 50
302 format: qcow2
303 - name: iso # Volume with name 'iso' will be used
304 # for store image with cloud-init metadata.
305 capacity: 1
306 format: raw
307 device: cdrom
308 bus: ide
309 cloudinit_meta_data: *cloudinit_meta_data
310 cloudinit_user_data: *cloudinit_user_data_1604
311
312 interfaces: *interfaces
313 network_config: *network_config
314
315 - name: {{ HOSTNAME_CTL03 }}
316 role: salt_minion
317 params:
318 vcpu: !os_env SLAVE_NODE_CPU, 3
319 memory: !os_env SLAVE_NODE_MEMORY, 16384
320 boot:
321 - hd
322 cloud_init_volume_name: iso
323 cloud_init_iface_up: ens3
324 volumes:
325 - name: system
326 capacity: !os_env NODE_VOLUME_SIZE, 150
327 backing_store: mcp_ubuntu_1604_image
328 format: qcow2
329 - name: cinder
330 capacity: 50
331 format: qcow2
332 - name: iso # Volume with name 'iso' will be used
333 # for store image with cloud-init metadata.
334 capacity: 1
335 format: raw
336 device: cdrom
337 bus: ide
338 cloudinit_meta_data: *cloudinit_meta_data
339 cloudinit_user_data: *cloudinit_user_data_1604
340
341 interfaces: *interfaces
342 network_config: *network_config
343
344 - name: {{ HOSTNAME_PRX01 }}
345 role: salt_minion
346 params:
347 vcpu: !os_env SLAVE_NODE_CPU, 1
348 memory: !os_env SLAVE_NODE_MEMORY, 2048
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: mcp_ubuntu_1604_image
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 interfaces: *interfaces
368 network_config: *network_config
369
370 - name: {{ HOSTNAME_CMP01 }}
371 role: salt_minion
372 params:
373 vcpu: !os_env SLAVE_NODE_CPU, 3
374 memory: !os_env SLAVE_NODE_MEMORY, 8192
375 boot:
376 - hd
377 cloud_init_volume_name: iso
378 cloud_init_iface_up: ens3
379 volumes:
380 - name: system
381 capacity: !os_env NODE_VOLUME_SIZE, 150
382 backing_store: cloudimage1604
383 format: qcow2
384 - name: iso # Volume with name 'iso' will be used
385 # for store image with cloud-init metadata.
386 capacity: 1
387 format: raw
388 device: cdrom
389 bus: ide
390 cloudinit_meta_data: *cloudinit_meta_data
391 cloudinit_user_data: *cloudinit_user_data_1604
392
393
394 interfaces: &all_interfaces
395 - label: ens3
396 l2_network_device: admin
397 interface_model: *interface_model
398 - label: ens4
399 l2_network_device: private
400 interface_model: *interface_model
401 - label: ens5
402 l2_network_device: tenant
403 interface_model: *interface_model
404 - label: ens6
405 l2_network_device: external
406 interface_model: *interface_model
407 network_config: &all_network_config
408 ens3:
409 networks:
410 - admin
411 ens4:
412 networks:
413 - private
414 ens5:
415 networks:
416 - tenant
417 ens6:
418 networks:
419 - external
420
421 - name: {{ HOSTNAME_CMP02 }}
422 role: salt_minion
423 params:
424 vcpu: !os_env SLAVE_NODE_CPU, 3
425 memory: !os_env SLAVE_NODE_MEMORY, 8192
426 boot:
427 - hd
428 cloud_init_volume_name: iso
429 cloud_init_iface_up: ens3
430 volumes:
431 - name: system
432 capacity: !os_env NODE_VOLUME_SIZE, 150
433 backing_store: cloudimage1604
434 format: qcow2
435 - name: iso # Volume with name 'iso' will be used
436 # for store image with cloud-init metadata.
437 capacity: 1
438 format: raw
439 device: cdrom
440 bus: ide
441 cloudinit_meta_data: *cloudinit_meta_data
442 cloudinit_user_data: *cloudinit_user_data_1604
443
444 interfaces: *all_interfaces
445 network_config: *all_network_config
446
447 - name: {{ HOSTNAME_GTW01 }}
448 role: salt_minion
449 params:
450 vcpu: !os_env SLAVE_NODE_CPU, 8
451 memory: !os_env SLAVE_NODE_MEMORY, 8192
452 boot:
453 - hd
454 cloud_init_volume_name: iso
455 cloud_init_iface_up: ens3
456 volumes:
457 - name: system
458 capacity: !os_env NODE_VOLUME_SIZE, 150
459 backing_store: cloudimage1604
460 format: qcow2
461 - name: iso # Volume with name 'iso' will be used
462 # for store image with cloud-init metadata.
463 capacity: 1
464 format: raw
465 device: cdrom
466 bus: ide
467 cloudinit_meta_data: *cloudinit_meta_data
468 cloudinit_user_data: *cloudinit_user_data_1604
469
470 interfaces: *all_interfaces
471 network_config: *all_network_config