blob: 5914fa8ed6e038464541c9220256a4568ec44b3a [file] [log] [blame]
Illia Polliul2a2b6d12017-05-29 17:05:11 +02001# Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required
2{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'stable') %}
3
4{% import 'virtual-mcp10-contrail/underlay--meta-data.yaml' as CLOUDINIT_META_DATA %}
5{% import 'virtual-mcp10-contrail/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 %}
6{% import 'virtual-mcp10-contrail/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 %}
7{% import 'virtual-mcp10-contrail/underlay--user-data1404.yaml' as CLOUDINIT_USER_DATA_1404 %}
8
9---
10aliases:
11 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
12 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
13 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
14 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
15 - &cloudinit_user_data_1404 {{ CLOUDINIT_USER_DATA_1404 }}
16
17{% set DOMAIN_NAME = os_env('LAB_CONFIG_NAME', 'virtual-mcp10-contrail') + '.local' %}
18{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
19{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
20{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
21{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
22{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
23{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
24{% set HOSTNAME_VSRX01 = os_env('HOSTNAME_VSRX01', 'vsrx01.' + DOMAIN_NAME) %}
25{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
26
27template:
28 devops_settings:
29 env_name: {{ os_env('ENV_NAME', 'virtual-contrail_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
30
31 address_pools:
32 private-pool01:
33 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
34 params:
35 ip_reserved:
36 gateway: +1
37 l2_network_device: +1
38 default_{{ HOSTNAME_CFG01 }}: +100
39 default_{{ HOSTNAME_CTL01 }}: +101
40 default_{{ HOSTNAME_CTL02 }}: +102
41 default_{{ HOSTNAME_CTL03 }}: +103
42 default_{{ HOSTNAME_CMP01 }}: +105
43 default_{{ HOSTNAME_CMP02 }}: +106
44 default_{{ HOSTNAME_VSRX01 }}: +110
45 default_{{ HOSTNAME_PRX01 }}: +121
46 ip_ranges:
47 dhcp: [+90, -10]
48
49 admin-pool01:
50 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
51 params:
52 ip_reserved:
53 gateway: +1
54 l2_network_device: +1
55 default_{{ HOSTNAME_CFG01 }}: +100
56 default_{{ HOSTNAME_CTL01 }}: +101
57 default_{{ HOSTNAME_CTL02 }}: +102
58 default_{{ HOSTNAME_CTL03 }}: +103
59 default_{{ HOSTNAME_CMP01 }}: +105
60 default_{{ HOSTNAME_CMP02 }}: +106
61 default_{{ HOSTNAME_VSRX01 }}: +110
62 default_{{ HOSTNAME_PRX01 }}: +121
63 ip_ranges:
64 dhcp: [+90, -10]
65
66 tenant-pool01:
67 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
68 params:
69 ip_reserved:
70 gateway: +1
71 l2_network_device: +1
72 default_{{ HOSTNAME_CFG01 }}: +100
73 default_{{ HOSTNAME_CTL01 }}: +101
74 default_{{ HOSTNAME_CTL02 }}: +102
75 default_{{ HOSTNAME_CTL03 }}: +103
76 default_{{ HOSTNAME_CMP01 }}: +105
77 default_{{ HOSTNAME_CMP02 }}: +106
78 default_{{ HOSTNAME_VSRX01 }}: +110
79 default_{{ HOSTNAME_PRX01 }}: +121
80 ip_ranges:
81 dhcp: [+10, -10]
82
83 external-pool01:
84 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
85 params:
86 ip_reserved:
87 gateway: +1
88 l2_network_device: +1
89 default_{{ HOSTNAME_CFG01 }}: +100
90 default_{{ HOSTNAME_CTL01 }}: +101
91 default_{{ HOSTNAME_CTL02 }}: +102
92 default_{{ HOSTNAME_CTL03 }}: +103
93 default_{{ HOSTNAME_CMP01 }}: +105
94 default_{{ HOSTNAME_CMP02 }}: +106
95 default_{{ HOSTNAME_VSRX01 }}: +110
96 default_{{ HOSTNAME_PRX01 }}: +121
97 ip_ranges:
98 dhcp: [+10, -10]
99
100
101 groups:
102 - name: default
103 driver:
104 name: devops.driver.libvirt
105 params:
106 connection_string: !os_env CONNECTION_STRING, qemu:///system
107 storage_pool_name: !os_env STORAGE_POOL_NAME, default
108 stp: False
109 hpet: False
110 enable_acpi: true
111 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
112
113 network_pools:
114 admin: admin-pool01
115 private: private-pool01
116 tenant: tenant-pool01
117 external: external-pool01
118
119 l2_network_devices:
120 private:
121 address_pool: private-pool01
122 dhcp: true
123
124 admin:
125 address_pool: admin-pool01
126 dhcp: true
127 forward:
128 mode: nat
129
130 tenant:
131 address_pool: tenant-pool01
132 dhcp: true
133
134 external:
135 address_pool: external-pool01
136 dhcp: true
137 forward:
138 mode: nat
139
140
141 group_volumes:
142 - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
143 source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
144 # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
145 format: qcow2
146 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
147 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
148 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
149 format: qcow2
150
151 - name: vsrx_image # This name is used for 'backing_store' option for node volumes.
152 source_image: !os_env VSRX_IMAGE # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
153 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
154 format: qcow2
155
156 nodes:
157 - name: {{ HOSTNAME_CFG01 }}
158 role: salt_master
159 params:
160 vcpu: !os_env SLAVE_NODE_CPU, 4
161 memory: !os_env SLAVE_NODE_MEMORY, 4096
162 boot:
163 - hd
164 cloud_init_volume_name: iso
165 cloud_init_iface_up: ens3
166 volumes:
167 - name: system
168 capacity: !os_env NODE_VOLUME_SIZE, 150
169 backing_store: cloudimage1604
170 format: qcow2
171 - name: iso # Volume with name 'iso' will be used
172 # for store image with cloud-init metadata.
173 capacity: 1
174 format: raw
175 device: cdrom
176 bus: ide
177 cloudinit_meta_data: *cloudinit_meta_data
178 cloudinit_user_data: *cloudinit_user_data_cfg01
179
180 interfaces:
181 - label: ens3
182 l2_network_device: admin
183 interface_model: *interface_model
184 - label: ens4
185 l2_network_device: private
186 interface_model: *interface_model
187 network_config:
188 ens3:
189 networks:
190 - admin
191 ens4:
192 networks:
193 - private
194
195 - name: {{ HOSTNAME_CTL01 }}
196 role: salt_minion
197 params:
198 vcpu: !os_env SLAVE_NODE_CPU, 4
199 memory: !os_env SLAVE_NODE_MEMORY, 8192
200 boot:
201 - hd
202 cloud_init_volume_name: iso
203 cloud_init_iface_up: eth0
204 volumes:
205 - name: system
206 capacity: !os_env NODE_VOLUME_SIZE, 150
207 backing_store: cloudimage1404
208 format: qcow2
209 - name: cinder
210 capacity: 50
211 format: qcow2
212 - name: iso # Volume with name 'iso' will be used
213 # for store image with cloud-init metadata.
214 capacity: 1
215 format: raw
216 device: cdrom
217 bus: ide
218 cloudinit_meta_data: *cloudinit_meta_data
219 cloudinit_user_data: *cloudinit_user_data_1404
220
221 interfaces: &interfaces
222 - label: eth0
223 l2_network_device: admin
224 interface_model: *interface_model
225 - label: eth1
226 l2_network_device: private
227 interface_model: *interface_model
228 network_config: &network_config
229 eth0:
230 networks:
231 - admin
232 eth1:
233 networks:
234 - private
235
236 - name: {{ HOSTNAME_CTL02 }}
237 role: salt_minion
238 params:
239 vcpu: !os_env SLAVE_NODE_CPU, 4
240 memory: !os_env SLAVE_NODE_MEMORY, 8192
241 boot:
242 - hd
243 cloud_init_volume_name: iso
244 cloud_init_iface_up: eth0
245 volumes:
246 - name: system
247 capacity: !os_env NODE_VOLUME_SIZE, 150
248 backing_store: cloudimage1404
249 format: qcow2
250 - name: cinder
251 capacity: 50
252 format: qcow2
253 - name: iso # Volume with name 'iso' will be used
254 # for store image with cloud-init metadata.
255 capacity: 1
256 format: raw
257 device: cdrom
258 bus: ide
259 cloudinit_meta_data: *cloudinit_meta_data
260 cloudinit_user_data: *cloudinit_user_data_1404
261
262 interfaces: *interfaces
263 network_config: *network_config
264
265 - name: {{ HOSTNAME_CTL03 }}
266 role: salt_minion
267 params:
268 vcpu: !os_env SLAVE_NODE_CPU, 4
269 memory: !os_env SLAVE_NODE_MEMORY, 8192
270 boot:
271 - hd
272 cloud_init_volume_name: iso
273 cloud_init_iface_up: eth0
274 volumes:
275 - name: system
276 capacity: !os_env NODE_VOLUME_SIZE, 150
277 backing_store: cloudimage1404
278 format: qcow2
279 - name: cinder
280 capacity: 50
281 format: qcow2
282 - name: iso # Volume with name 'iso' will be used
283 # for store image with cloud-init metadata.
284 capacity: 1
285 format: raw
286 device: cdrom
287 bus: ide
288 cloudinit_meta_data: *cloudinit_meta_data
289 cloudinit_user_data: *cloudinit_user_data_1404
290
291 interfaces: *interfaces
292 network_config: *network_config
293
294 - name: {{ HOSTNAME_PRX01 }}
295 role: salt_minion
296 params:
297 vcpu: !os_env SLAVE_NODE_CPU, 4
298 memory: !os_env SLAVE_NODE_MEMORY, 8192
299 boot:
300 - hd
301 cloud_init_volume_name: iso
302 cloud_init_iface_up: eth0
303 volumes:
304 - name: system
305 capacity: !os_env NODE_VOLUME_SIZE, 150
306 backing_store: cloudimage1404
307 format: qcow2
308 - name: cinder
309 capacity: 50
310 format: qcow2
311 - name: iso # Volume with name 'iso' will be used
312 # for store image with cloud-init metadata.
313 capacity: 1
314 format: raw
315 device: cdrom
316 bus: ide
317 cloudinit_meta_data: *cloudinit_meta_data
318 cloudinit_user_data: *cloudinit_user_data_1404
319
320 interfaces: *interfaces
321 network_config: *network_config
322
323
324 - name: {{ HOSTNAME_CMP01 }}
325 role: salt_minion
326 params:
327 vcpu: !os_env SLAVE_NODE_CPU, 4
328 memory: !os_env SLAVE_NODE_MEMORY, 4096
329 boot:
330 - hd
331 cloud_init_volume_name: iso
332 cloud_init_iface_up: ens3
333 volumes:
334 - name: system
335 capacity: !os_env NODE_VOLUME_SIZE, 150
336 backing_store: cloudimage1604
337 format: qcow2
338 - name: iso # Volume with name 'iso' will be used
339 # for store image with cloud-init metadata.
340 capacity: 1
341 format: raw
342 device: cdrom
343 bus: ide
344 cloudinit_meta_data: *cloudinit_meta_data
345 cloudinit_user_data: *cloudinit_user_data_1604
346
347
348 interfaces: &all_interfaces
349 - label: ens3
350 l2_network_device: admin
351 interface_model: *interface_model
352 - label: ens4
353 l2_network_device: private
354 interface_model: *interface_model
355 - label: ens5
356 l2_network_device: tenant
357 interface_model: *interface_model
358 - label: ens6
359 l2_network_device: external
360 interface_model: *interface_model
361 network_config: &all_network_config
362 ens3:
363 networks:
364 - admin
365 ens4:
366 networks:
367 - private
368 ens5:
369 networks:
370 - tenant
371 ens6:
372 networks:
373 - external
374
375 - name: {{ HOSTNAME_CMP02 }}
376 role: salt_minion
377 params:
378 vcpu: !os_env SLAVE_NODE_CPU, 4
379 memory: !os_env SLAVE_NODE_MEMORY, 4096
380 boot:
381 - hd
382 cloud_init_volume_name: iso
383 cloud_init_iface_up: ens3
384 volumes:
385 - name: system
386 capacity: !os_env NODE_VOLUME_SIZE, 150
387 backing_store: cloudimage1604
388 format: qcow2
389 - name: iso # Volume with name 'iso' will be used
390 # for store image with cloud-init metadata.
391 capacity: 1
392 format: raw
393 device: cdrom
394 bus: ide
395 cloudinit_meta_data: *cloudinit_meta_data
396 cloudinit_user_data: *cloudinit_user_data_1604
397
398 interfaces: *all_interfaces
399 network_config: *all_network_config
400
401 - name: {{ HOSTNAME_VSRX01 }}
402 role: vsrx_gtw
403 params:
404 vcpu: !os_env SLAVE_NODE_CPU, 1
405 memory: !os_env SLAVE_NODE_MEMORY, 2048
406 boot:
407 - hd
408 volumes:
409 - name: system
410 capacity: !os_env NODE_VOLUME_SIZE, 150
411 backing_store: vsrx_image
412 format: qcow2
413
414 interfaces:
415 - label: ens5
416 l2_network_device: tenant
417 interface_model: *interface_model
418 - label: ens6
419 l2_network_device: external
420 interface_model: *interface_model
421 network_config:
422 ens5:
423 networks:
424 - tenant
425 ens6:
426 networks:
427 - external
428