blob: be97ae6e95aa1fca89e2b7d16801e33d8e874cae [file] [log] [blame]
sgudzd7f8ec92018-04-19 16:22:47 +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 LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'cookied-bm-mcp-ocata-contrail-nfv') %}
5{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
6{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
7{% set HOSTNAME_KVM01 = os_env('HOSTNAME_KVM01', 'kvm01.' + DOMAIN_NAME) %}
8{% set HOSTNAME_KVM02 = os_env('HOSTNAME_KVM02', 'kvm02.' + DOMAIN_NAME) %}
9{% set HOSTNAME_KVM03 = os_env('HOSTNAME_KVM03', 'kvm03.' + DOMAIN_NAME) %}
10{% set HOSTNAME_CMP001 = os_env('HOSTNAME_CMP001', 'cmp001.' + DOMAIN_NAME) %}
11{% set HOSTNAME_CMP002 = os_env('HOSTNAME_CMP002', 'cmp002.' + DOMAIN_NAME) %}
12
13{% set ETH1_IP_ADDRESS_CFG01 = os_env('ETH1_IP_ADDRESS_CFG01', '172.16.49.66') %}
14{% set ETH0_IP_ADDRESS_KVM01 = os_env('ETH0_IP_ADDRESS_KVM01', '172.16.49.67') %}
15{% set ETH0_IP_ADDRESS_KVM02 = os_env('ETH0_IP_ADDRESS_KVM02', '172.16.49.68') %}
16{% set ETH0_IP_ADDRESS_KVM03 = os_env('ETH0_IP_ADDRESS_KVM03', '172.16.49.69') %}
17{% set ETH0_IP_ADDRESS_CMP001 = os_env('ETH0_IP_ADDRESS_CMP001', '172.16.49.73') %}
18{% set ETH0_IP_ADDRESS_CMP002 = os_env('ETH0_IP_ADDRESS_CMP002', '172.16.49.74') %}
19
20{% import 'cookied-bm-mcp-ocata-contrail-nfv/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
21{% import 'cookied-bm-mcp-ocata-contrail-nfv/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
22{% import 'cookied-bm-mcp-ocata-contrail-nfv/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA with context %}
23{% import 'cookied-bm-mcp-ocata-contrail-nfv/underlay--user-data1604-hwe.yaml' as CLOUDINIT_USER_DATA_HWE with context %}
24
25---
26aliases:
27 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
28 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
29 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
30 - &cloudinit_user_data {{ CLOUDINIT_USER_DATA }}
31 - &cloudinit_user_data_hwe {{ CLOUDINIT_USER_DATA_HWE }}
32
33template:
34 devops_settings:
35 env_name: {{ os_env('ENV_NAME', 'cookied-bm-mcp-ocata-contrail-nfv_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
36
37 address_pools:
38 admin-pool01:
39 net: {{ os_env('ADMIN_ADDRESS_POOL01', '172.16.49.64/26:26') }}
40 params:
41 ip_reserved:
42 gateway: +62
43 l2_network_device: +61
44 default_{{ HOSTNAME_CFG01 }}: {{ ETH1_IP_ADDRESS_CFG01 }}
45 default_{{ HOSTNAME_KVM01 }}: {{ ETH0_IP_ADDRESS_KVM01 }}
46 default_{{ HOSTNAME_KVM02 }}: {{ ETH0_IP_ADDRESS_KVM02 }}
47 default_{{ HOSTNAME_KVM03 }}: {{ ETH0_IP_ADDRESS_KVM03 }}
48 default_{{ HOSTNAME_CMP001 }}: {{ ETH0_IP_ADDRESS_CMP001 }}
49 default_{{ HOSTNAME_CMP002 }}: {{ ETH0_IP_ADDRESS_CMP002 }}
50 default_{{ HOSTNAME_CMP003 }}: {{ ETH0_IP_ADDRESS_CMP003 }}
51 virtual_{{ HOSTNAME_CFG01 }}: {{ ETH1_IP_ADDRESS_CFG01 }}
52 virtual_{{ HOSTNAME_KVM01 }}: {{ ETH0_IP_ADDRESS_KVM01 }}
53 virtual_{{ HOSTNAME_KVM02 }}: {{ ETH0_IP_ADDRESS_KVM02 }}
54 virtual_{{ HOSTNAME_KVM03 }}: {{ ETH0_IP_ADDRESS_KVM03 }}
55 virtual_{{ HOSTNAME_CMP001 }}: {{ ETH0_IP_ADDRESS_CMP001 }}
56 virtual_{{ HOSTNAME_CMP002 }}: {{ ETH0_IP_ADDRESS_CMP002 }}
57 private-pool01:
58 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.167.8.0/24:24') }}
59 params:
60 ip_reserved:
61 gateway: +1
62 l2_network_device: +1
63
64 tenant-pool01:
65 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.167.10.0/24:24') }}
66 params:
67 ip_reserved:
68 gateway: +1
69 l2_network_device: +1
70
71 external-pool01:
72 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '172.17.42.192/26:26') }}
73 params:
74 ip_reserved:
75 gateway: +1
76 l2_network_device: -2
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
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
104 format: qcow2
105 - name: cfg01_day01_image # Pre-configured day01 image
106 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
107 format: qcow2
108
109 nodes:
110 - name: {{ HOSTNAME_CFG01 }}
111 role: salt_master
112 params:
113 vcpu: !os_env SLAVE_NODE_CPU, 4
114 memory: !os_env SLAVE_NODE_MEMORY, 8192
115 boot:
116 - hd
117 cloud_init_volume_name: iso
118 cloud_init_iface_up: ens3
119 volumes:
120 - name: system
121 capacity: !os_env NODE_VOLUME_SIZE, 150
122 backing_store: cfg01_day01_image
123 format: qcow2
124 - name: iso # Volume with name 'iso' will be used
125 # for store image with cloud-init metadata.
126 capacity: 1
127 format: raw
128 device: cdrom
129 bus: ide
130 cloudinit_meta_data: *cloudinit_meta_data
131 cloudinit_user_data: *cloudinit_user_data_cfg01
132
133 interfaces:
134 - label: ens3
135 l2_network_device: admin
136 interface_model: *interface_model
137 mac_address: !os_env ETH1_MAC_ADDRESS_CFG01
138 network_config:
139 ens3:
140 networks:
141 - admin
142
143 - name: default
144 driver:
145 name: devops_driver_ironic
146 params:
147 os_auth_token: fake-token
148 ironic_url: !os_env IRONIC_URL # URL that will be used by fuel-devops
149 # to access Ironic API
150 # Agent URL that is accessible from deploying node when nodes
151 # are bootstrapped with PXE. Usually PXE/provision network address is used.
152 agent_kernel_url: !os_env IRONIC_AGENT_KERNEL_URL
153 agent_ramdisk_url: !os_env IRONIC_AGENT_RAMDISK_URL
154
155 network_pools:
156 admin: admin-pool01
157
158 nodes:
159 - name: {{ HOSTNAME_KVM01 }}
160 role: salt_minion
161 params:
162 ipmi_user: !os_env IPMI_USER
163 ipmi_password: !os_env IPMI_PASSWORD
164 ipmi_previlegies: OPERATOR
165 ipmi_host: !os_env IPMI_HOST_KVM01 # hostname or IP address
166 ipmi_lan_interface: lanplus
167 ipmi_port: 623
168
169 root_volume_name: system # see 'volumes' below
170 cloud_init_volume_name: iso # see 'volumes' below
171 cloud_init_iface_up: enp9s0f0 # see 'interfaces' below.
172 volumes:
173 - name: system
174 capacity: !os_env NODE_VOLUME_SIZE, 200
175
176 # The same as for agent URL, here is an URL to the image that should be
177 # used for deploy the node. It should also be accessible from deploying
178 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
179 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
180 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
181
182 - name: iso # Volume with name 'iso' will be used
183 # for store image with cloud-init metadata.
184
185 cloudinit_meta_data: *cloudinit_meta_data
186 cloudinit_user_data: *cloudinit_user_data
187
188 interfaces:
189 - label: enp9s0f0
190 l2_network_device: admin
191 mac_address: !os_env ETH0_MAC_ADDRESS_KVM01
192 - label: enp9s0f1
193 mac_address: !os_env ETH1_MAC_ADDRESS_KVM01
194
195 network_config:
196 enp9s0f0:
197 networks:
198 - admin
199 bond0:
200 networks:
201 - control
202 aggregation: active-backup
203 parents:
204 - enp9s0f1
205
206 - name: {{ HOSTNAME_KVM02 }}
207 role: salt_minion
208 params:
209 ipmi_user: !os_env IPMI_USER
210 ipmi_password: !os_env IPMI_PASSWORD
211 ipmi_previlegies: OPERATOR
212 ipmi_host: !os_env IPMI_HOST_KVM02 # hostname or IP address
213 ipmi_lan_interface: lanplus
214 ipmi_port: 623
215
216 root_volume_name: system # see 'volumes' below
217 cloud_init_volume_name: iso # see 'volumes' below
218 cloud_init_iface_up: enp9s0f0 # see 'interfaces' below.
219 volumes:
220 - name: system
221 capacity: !os_env NODE_VOLUME_SIZE, 200
222
223 # The same as for agent URL, here is an URL to the image that should be
224 # used for deploy the node. It should also be accessible from deploying
225 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
226 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
227 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
228
229 - name: iso # Volume with name 'iso' will be used
230 # for store image with cloud-init metadata.
231
232 cloudinit_meta_data: *cloudinit_meta_data
233 cloudinit_user_data: *cloudinit_user_data
234
235 interfaces:
236 - label: enp9s0f0
237 l2_network_device: admin
238 mac_address: !os_env ETH0_MAC_ADDRESS_KVM02
239 - label: enp9s0f1
240 mac_address: !os_env ETH1_MAC_ADDRESS_KVM02
241
242 network_config:
243 enp9s0f0:
244 networks:
245 - admin
246 bond0:
247 networks:
248 - control
249 aggregation: active-backup
250 parents:
251 - enp9s0f1
252
253 - name: {{ HOSTNAME_KVM03 }}
254 role: salt_minion
255 params:
256 ipmi_user: !os_env IPMI_USER
257 ipmi_password: !os_env IPMI_PASSWORD
258 ipmi_previlegies: OPERATOR
259 ipmi_host: !os_env IPMI_HOST_KVM03 # hostname or IP address
260 ipmi_lan_interface: lanplus
261 ipmi_port: 623
262
263 root_volume_name: system # see 'volumes' below
264 cloud_init_volume_name: iso # see 'volumes' below
265 cloud_init_iface_up: enp9s0f0 # see 'interfaces' below.
266 volumes:
267 - name: system
268 capacity: !os_env NODE_VOLUME_SIZE, 200
269
270 # The same as for agent URL, here is an URL to the image that should be
271 # used for deploy the node. It should also be accessible from deploying
272 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
273 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
274 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
275
276 - name: iso # Volume with name 'iso' will be used
277 # for store image with cloud-init metadata.
278
279 cloudinit_meta_data: *cloudinit_meta_data
280 cloudinit_user_data: *cloudinit_user_data
281
282 interfaces:
283 - label: enp9s0f0
284 l2_network_device: admin
285 mac_address: !os_env ETH0_MAC_ADDRESS_KVM03
286 - label: enp9s0f1
287 mac_address: !os_env ETH1_MAC_ADDRESS_KVM03
288
289 network_config:
290 enp9s0f0:
291 networks:
292 - admin
293 bond0:
294 networks:
295 - control
296 aggregation: active-backup
297 parents:
298 - enp9s0f1
299
300
301 - name: {{ HOSTNAME_CMP001 }}
302 role: salt_minion
303 params:
304 ipmi_user: !os_env IPMI_USER
305 ipmi_password: !os_env IPMI_PASSWORD
306 ipmi_previlegies: OPERATOR
307 ipmi_host: !os_env IPMI_HOST_CMP001 # hostname or IP address
308 ipmi_lan_interface: lanplus
309 ipmi_port: 623
310
311 root_volume_name: system # see 'volumes' below
312 cloud_init_volume_name: iso # see 'volumes' below
313 cloud_init_iface_up: enp2s0f1 # see 'interfaces' below.
314 volumes:
315 - name: system
316 capacity: !os_env NODE_VOLUME_SIZE, 200
317
318 # The same as for agent URL, here is an URL to the image that should be
319 # used for deploy the node. It should also be accessible from deploying
320 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
321 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
322 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
323
324 - name: iso # Volume with name 'iso' will be used
325 # for store image with cloud-init metadata.
326
327 cloudinit_meta_data: *cloudinit_meta_data
328 cloudinit_user_data: *cloudinit_user_data_hwe
329
330 interfaces:
331 - label: enp2s0f0
332 mac_address: !os_env ETH0_MAC_ADDRESS_CMP001
333 - label: enp2s0f1
334 l2_network_device: admin
335 mac_address: !os_env ETH1_MAC_ADDRESS_CMP001
336 - label: enp5s0f0
337 mac_address: !os_env ETH2_MAC_ADDRESS_CMP001
338 features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
339 - label: enp5s0f1
340 mac_address: !os_env ETH3_MAC_ADDRESS_CMP001
341 features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
342
343 network_config:
344 enp2s0f0:
345 networks:
346 - admin
347 bond0:
348 networks:
349 - control
350 aggregation: active-backup
351 parents:
352 - enp5s0f0
353
354 - name: {{ HOSTNAME_CMP002 }}
355 role: salt_minion
356 params:
357 ipmi_user: !os_env IPMI_USER
358 ipmi_password: !os_env IPMI_PASSWORD
359 ipmi_previlegies: OPERATOR
360 ipmi_host: !os_env IPMI_HOST_CMP002 # hostname or IP address
361 ipmi_lan_interface: lanplus
362 ipmi_port: 623
363
364 root_volume_name: system # see 'volumes' below
365 cloud_init_volume_name: iso # see 'volumes' below
366 cloud_init_iface_up: enp2s0f1 # see 'interfaces' below.
367 volumes:
368 - name: system
369 capacity: !os_env NODE_VOLUME_SIZE, 200
370
371 # The same as for agent URL, here is an URL to the image that should be
372 # used for deploy the node. It should also be accessible from deploying
373 # node when nodes are provisioned by agent. Usually PXE/provision network address is used.
374 source_image: !os_env IRONIC_SOURCE_IMAGE_URL
375 source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM
376
377 - name: iso # Volume with name 'iso' will be used
378 # for store image with cloud-init metadata.
379
380 cloudinit_meta_data: *cloudinit_meta_data
381 cloudinit_user_data: *cloudinit_user_data_hwe
382
383 interfaces:
384 - label: enp2s0f0
385 mac_address: !os_env ETH0_MAC_ADDRESS_CMP002
386 - label: enp2s0f1
387 l2_network_device: admin
388 mac_address: !os_env ETH1_MAC_ADDRESS_CMP002
389 - label: enp5s0f0
390 mac_address: !os_env ETH2_MAC_ADDRESS_CMP002
391 features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
392 - label: enp5s0f1
393 mac_address: !os_env ETH3_MAC_ADDRESS_CMP002
394 features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
395
396 network_config:
397 enp2s0f1:
398 networks:
399 - admin
400 bond0:
401 networks:
402 - control
403 aggregation: active-backup
404 parents:
405 - enp5s0f0