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