blob: bf8e8f66e24c179bec8557f9b26e23ca9df2f1e7 [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
126
127 admin:
128 address_pool: admin-pool01
129 dhcp: true
130 forward:
131 mode: nat
132
133 tenant:
134 address_pool: tenant-pool01
135 dhcp: true
136
137 external:
138 address_pool: external-pool01
139 dhcp: true
140 forward:
141 mode: nat
142
143 group_volumes:
144 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
145 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
146 format: qcow2
147 - name: cfg01_day01_image # Pre-configured day01 image
148 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
149 format: qcow2
150 - name: mcp_ubuntu_1604_image # Pre-configured image for control plane
151 source_image: !os_env MCP_IMAGE_PATH1604
152 format: qcow2
153
154 nodes:
155 - name: {{ HOSTNAME_APT01 }}
156 role: salt_minion
157 params:
158 vcpu: !os_env SLAVE_NODE_CPU, 2
159 memory: !os_env SLAVE_NODE_MEMORY, 4096
160 boot:
161 - hd
162 cloud_init_volume_name: iso
163 cloud_init_iface_up: ens3
164 volumes:
165 - name: system
166 capacity: !os_env NODE_VOLUME_SIZE, 150
167 backing_store: cloudimage1604
168 format: qcow2
169 - name: iso # Volume with name 'iso' will be used
170 # for store image with cloud-init metadata.
171 capacity: 1
172 format: raw
173 device: cdrom
174 bus: ide
175 cloudinit_meta_data: *cloudinit_meta_data
176 cloudinit_user_data: *cloudinit_user_data_apt01
177
178 interfaces:
179 - label: ens3
180 l2_network_device: admin
181 interface_model: *interface_model
182 - label: ens4
183 l2_network_device: private
184 interface_model: *interface_model
185 - label: ens5
186 l2_network_device: tenant
187 interface_model: *interface_model
188 - label: ens6
189 l2_network_device: external
190 interface_model: *interface_model
191 network_config:
192 ens3:
193 networks:
194 - admin
195 ens4:
196 networks:
197 - private
198 ens5:
199 networks:
200 - tenant
201 ens6:
202 networks:
203 - external
204
205 - name: {{ HOSTNAME_CFG01 }}
206 role: salt_master
207 params:
208 vcpu: !os_env SLAVE_NODE_CPU, 2
209 memory: !os_env SLAVE_NODE_MEMORY, 4096
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: cfg01_day01_image
218 format: qcow2
219 - name: iso # Volume with name 'iso' will be used
220 # for store image with cloud-init metadata.
221 capacity: 1
222 format: raw
223 device: cdrom
224 bus: ide
225 cloudinit_meta_data: *cloudinit_meta_data
226 cloudinit_user_data: *cloudinit_user_data_cfg01
227
228 interfaces:
229 - label: ens3
230 l2_network_device: admin
231 interface_model: *interface_model
232 - label: ens4
233 l2_network_device: private
234 interface_model: *interface_model
235 network_config:
236 ens3:
237 networks:
238 - admin
239 ens4:
240 networks:
241 - private
242
243 - name: {{ HOSTNAME_CTL01 }}
244 role: salt_minion
245 params:
246 vcpu: !os_env SLAVE_NODE_CPU, 3
247 memory: !os_env SLAVE_NODE_MEMORY, 16384
248 boot:
249 - hd
250 cloud_init_volume_name: iso
251 cloud_init_iface_up: ens3
252 volumes:
253 - name: system
254 capacity: !os_env NODE_VOLUME_SIZE, 150
255 backing_store: mcp_ubuntu_1604_image
256 format: qcow2
257 - name: cinder
258 capacity: 50
259 format: qcow2
260 - name: iso # Volume with name 'iso' will be used
261 # for store image with cloud-init metadata.
262 capacity: 1
263 format: raw
264 device: cdrom
265 bus: ide
266 cloudinit_meta_data: *cloudinit_meta_data
267 cloudinit_user_data: *cloudinit_user_data_1604
268
269 interfaces: &interfaces
270 - label: ens3
271 l2_network_device: admin
272 interface_model: *interface_model
273 - label: ens4
274 l2_network_device: private
275 interface_model: *interface_model
276 network_config: &network_config
277 ens3:
278 networks:
279 - admin
280 ens4:
281 networks:
282 - private
283
284 - name: {{ HOSTNAME_CTL02 }}
285 role: salt_minion
286 params:
287 vcpu: !os_env SLAVE_NODE_CPU, 3
288 memory: !os_env SLAVE_NODE_MEMORY, 16384
289 boot:
290 - hd
291 cloud_init_volume_name: iso
292 cloud_init_iface_up: ens3
293 volumes:
294 - name: system
295 capacity: !os_env NODE_VOLUME_SIZE, 150
296 backing_store: mcp_ubuntu_1604_image
297 format: qcow2
298 - name: cinder
299 capacity: 50
300 format: qcow2
301 - name: iso # Volume with name 'iso' will be used
302 # for store image with cloud-init metadata.
303 capacity: 1
304 format: raw
305 device: cdrom
306 bus: ide
307 cloudinit_meta_data: *cloudinit_meta_data
308 cloudinit_user_data: *cloudinit_user_data_1604
309
310 interfaces: *interfaces
311 network_config: *network_config
312
313 - name: {{ HOSTNAME_CTL03 }}
314 role: salt_minion
315 params:
316 vcpu: !os_env SLAVE_NODE_CPU, 3
317 memory: !os_env SLAVE_NODE_MEMORY, 16384
318 boot:
319 - hd
320 cloud_init_volume_name: iso
321 cloud_init_iface_up: ens3
322 volumes:
323 - name: system
324 capacity: !os_env NODE_VOLUME_SIZE, 150
325 backing_store: mcp_ubuntu_1604_image
326 format: qcow2
327 - name: cinder
328 capacity: 50
329 format: qcow2
330 - name: iso # Volume with name 'iso' will be used
331 # for store image with cloud-init metadata.
332 capacity: 1
333 format: raw
334 device: cdrom
335 bus: ide
336 cloudinit_meta_data: *cloudinit_meta_data
337 cloudinit_user_data: *cloudinit_user_data_1604
338
339 interfaces: *interfaces
340 network_config: *network_config
341
342 - name: {{ HOSTNAME_PRX01 }}
343 role: salt_minion
344 params:
345 vcpu: !os_env SLAVE_NODE_CPU, 1
346 memory: !os_env SLAVE_NODE_MEMORY, 2048
347 boot:
348 - hd
349 cloud_init_volume_name: iso
350 cloud_init_iface_up: ens3
351 volumes:
352 - name: system
353 capacity: !os_env NODE_VOLUME_SIZE, 150
354 backing_store: mcp_ubuntu_1604_image
355 format: qcow2
356 - name: iso # Volume with name 'iso' will be used
357 # for store image with cloud-init metadata.
358 capacity: 1
359 format: raw
360 device: cdrom
361 bus: ide
362 cloudinit_meta_data: *cloudinit_meta_data
363 cloudinit_user_data: *cloudinit_user_data_1604
364
365 interfaces: *interfaces
366 network_config: *network_config
367
368 - name: {{ HOSTNAME_CMP01 }}
369 role: salt_minion
370 params:
371 vcpu: !os_env SLAVE_NODE_CPU, 3
372 memory: !os_env SLAVE_NODE_MEMORY, 8192
373 boot:
374 - hd
375 cloud_init_volume_name: iso
376 cloud_init_iface_up: ens3
377 volumes:
378 - name: system
379 capacity: !os_env NODE_VOLUME_SIZE, 150
380 backing_store: cloudimage1604
381 format: qcow2
382 - name: iso # Volume with name 'iso' will be used
383 # for store image with cloud-init metadata.
384 capacity: 1
385 format: raw
386 device: cdrom
387 bus: ide
388 cloudinit_meta_data: *cloudinit_meta_data
389 cloudinit_user_data: *cloudinit_user_data_1604
390
391
392 interfaces: &all_interfaces
393 - label: ens3
394 l2_network_device: admin
395 interface_model: *interface_model
396 - label: ens4
397 l2_network_device: private
398 interface_model: *interface_model
399 - label: ens5
400 l2_network_device: tenant
401 interface_model: *interface_model
402 - label: ens6
403 l2_network_device: external
404 interface_model: *interface_model
405 network_config: &all_network_config
406 ens3:
407 networks:
408 - admin
409 ens4:
410 networks:
411 - private
412 ens5:
413 networks:
414 - tenant
415 ens6:
416 networks:
417 - external
418
419 - name: {{ HOSTNAME_CMP02 }}
420 role: salt_minion
421 params:
422 vcpu: !os_env SLAVE_NODE_CPU, 3
423 memory: !os_env SLAVE_NODE_MEMORY, 8192
424 boot:
425 - hd
426 cloud_init_volume_name: iso
427 cloud_init_iface_up: ens3
428 volumes:
429 - name: system
430 capacity: !os_env NODE_VOLUME_SIZE, 150
431 backing_store: cloudimage1604
432 format: qcow2
433 - name: iso # Volume with name 'iso' will be used
434 # for store image with cloud-init metadata.
435 capacity: 1
436 format: raw
437 device: cdrom
438 bus: ide
439 cloudinit_meta_data: *cloudinit_meta_data
440 cloudinit_user_data: *cloudinit_user_data_1604
441
442 interfaces: *all_interfaces
443 network_config: *all_network_config
444
445 - name: {{ HOSTNAME_GTW01 }}
446 role: salt_minion
447 params:
448 vcpu: !os_env SLAVE_NODE_CPU, 8
449 memory: !os_env SLAVE_NODE_MEMORY, 8192
450 boot:
451 - hd
452 cloud_init_volume_name: iso
453 cloud_init_iface_up: ens3
454 volumes:
455 - name: system
456 capacity: !os_env NODE_VOLUME_SIZE, 150
457 backing_store: cloudimage1604
458 format: qcow2
459 - name: iso # Volume with name 'iso' will be used
460 # for store image with cloud-init metadata.
461 capacity: 1
462 format: raw
463 device: cdrom
464 bus: ide
465 cloudinit_meta_data: *cloudinit_meta_data
466 cloudinit_user_data: *cloudinit_user_data_1604
467
468 interfaces: *all_interfaces
469 network_config: *all_network_config