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