blob: f464e3dd436894739c1e1d2816b89e04f4af8dfb [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') %}
6{% set DOMAIN_NAME = 'cookied-bm-mcp-ocata-contrail.local' %}
7{% 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.
116 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
117 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
118 format: qcow2
119
120 nodes:
121 - name: {{ HOSTNAME_CFG01 }}
122 role: salt_master
123 params:
124 vcpu: !os_env SLAVE_NODE_CPU, 4
125 memory: !os_env SLAVE_NODE_MEMORY, 4096
126 boot:
127 - hd
128 cloud_init_volume_name: iso
129 cloud_init_iface_up: ens3
130 volumes:
131 - name: system
132 capacity: !os_env NODE_VOLUME_SIZE, 150
133 backing_store: cloudimage1604
134 format: qcow2
135 - name: iso # Volume with name 'iso' will be used
136 # for store image with cloud-init metadata.
137 capacity: 1
138 format: raw
139 device: cdrom
140 bus: ide
141 cloudinit_meta_data: *cloudinit_meta_data
142 cloudinit_user_data: *cloudinit_user_data_cfg01
143
144 interfaces:
145 - label: ens3
146 l2_network_device: admin
147 interface_model: *interface_model
148 mac_address: !os_env ETH1_MAC_ADDRESS_CFG01
149 #- label: ens4
150 # l2_network_device: private
151 # interface_model: *interface_model
152 network_config:
153 ens3:
154 networks:
155 - admin
156 #ens4:
157 # networks:
158 # - private
159
160
161 - name: default
162 driver:
163 name: devops_driver_ironic
164 params:
165 os_auth_token: fake-token
166 ironic_url: !os_env IRONIC_URL # URL that will be used by fuel-devops
167 # to access Ironic API
168 # Agent URL that is accessible from deploying node when nodes
169 # are bootstrapped with PXE. Usually PXE/provision network address is used.
170 agent_kernel_url: !os_env IRONIC_AGENT_KERNEL_URL
171 agent_ramdisk_url: !os_env IRONIC_AGENT_RAMDISK_URL
172
173 network_pools:
174 admin: admin-pool01
175
176 nodes:
177
178 # - name: {{ HOSTNAME_CFG01 }}
179 # role: salt_master
180 # params:
181 # ipmi_user: !os_env IPMI_USER
182 # ipmi_password: !os_env IPMI_PASSWORD
183 # ipmi_previlegies: OPERATOR
184 # ipmi_host: !os_env IPMI_HOST_CFG01 # hostname or IP address
185 # ipmi_lan_interface: lanplus
186 # ipmi_port: 623
187
188 # root_volume_name: system # see 'volumes' below
189 # cloud_init_volume_name: iso # see 'volumes' below
190 # cloud_init_iface_up: enp3s0f1 # see 'interfaces' below.
191 # volumes:
192 # - name: system
193 # capacity: !os_env NODE_VOLUME_SIZE, 200
194
195 # # The same as for agent URL, here is an URL to the image that should be
196 # # used for deploy the node. It should also be accessible from deploying
197 # # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
198 # source_image: !os_env IRONIC_SOURCE_IMAGE_URL
199 # source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
200
201 # - name: iso # Volume with name 'iso' will be used
202 # # for store image with cloud-init metadata.
203
204 # cloudinit_meta_data: *cloudinit_meta_data
205 # cloudinit_user_data: *cloudinit_user_data_cfg01
206
207 # interfaces:
208 # - label: enp3s0f0 # Infra interface
209 # mac_address: !os_env ETH0_MAC_ADDRESS_CFG01
210 # - label: enp3s0f1
211 # l2_network_device: admin
212 # mac_address: !os_env ETH1_MAC_ADDRESS_CFG01
213
214 # network_config:
215 # enp3s0f0:
216 # networks:
217 # - infra
218 # enp3s0f1:
219 # networks:
220 # - admin
221
222 - name: {{ HOSTNAME_KVM01 }}
223 role: salt_minion
224 params:
225 ipmi_user: !os_env IPMI_USER
226 ipmi_password: !os_env IPMI_PASSWORD
227 ipmi_previlegies: OPERATOR
228 ipmi_host: !os_env IPMI_HOST_KVM01 # hostname or IP address
229 ipmi_lan_interface: lanplus
230 ipmi_port: 623
231
232 root_volume_name: system # see 'volumes' below
233 cloud_init_volume_name: iso # see 'volumes' below
234 cloud_init_iface_up: enp2s0f0 # see 'interfaces' below.
235 volumes:
236 - name: system
237 capacity: !os_env NODE_VOLUME_SIZE, 200
238
239 # The same as for agent URL, here is an URL to the image that should be
240 # used for deploy the node. It should also be accessible from deploying
241 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
242 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
243 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
244
245 - name: iso # Volume with name 'iso' will be used
246 # for store image with cloud-init metadata.
247
248 cloudinit_meta_data: *cloudinit_meta_data
249 cloudinit_user_data: *cloudinit_user_data
250
251 interfaces:
252 - label: enp2s0f0
253 l2_network_device: admin
254 mac_address: !os_env ETH0_MAC_ADDRESS_KVM01
255 - label: enp2s0f1
256 mac_address: !os_env ETH1_MAC_ADDRESS_KVM01
257
258 network_config:
259 enp2s0f0:
260 networks:
261 - admin
262 bond0:
263 networks:
264 - control
265 aggregation: active-backup
266 parents:
267 - enp2s0f1
268
269 - name: {{ HOSTNAME_KVM02 }}
270 role: salt_minion
271 params:
272 ipmi_user: !os_env IPMI_USER
273 ipmi_password: !os_env IPMI_PASSWORD
274 ipmi_previlegies: OPERATOR
275 ipmi_host: !os_env IPMI_HOST_KVM02 # hostname or IP address
276 ipmi_lan_interface: lanplus
277 ipmi_port: 623
278
279 root_volume_name: system # see 'volumes' below
280 cloud_init_volume_name: iso # see 'volumes' below
281 cloud_init_iface_up: enp2s0f0 # see 'interfaces' below.
282 volumes:
283 - name: system
284 capacity: !os_env NODE_VOLUME_SIZE, 200
285
286 # The same as for agent URL, here is an URL to the image that should be
287 # used for deploy the node. It should also be accessible from deploying
288 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
289 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
290 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
291
292 - name: iso # Volume with name 'iso' will be used
293 # for store image with cloud-init metadata.
294
295 cloudinit_meta_data: *cloudinit_meta_data
296 cloudinit_user_data: *cloudinit_user_data
297
298 interfaces:
299 - label: enp2s0f0
300 l2_network_device: admin
301 mac_address: !os_env ETH0_MAC_ADDRESS_KVM02
302 - label: enp2s0f1
303 mac_address: !os_env ETH1_MAC_ADDRESS_KVM02
304
305 network_config:
306 enp2s0f0:
307 networks:
308 - admin
309 bond0:
310 networks:
311 - control
312 aggregation: active-backup
313 parents:
314 - enp2s0f1
315
316 - name: {{ HOSTNAME_KVM03 }}
317 role: salt_minion
318 params:
319 ipmi_user: !os_env IPMI_USER
320 ipmi_password: !os_env IPMI_PASSWORD
321 ipmi_previlegies: OPERATOR
322 ipmi_host: !os_env IPMI_HOST_KVM03 # hostname or IP address
323 ipmi_lan_interface: lanplus
324 ipmi_port: 623
325
326 root_volume_name: system # see 'volumes' below
327 cloud_init_volume_name: iso # see 'volumes' below
328 # cloud_init_iface_up: eno1 # see 'interfaces' below.
329 cloud_init_iface_up: enp2s0f0 # see 'interfaces' below.
330 volumes:
331 - name: system
332 capacity: !os_env NODE_VOLUME_SIZE, 200
333
334 # The same as for agent URL, here is an URL to the image that should be
335 # used for deploy the node. It should also be accessible from deploying
336 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
337 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
338 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
339
340 - name: iso # Volume with name 'iso' will be used
341 # for store image with cloud-init metadata.
342
343 cloudinit_meta_data: *cloudinit_meta_data
344 cloudinit_user_data: *cloudinit_user_data
345
346 interfaces:
347 # - label: eno1
348 - label: enp2s0f0
349 l2_network_device: admin
350 mac_address: !os_env ETH0_MAC_ADDRESS_KVM03
351 # - label: eno2
352 - label: enp2s0f1
353 mac_address: !os_env ETH1_MAC_ADDRESS_KVM03
354
355 network_config:
356 # eno1:
357 enp2s0f0:
358 networks:
359 - admin
360 bond0:
361 networks:
362 - control
363 aggregation: active-backup
364 parents:
365 - enp2s0f1
366
367
368 - name: {{ HOSTNAME_CMP001 }}
369 role: salt_minion
370 params:
371 ipmi_user: !os_env IPMI_USER
372 ipmi_password: !os_env IPMI_PASSWORD
373 ipmi_previlegies: OPERATOR
374 ipmi_host: !os_env IPMI_HOST_CMP001 # hostname or IP address
375 ipmi_lan_interface: lanplus
376 ipmi_port: 623
377
378 root_volume_name: system # see 'volumes' below
379 cloud_init_volume_name: iso # see 'volumes' below
380 # cloud_init_iface_up: enp3s0f0 # see 'interfaces' below.
381 cloud_init_iface_up: enp2s0f1 # see 'interfaces' below.
382 volumes:
383 - name: system
384 capacity: !os_env NODE_VOLUME_SIZE, 200
385
386 # The same as for agent URL, here is an URL to the image that should be
387 # used for deploy the node. It should also be accessible from deploying
388 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
389 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
390 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
391
392 - name: iso # Volume with name 'iso' will be used
393 # for store image with cloud-init metadata.
394
395 cloudinit_meta_data: *cloudinit_meta_data
396 cloudinit_user_data: *cloudinit_user_data
397
398 interfaces:
399 - label: enp2s0f0
400 mac_address: !os_env ETH0_MAC_ADDRESS_CMP001
401 - label: enp2s0f1
402 l2_network_device: admin
403 mac_address: !os_env ETH1_MAC_ADDRESS_CMP001
404 - label: enp5s0f0
405 mac_address: !os_env ETH2_MAC_ADDRESS_CMP001
406 features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
407 - label: enp5s0f1
408 mac_address: !os_env ETH3_MAC_ADDRESS_CMP001
409 features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
410 # - label: enp5s0f2
411 # mac_address: !os_env ETH4_MAC_ADDRESS_CMP001
412 # features: ['dpdk', 'dpdk_pci: 0000:05:00.2']
413
414 network_config:
415 enp2s0f0:
416 networks:
417 - admin
418 bond0:
419 networks:
420 - control
421 aggregation: active-backup
422 parents:
423 - enp5s0f0
424 - enp5s0f1
425
426
427
428 - name: {{ HOSTNAME_CMP002 }}
429 role: salt_minion
430 params:
431 ipmi_user: !os_env IPMI_USER
432 ipmi_password: !os_env IPMI_PASSWORD
433 ipmi_previlegies: OPERATOR
434 ipmi_host: !os_env IPMI_HOST_CMP002 # hostname or IP address
435 ipmi_lan_interface: lanplus
436 ipmi_port: 623
437
438 root_volume_name: system # see 'volumes' below
439 cloud_init_volume_name: iso # see 'volumes' below
440 # cloud_init_iface_up: eno1 # see 'interfaces' below.
441 cloud_init_iface_up: enp2s0f1 # see 'interfaces' below.
442 volumes:
443 - name: system
444 capacity: !os_env NODE_VOLUME_SIZE, 200
445
446 # The same as for agent URL, here is an URL to the image that should be
447 # used for deploy the node. It should also be accessible from deploying
448 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
449 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
450 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
451
452 - name: iso # Volume with name 'iso' will be used
453 # for store image with cloud-init metadata.
454
455 cloudinit_meta_data: *cloudinit_meta_data
456 cloudinit_user_data: *cloudinit_user_data
457
458 interfaces:
459 # - label: eno1
460 - label: enp2s0f0
461 mac_address: !os_env ETH0_MAC_ADDRESS_CMP002
462 # - label: eth0
463 - label: enp2s0f1
464 l2_network_device: admin
465 mac_address: !os_env ETH1_MAC_ADDRESS_CMP002
466 # - label: eth3
467 - label: enp5s0f0
468 mac_address: !os_env ETH2_MAC_ADDRESS_CMP002
469 features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
470 # - label: eth2
471 - label: enp5s0f1
472 mac_address: !os_env ETH3_MAC_ADDRESS_CMP002
473 features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
474 # - label: eth4
475 # mac_address: !os_env ETH4_MAC_ADDRESS_CMP002
476 # features: ['dpdk', 'dpdk_pci: 0000:0b:00.0']
477
478 network_config:
479 enp2s0f1:
480 networks:
481 - admin
482 bond0:
483 networks:
484 - control
485 aggregation: active-backup
486 parents:
487 - enp5s0f0
488 - enp5s0f1