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