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