blob: 53c19d1efea89bf94438ecb7955fa617e619ebfe [file] [log] [blame]
Oleksii Butenkof65a0042018-06-27 13:38:43 +03001# Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required
2{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %}
3{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'cookied-bm-dpdk-pipeline') %}
4{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
5{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
6{% set HOSTNAME_KVM01 = os_env('HOSTNAME_KVM01', 'kvm01.' + DOMAIN_NAME) %}
7{% set HOSTNAME_KVM02 = os_env('HOSTNAME_KVM02', 'kvm02.' + DOMAIN_NAME) %}
8{% set HOSTNAME_KVM03 = os_env('HOSTNAME_KVM03', 'kvm03.' + DOMAIN_NAME) %}
9{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
10{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
11{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
12{% set HOSTNAME_GTW02 = os_env('HOSTNAME_GTW02', 'gtw02.' + DOMAIN_NAME) %}
13{% set ETH1_IP_ADDRESS_CFG01 = os_env('ETH1_IP_ADDRESS_CFG01', '172.16.49.2') %}
14{% set ETH2_IP_ADDRESS_CFG01 = os_env('ETH2_IP_ADDRESS_CFG01', '10.167.11.253') %}
15{% set ETH0_IP_ADDRESS_KVM01 = os_env('ETH0_IP_ADDRESS_KVM01', '172.16.49.11') %}
16{% set ETH0_IP_ADDRESS_KVM02 = os_env('ETH0_IP_ADDRESS_KVM02', '172.16.49.12') %}
17{% set ETH0_IP_ADDRESS_KVM03 = os_env('ETH0_IP_ADDRESS_KVM03', '172.16.49.13') %}
18{% set ETH0_IP_ADDRESS_CMP01 = os_env('ETH0_IP_ADDRESS_CMP01', '172.16.49.3') %}
19{% set ETH0_IP_ADDRESS_CMP02 = os_env('ETH0_IP_ADDRESS_CMP02', '172.16.49.31') %}
20{% set ETH0_IP_ADDRESS_GTW01 = os_env('ETH0_IP_ADDRESS_GTW01', '172.16.49.5') %}
21{% set ETH0_IP_ADDRESS_GTW02 = os_env('ETH0_IP_ADDRESS_GTW02', '172.16.49.4') %}
22
23{% import 'cookied-bm-dpdk-pipeline/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
24{% import 'cookied-bm-dpdk-pipeline/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
25{% import 'cookied-bm-dpdk-pipeline/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
26{% import 'cookied-bm-dpdk-pipeline/underlay--user-data1604-hwe.yaml' as CLOUDINIT_USER_DATA_1604_HWE with context %}
27
28---
29aliases:
30 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
31 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
32 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
33 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
34 - &cloudinit_user_data_1604_hwe {{ CLOUDINIT_USER_DATA_1604_HWE }}
35
36template:
37 devops_settings:
38 env_name: {{ os_env('ENV_NAME', LAB_CONFIG_NAME + '_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
39
40 address_pools:
41 admin-pool01:
42 net: {{ os_env('ADMIN_ADDRESS_POOL01', '172.16.49.0/26:26') }}
43 params:
44 ip_reserved:
45 gateway: +62
46 l2_network_device: +61
47 virtual_{{ HOSTNAME_CFG01 }}: {{ ETH1_IP_ADDRESS_CFG01 }}
48 default_{{ HOSTNAME_KVM01 }}: {{ ETH0_IP_ADDRESS_KVM01 }}
49 default_{{ HOSTNAME_KVM02 }}: {{ ETH0_IP_ADDRESS_KVM02 }}
50 default_{{ HOSTNAME_KVM03 }}: {{ ETH0_IP_ADDRESS_KVM03 }}
51 default_{{ HOSTNAME_CMP01 }}: {{ ETH0_IP_ADDRESS_CMP01 }}
52 default_{{ HOSTNAME_CMP02 }}: {{ ETH0_IP_ADDRESS_CMP02 }}
53 default_{{ HOSTNAME_GTW01 }}: {{ ETH0_IP_ADDRESS_GTW01 }}
54 default_{{ HOSTNAME_GTW02 }}: {{ ETH0_IP_ADDRESS_GTW02 }}
55 ip_ranges:
56 dhcp: [+2, -4]
57 private-pool01:
58 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.167.11.0/24:24') }}
59 params:
60 ip_reserved:
61 virtual_{{ HOSTNAME_CFG01 }}: {{ ETH2_IP_ADDRESS_CFG01 }}
62 gateway: +1
63 l2_network_device: +1
64
65 tenant-pool01:
66 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.167.12.0/24:24') }}
67 params:
68 ip_reserved:
69 gateway: +1
70 l2_network_device: +1
71
72 external-pool01:
73 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '172.17.42.128/26:26') }}
74 params:
75 ip_reserved:
Dennis Dmitrievb6bcc5c2018-09-26 11:07:53 +000076 gateway: '172.17.42.129'
77 ip_ranges:
78 dhcp: ['172.17.42.130', '172.17.42.180']
Oleksii Butenkof65a0042018-06-27 13:38:43 +030079
80
81 groups:
82 - name: virtual
83 driver:
84 name: devops.driver.libvirt
85 params:
86 connection_string: !os_env CONNECTION_STRING, qemu:///system
87 storage_pool_name: !os_env STORAGE_POOL_NAME, default
88 stp: False
89 hpet: False
90 enable_acpi: true
91 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
92 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
93
94 network_pools:
95 admin: admin-pool01
96
97 l2_network_devices:
98 # Ironic management interface
99 admin:
100 address_pool: admin-pool01
101 dhcp: false
102 parent_iface:
103 phys_dev: !os_env IRONIC_LAB_PXE_IFACE_0
104 private:
105 parent_iface:
106 phys_dev: !os_env CONTROL_IFACE
107
108 group_volumes:
109 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
110 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
111 format: qcow2
112 - name: cfg01_day01_image # Pre-configured day01 image
113 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
114 format: qcow2
115
116 nodes:
117 - name: {{ HOSTNAME_CFG01 }}
118 role: salt_master
119 params:
120 vcpu: !os_env SLAVE_NODE_CPU, 4
Dennis Dmitriev19afa872018-12-21 15:18:51 +0200121 memory: !os_env SLAVE_NODE_MEMORY, 12288
Oleksii Butenkof65a0042018-06-27 13:38:43 +0300122 boot:
123 - hd
124 cloud_init_volume_name: iso
125 cloud_init_iface_up: ens3
126 volumes:
127 - name: system
128 capacity: !os_env NODE_VOLUME_SIZE, 150
129 backing_store: cfg01_day01_image
130 format: qcow2
131 - name: iso # Volume with name 'iso' will be used
132 # for store image with cloud-init metadata.
133 capacity: 1
134 format: raw
135 device: cdrom
136 bus: ide
137 cloudinit_meta_data: *cloudinit_meta_data
138 cloudinit_user_data: *cloudinit_user_data_cfg01
139
140 interfaces:
141 - label: ens3
142 l2_network_device: admin
143 interface_model: *interface_model
144 mac_address: !os_env ETH1_MAC_ADDRESS_CFG01
145 - label: ens4
146 l2_network_device: private
147 interface_model: *interface_model
148 network_config:
149 ens3:
150 networks:
151 - admin
152 ens4:
153 networks:
154 - private
155
156
157 - name: default
158 driver:
159 name: devops_driver_ironic
160 params:
161 os_auth_token: fake-token
162 ironic_url: !os_env IRONIC_URL # URL that will be used by fuel-devops
163 # to access Ironic API
164 # Agent URL that is accessible from deploying node when nodes
165 # are bootstrapped with PXE. Usually PXE/provision network address is used.
166 agent_kernel_url: !os_env IRONIC_AGENT_KERNEL_URL
167 agent_ramdisk_url: !os_env IRONIC_AGENT_RAMDISK_URL
168
169 network_pools:
170 admin: admin-pool01
171
172 nodes:
173 - name: {{ HOSTNAME_KVM01 }}
174 role: salt_minion
175 params:
176 ipmi_user: !os_env IPMI_USER
177 ipmi_password: !os_env IPMI_PASSWORD
178 ipmi_previlegies: OPERATOR
179 ipmi_host: !os_env IPMI_HOST_KVM01 # hostname or IP address
180 ipmi_lan_interface: lanplus
181 ipmi_port: 623
182
183 root_volume_name: system # see 'volumes' below
184 cloud_init_volume_name: iso # see 'volumes' below
185 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
186 volumes:
187 - name: system
188 capacity: !os_env NODE_VOLUME_SIZE, 200
189
190 # The same as for agent URL, here is an URL to the image that should be
191 # used for deploy the node. It should also be accessible from deploying
192 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
193 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
194 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
195
196 - name: iso # Volume with name 'iso' will be used
197 # for store image with cloud-init metadata.
198
199 cloudinit_meta_data: *cloudinit_meta_data
200 cloudinit_user_data: *cloudinit_user_data_1604
201
202 interfaces:
203 - label: enp3s0f0
204 l2_network_device: admin
205 mac_address: !os_env ETH0_MAC_ADDRESS_KVM01
206 - label: enp3s0f1
207 mac_address: !os_env ETH1_MAC_ADDRESS_KVM01
208
209 network_config:
210 enp3s0f0:
211 networks:
212 - admin
213 bond0:
214 networks:
215 - control
216 aggregation: active-backup
217 parents:
218 - enp3s0f1
219
220 - name: {{ HOSTNAME_KVM02 }}
221 role: salt_minion
222 params:
223 ipmi_user: !os_env IPMI_USER
224 ipmi_password: !os_env IPMI_PASSWORD
225 ipmi_previlegies: OPERATOR
226 ipmi_host: !os_env IPMI_HOST_KVM02 # hostname or IP address
227 ipmi_lan_interface: lanplus
228 ipmi_port: 623
229
230 root_volume_name: system # see 'volumes' below
231 cloud_init_volume_name: iso # see 'volumes' below
232 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
233 volumes:
234 - name: system
235 capacity: !os_env NODE_VOLUME_SIZE, 200
236
237 # The same as for agent URL, here is an URL to the image that should be
238 # used for deploy the node. It should also be accessible from deploying
239 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
240 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
241 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
242
243 - name: iso # Volume with name 'iso' will be used
244 # for store image with cloud-init metadata.
245
246 cloudinit_meta_data: *cloudinit_meta_data
247 cloudinit_user_data: *cloudinit_user_data_1604
248
249 interfaces:
250 - label: enp3s0f0
251 l2_network_device: admin
252 mac_address: !os_env ETH0_MAC_ADDRESS_KVM02
253 - label: enp3s0f1
254 mac_address: !os_env ETH1_MAC_ADDRESS_KVM02
255
256 network_config:
257 enp3s0f0:
258 networks:
259 - admin
260 bond0:
261 networks:
262 - control
263 aggregation: active-backup
264 parents:
265 - enp3s0f1
266
267 - name: {{ HOSTNAME_KVM03 }}
268 role: salt_minion
269 params:
270 ipmi_user: !os_env IPMI_USER
271 ipmi_password: !os_env IPMI_PASSWORD
272 ipmi_previlegies: OPERATOR
273 ipmi_host: !os_env IPMI_HOST_KVM03 # hostname or IP address
274 ipmi_lan_interface: lanplus
275 ipmi_port: 623
276
277 root_volume_name: system # see 'volumes' below
278 cloud_init_volume_name: iso # see 'volumes' below
279 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
280 volumes:
281 - name: system
282 capacity: !os_env NODE_VOLUME_SIZE, 200
283
284 # The same as for agent URL, here is an URL to the image that should be
285 # used for deploy the node. It should also be accessible from deploying
286 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
287 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
288 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
289
290 - name: iso # Volume with name 'iso' will be used
291 # for store image with cloud-init metadata.
292
293 cloudinit_meta_data: *cloudinit_meta_data
294 cloudinit_user_data: *cloudinit_user_data_1604
295
296 interfaces:
297 - label: enp3s0f0
298 l2_network_device: admin
299 mac_address: !os_env ETH0_MAC_ADDRESS_KVM03
300 - label: enp3s0f1
301 mac_address: !os_env ETH1_MAC_ADDRESS_KVM03
302
303 network_config:
304 enp3s0f0:
305 networks:
306 - admin
307 bond0:
308 networks:
309 - control
310 aggregation: active-backup
311 parents:
312 - enp3s0f1
313
314
315 - name: {{ HOSTNAME_CMP01 }}
316 role: salt_minion
317 params:
318 ipmi_user: !os_env IPMI_USER
319 ipmi_password: !os_env IPMI_PASSWORD
320 ipmi_previlegies: OPERATOR
321 ipmi_host: !os_env IPMI_HOST_CMP01 # hostname or IP address
322 ipmi_lan_interface: lanplus
323 ipmi_port: 623
324
325 root_volume_name: system # see 'volumes' below
326 cloud_init_volume_name: iso # see 'volumes' below
327 cloud_init_iface_up: enp5s0f0 # see 'interfaces' below.
328 volumes:
329 - name: system
330 capacity: !os_env NODE_VOLUME_SIZE, 200
331
332 # The same as for agent URL, here is an URL to the image that should be
333 # used for deploy the node. It should also be accessible from deploying
334 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
335 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
336 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
337
338 - name: iso # Volume with name 'iso' will be used
339 # for store image with cloud-init metadata.
340
341 cloudinit_meta_data: *cloudinit_meta_data
342 cloudinit_user_data: *cloudinit_user_data_1604_hwe
343
344 interfaces:
345 - label: enp3s0f0
346 mac_address: !os_env ETH0_MAC_ADDRESS_CMP01
347 - label: enp3s0f1
348 mac_address: !os_env ETH1_MAC_ADDRESS_CMP01
349 - label: enp5s0f0
350 l2_network_device: admin
351 mac_address: !os_env ETH2_MAC_ADDRESS_CMP01
352 - label: enp5s0f1
353 mac_address: !os_env ETH3_MAC_ADDRESS_CMP01
354 network_config:
355 enp5s0f0:
356 networks:
357 - admin
358
359 - name: {{ HOSTNAME_CMP02 }}
360 role: salt_minion
361 params:
362 ipmi_user: !os_env IPMI_USER
363 ipmi_password: !os_env IPMI_PASSWORD
364 ipmi_previlegies: OPERATOR
365 ipmi_host: !os_env IPMI_HOST_CMP02 # hostname or IP address
366 ipmi_lan_interface: lanplus
367 ipmi_port: 623
368
369 root_volume_name: system # see 'volumes' below
370 cloud_init_volume_name: iso # see 'volumes' below
371 cloud_init_iface_up: enp5s0f0 # see 'interfaces' below.
372 volumes:
373 - name: system
374 capacity: !os_env NODE_VOLUME_SIZE, 200
375
376 # The same as for agent URL, here is an URL to the image that should be
377 # used for deploy the node. It should also be accessible from deploying
378 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
379 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
380 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
381
382 - name: iso # Volume with name 'iso' will be used
383 # for store image with cloud-init metadata.
384
385 cloudinit_meta_data: *cloudinit_meta_data
386 cloudinit_user_data: *cloudinit_user_data_1604_hwe
387
388 interfaces:
389 - label: enp3s0f0
390 mac_address: !os_env ETH0_MAC_ADDRESS_CMP02
391 - label: enp3s0f1
392 mac_address: !os_env ETH1_MAC_ADDRESS_CMP02
393 - label: enp5s0f0
394 l2_network_device: admin
395 mac_address: !os_env ETH2_MAC_ADDRESS_CMP02
396 - label: enp5s0f1
397 mac_address: !os_env ETH3_MAC_ADDRESS_CMP02
398 network_config:
399 enp5s0f0:
400 networks:
401 - admin
402
403 - name: {{ HOSTNAME_GTW01 }}
404 role: salt_minion
405 params:
406 ipmi_user: !os_env IPMI_USER
407 ipmi_password: !os_env IPMI_PASSWORD
408 ipmi_previlegies: OPERATOR
409 ipmi_host: !os_env IPMI_HOST_GTW01 # hostname or IP address
410 ipmi_lan_interface: lanplus
411 ipmi_port: 623
412
413 root_volume_name: system # see 'volumes' below
414 cloud_init_volume_name: iso # see 'volumes' below
415 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
416 volumes:
417 - name: system
418 capacity: !os_env NODE_VOLUME_SIZE, 200
419
420 # The same as for agent URL, here is an URL to the image that should be
421 # used for deploy the node. It should also be accessible from deploying
422 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
423 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
424 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
425
426 - name: iso # Volume with name 'iso' will be used
427 # for store image with cloud-init metadata.
428
429 cloudinit_meta_data: *cloudinit_meta_data
430 cloudinit_user_data: *cloudinit_user_data_1604_hwe
431
432 interfaces:
433 - label: enp3s0f0
434 l2_network_device: admin
435 mac_address: !os_env ETH0_MAC_ADDRESS_GTW01
436 - label: enp3s0f1
437 mac_address: !os_env ETH1_MAC_ADDRESS_GTW01
438
439 network_config:
440 enp3s0f0:
441 networks:
442 - admin
443 bond0:
444 networks:
445 - control
446 aggregation: active-backup
447 parents:
448 - enp3s0f1
449
450 - name: {{ HOSTNAME_GTW02 }}
451 role: salt_minion
452 params:
453 ipmi_user: !os_env IPMI_USER
454 ipmi_password: !os_env IPMI_PASSWORD
455 ipmi_previlegies: OPERATOR
456 ipmi_host: !os_env IPMI_HOST_GTW02 # hostname or IP address
457 ipmi_lan_interface: lanplus
458 ipmi_port: 623
459
460 root_volume_name: system # see 'volumes' below
461 cloud_init_volume_name: iso # see 'volumes' below
462 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
463 volumes:
464 - name: system
465 capacity: !os_env NODE_VOLUME_SIZE, 200
466
467 # The same as for agent URL, here is an URL to the image that should be
468 # used for deploy the node. It should also be accessible from deploying
469 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
470 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
471 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
472
473 - name: iso # Volume with name 'iso' will be used
474 # for store image with cloud-init metadata.
475
476 cloudinit_meta_data: *cloudinit_meta_data
477 cloudinit_user_data: *cloudinit_user_data_1604_hwe
478
479 interfaces:
480 - label: enp3s0f0
481 l2_network_device: admin
482 mac_address: !os_env ETH0_MAC_ADDRESS_GTW02
483 - label: enp3s0f1
484 mac_address: !os_env ETH1_MAC_ADDRESS_GTW02
485
486 network_config:
487 enp3s0f0:
488 networks:
489 - admin
490 bond0:
491 networks:
492 - control
493 aggregation: active-backup
494 parents:
495 - enp3s0f1