blob: 06c353badfd26ffdc32a0ade71912c14fc5f879f [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') %}
3{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'cookied-bm-mcp-ocata-dvr-vxlan') %}
4{% set DOMAIN_NAME = 'cookied-bm-mcp-ocata-dvr-vxlan.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_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) %}
12{% set HOSTNAME_GTW02 = os_env('HOSTNAME_GTW02', 'gtw02.' + DOMAIN_NAME) %}
13
14{% 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') %}
21{% set ETH0_IP_ADDRESS_GTW02 = os_env('ETH0_IP_ADDRESS_GTW02', '172.16.49.4') %}
22
23{% import 'cookied-bm-mcp-ocata-dvr-vxlan/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
24{% import 'cookied-bm-mcp-ocata-dvr-vxlan/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
25{% import 'cookied-bm-mcp-ocata-dvr-vxlan/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 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
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 }}
52 default_{{ HOSTNAME_GTW02 }}: {{ ETH0_IP_ADDRESS_GTW02 }}
53 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:
164
165 # - name: {{ HOSTNAME_CFG01 }}
166 # role: salt_master
167 # params:
168 # ipmi_user: !os_env IPMI_USER
169 # ipmi_password: !os_env IPMI_PASSWORD
170 # ipmi_previlegies: OPERATOR
171 # ipmi_host: !os_env IPMI_HOST_CFG01 # hostname or IP address
172 # ipmi_lan_interface: lanplus
173 # ipmi_port: 623
174
175 # root_volume_name: system # see 'volumes' below
176 # cloud_init_volume_name: iso # see 'volumes' below
177 # cloud_init_iface_up: enp3s0f1 # see 'interfaces' below.
178 # volumes:
179 # - name: system
180 # capacity: !os_env NODE_VOLUME_SIZE, 200
181
182 # # The same as for agent URL, here is an URL to the image that should be
183 # # used for deploy the node. It should also be accessible from deploying
184 # # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
185 # source_image: !os_env IRONIC_SOURCE_IMAGE_URL
186 # source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
187
188 # - name: iso # Volume with name 'iso' will be used
189 # # for store image with cloud-init metadata.
190
191 # cloudinit_meta_data: *cloudinit_meta_data
192 # cloudinit_user_data: *cloudinit_user_data_cfg01
193
194 # interfaces:
195 # - label: enp3s0f0 # Infra interface
196 # mac_address: !os_env ETH0_MAC_ADDRESS_CFG01
197 # - label: enp3s0f1
198 # l2_network_device: admin
199 # mac_address: !os_env ETH1_MAC_ADDRESS_CFG01
200
201 # network_config:
202 # enp3s0f0:
203 # networks:
204 # - infra
205 # enp3s0f1:
206 # networks:
207 # - admin
208
209 - name: {{ HOSTNAME_KVM01 }}
210 role: salt_minion
211 params:
212 ipmi_user: !os_env IPMI_USER
213 ipmi_password: !os_env IPMI_PASSWORD
214 ipmi_previlegies: OPERATOR
215 ipmi_host: !os_env IPMI_HOST_KVM01 # hostname or IP address
216 ipmi_lan_interface: lanplus
217 ipmi_port: 623
218
219 root_volume_name: system # see 'volumes' below
220 cloud_init_volume_name: iso # see 'volumes' below
221 cloud_init_iface_up: enp2s0f0 # see 'interfaces' below.
222 volumes:
223 - name: system
224 capacity: !os_env NODE_VOLUME_SIZE, 200
225
226 # The same as for agent URL, here is an URL to the image that should be
227 # used for deploy the node. It should also be accessible from deploying
228 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
229 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
230 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
231
232 - name: iso # Volume with name 'iso' will be used
233 # for store image with cloud-init metadata.
234
235 cloudinit_meta_data: *cloudinit_meta_data
236 cloudinit_user_data: *cloudinit_user_data_1604
237
238 interfaces:
239 - label: enp2s0f0
240 l2_network_device: admin
241 mac_address: !os_env ETH0_MAC_ADDRESS_KVM01
242 - label: enp2s0f1
243 mac_address: !os_env ETH1_MAC_ADDRESS_KVM01
244
245 network_config:
246 enp2s0f0:
247 networks:
248 - admin
249 bond0:
250 networks:
251 - control
252 aggregation: active-backup
253 parents:
254 - enp2s0f1
255
256 - name: {{ HOSTNAME_KVM02 }}
257 role: salt_minion
258 params:
259 ipmi_user: !os_env IPMI_USER
260 ipmi_password: !os_env IPMI_PASSWORD
261 ipmi_previlegies: OPERATOR
262 ipmi_host: !os_env IPMI_HOST_KVM02 # hostname or IP address
263 ipmi_lan_interface: lanplus
264 ipmi_port: 623
265
266 root_volume_name: system # see 'volumes' below
267 cloud_init_volume_name: iso # see 'volumes' below
268 cloud_init_iface_up: enp2s0f0 # see 'interfaces' below.
269 volumes:
270 - name: system
271 capacity: !os_env NODE_VOLUME_SIZE, 200
272
273 # The same as for agent URL, here is an URL to the image that should be
274 # used for deploy the node. It should also be accessible from deploying
275 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
276 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
277 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
278
279 - name: iso # Volume with name 'iso' will be used
280 # for store image with cloud-init metadata.
281
282 cloudinit_meta_data: *cloudinit_meta_data
283 cloudinit_user_data: *cloudinit_user_data_1604
284
285 interfaces:
286 - label: enp2s0f0
287 l2_network_device: admin
288 mac_address: !os_env ETH0_MAC_ADDRESS_KVM02
289 - label: enp2s0f1
290 mac_address: !os_env ETH1_MAC_ADDRESS_KVM02
291
292 network_config:
293 enp2s0f0:
294 networks:
295 - admin
296 bond0:
297 networks:
298 - control
299 aggregation: active-backup
300 parents:
301 - enp2s0f1
302
303 - name: {{ HOSTNAME_KVM03 }}
304 role: salt_minion
305 params:
306 ipmi_user: !os_env IPMI_USER
307 ipmi_password: !os_env IPMI_PASSWORD
308 ipmi_previlegies: OPERATOR
309 ipmi_host: !os_env IPMI_HOST_KVM03 # hostname or IP address
310 ipmi_lan_interface: lanplus
311 ipmi_port: 623
312
313 root_volume_name: system # see 'volumes' below
314 cloud_init_volume_name: iso # see 'volumes' below
315 cloud_init_iface_up: eno1 # see 'interfaces' below.
316 volumes:
317 - name: system
318 capacity: !os_env NODE_VOLUME_SIZE, 200
319
320 # The same as for agent URL, here is an URL to the image that should be
321 # used for deploy the node. It should also be accessible from deploying
322 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
323 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
324 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
325
326 - name: iso # Volume with name 'iso' will be used
327 # for store image with cloud-init metadata.
328
329 cloudinit_meta_data: *cloudinit_meta_data
330 cloudinit_user_data: *cloudinit_user_data_1604
331
332 interfaces:
333 - label: eno1
334 l2_network_device: admin
335 mac_address: !os_env ETH0_MAC_ADDRESS_KVM03
336 - label: eno2
337 mac_address: !os_env ETH1_MAC_ADDRESS_KVM03
338
339 network_config:
340 eno1:
341 networks:
342 - admin
343 bond0:
344 networks:
345 - control
346 aggregation: active-backup
347 parents:
348 - eno2
349
350
351 - name: {{ HOSTNAME_CMP001 }}
352 role: salt_minion
353 params:
354 ipmi_user: !os_env IPMI_USER
355 ipmi_password: !os_env IPMI_PASSWORD
356 ipmi_previlegies: OPERATOR
357 ipmi_host: !os_env IPMI_HOST_CMP001 # hostname or IP address
358 ipmi_lan_interface: lanplus
359 ipmi_port: 623
360
361 root_volume_name: system # see 'volumes' below
362 cloud_init_volume_name: iso # see 'volumes' below
363 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
364 volumes:
365 - name: system
366 capacity: !os_env NODE_VOLUME_SIZE, 200
367
368 # The same as for agent URL, here is an URL to the image that should be
369 # used for deploy the node. It should also be accessible from deploying
370 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
371 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
372 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
373
374 - name: iso # Volume with name 'iso' will be used
375 # for store image with cloud-init metadata.
376
377 cloudinit_meta_data: *cloudinit_meta_data
378 cloudinit_user_data: *cloudinit_user_data_1604
379
380 interfaces:
381 - label: enp3s0f0
382 l2_network_device: admin
383 mac_address: !os_env ETH0_MAC_ADDRESS_CMP001
384 - label: enp3s0f1
385 mac_address: !os_env ETH1_MAC_ADDRESS_CMP001
386 - label: enp5s0f0
387 mac_address: !os_env ETH2_MAC_ADDRESS_CMP001
388 - label: enp5s0f1
389 mac_address: !os_env ETH3_MAC_ADDRESS_CMP001
390 - label: enp5s0f2
391 mac_address: !os_env ETH4_MAC_ADDRESS_CMP001
392
393 network_config:
394 enp3s0f0:
395 networks:
396 - admin
397 bond0:
398 networks:
399 - control
400 aggregation: active-backup
401 parents:
402 - enp3s0f1
403 - enp5s0f0
404
405
406
407 - name: {{ HOSTNAME_CMP002 }}
408 role: salt_minion
409 params:
410 ipmi_user: !os_env IPMI_USER
411 ipmi_password: !os_env IPMI_PASSWORD
412 ipmi_previlegies: OPERATOR
413 ipmi_host: !os_env IPMI_HOST_CMP002 # hostname or IP address
414 ipmi_lan_interface: lanplus
415 ipmi_port: 623
416
417 root_volume_name: system # see 'volumes' below
418 cloud_init_volume_name: iso # see 'volumes' below
419 cloud_init_iface_up: eno1 # see 'interfaces' below.
420 volumes:
421 - name: system
422 capacity: !os_env NODE_VOLUME_SIZE, 200
423
424 # The same as for agent URL, here is an URL to the image that should be
425 # used for deploy the node. It should also be accessible from deploying
426 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
427 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
428 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
429
430 - name: iso # Volume with name 'iso' will be used
431 # for store image with cloud-init metadata.
432
433 cloudinit_meta_data: *cloudinit_meta_data
434 cloudinit_user_data: *cloudinit_user_data_1604
435
436 interfaces:
437 - label: eno1
438 l2_network_device: admin
439 mac_address: !os_env ETH0_MAC_ADDRESS_CMP002
440 - label: eth0
441 mac_address: !os_env ETH1_MAC_ADDRESS_CMP002
442 - label: eth3
443 mac_address: !os_env ETH2_MAC_ADDRESS_CMP002
444 - label: eth2
445 mac_address: !os_env ETH3_MAC_ADDRESS_CMP002
446 - label: eth4
447 mac_address: !os_env ETH4_MAC_ADDRESS_CMP002
448
449 network_config:
450 eno1:
451 networks:
452 - admin
453 bond0:
454 networks:
455 - control
456 aggregation: active-backup
457 parents:
458 - eth0
459 - eth3
460
461
462 - name: {{ HOSTNAME_GTW01 }}
463 role: salt_minion
464 params:
465 ipmi_user: !os_env IPMI_USER
466 ipmi_password: !os_env IPMI_PASSWORD
467 ipmi_previlegies: OPERATOR
468 ipmi_host: !os_env IPMI_HOST_GTW01 # hostname or IP address
469 ipmi_lan_interface: lanplus
470 ipmi_port: 623
471
472 root_volume_name: system # see 'volumes' below
473 cloud_init_volume_name: iso # see 'volumes' below
474 cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
475 volumes:
476 - name: system
477 capacity: !os_env NODE_VOLUME_SIZE, 200
478
479 # The same as for agent URL, here is an URL to the image that should be
480 # used for deploy the node. It should also be accessible from deploying
481 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
482 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
483 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
484
485 - name: iso # Volume with name 'iso' will be used
486 # for store image with cloud-init metadata.
487
488 cloudinit_meta_data: *cloudinit_meta_data
489 cloudinit_user_data: *cloudinit_user_data_1604
490
491 interfaces:
492 - label: enp3s0f0
493 l2_network_device: admin
494 mac_address: !os_env ETH0_MAC_ADDRESS_GTW01
495 - label: enp3s0f1
496 mac_address: !os_env ETH1_MAC_ADDRESS_GTW01
497
498 network_config:
499 enp3s0f0:
500 networks:
501 - admin
502 bond0:
503 networks:
504 - control
505 aggregation: active-backup
506 parents:
507 - enp3s0f1
508
509 - name: {{ HOSTNAME_GTW02 }}
510 role: salt_minion
511 params:
512 ipmi_user: !os_env IPMI_USER
513 ipmi_password: !os_env IPMI_PASSWORD
514 ipmi_previlegies: OPERATOR
515 ipmi_host: !os_env IPMI_HOST_GTW02 # hostname or IP address
516 ipmi_lan_interface: lanplus
517 ipmi_port: 623
518
519 root_volume_name: system # see 'volumes' below
520 cloud_init_volume_name: iso # see 'volumes' below
521 cloud_init_iface_up: eno1 # see 'interfaces' below.
522 volumes:
523 - name: system
524 capacity: !os_env NODE_VOLUME_SIZE, 200
525
526 # The same as for agent URL, here is an URL to the image that should be
527 # used for deploy the node. It should also be accessible from deploying
528 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
529 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
530 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
531
532 - name: iso # Volume with name 'iso' will be used
533 # for store image with cloud-init metadata.
534
535 cloudinit_meta_data: *cloudinit_meta_data
536 cloudinit_user_data: *cloudinit_user_data_1604
537
538 interfaces:
539 - label: eno1
540 l2_network_device: admin
541 mac_address: !os_env ETH0_MAC_ADDRESS_GTW02
542 - label: eno2
543 mac_address: !os_env ETH1_MAC_ADDRESS_GTW02
544
545 network_config:
546 eno1:
547 networks:
548 - admin
549 bond0:
550 networks:
551 - control
552 aggregation: active-backup
553 parents:
554 - eno2