blob: ac2362bb2b2682b5d8ea9a1acdca9a88de223e0c [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) %}
Illia Polliulea26c1e2017-06-10 14:13:51 +020022{% set HOSTNAME_MON01 = os_env('HOSTNAME_MON01', 'mon01.' + DOMAIN_NAME) %}
23{% set HOSTNAME_MON02 = os_env('HOSTNAME_MON02', 'mon02.' + DOMAIN_NAME) %}
24{% set HOSTNAME_MON03 = os_env('HOSTNAME_MON03', 'mon03.' + DOMAIN_NAME) %}
Illia Polliul2a2b6d12017-05-29 17:05:11 +020025{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
26{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
27{% set HOSTNAME_VSRX01 = os_env('HOSTNAME_VSRX01', 'vsrx01.' + DOMAIN_NAME) %}
28{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
29
30template:
31 devops_settings:
32 env_name: {{ os_env('ENV_NAME', 'virtual-contrail_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
33
34 address_pools:
35 private-pool01:
36 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
37 params:
38 ip_reserved:
39 gateway: +1
40 l2_network_device: +1
41 default_{{ HOSTNAME_CFG01 }}: +100
42 default_{{ HOSTNAME_CTL01 }}: +101
43 default_{{ HOSTNAME_CTL02 }}: +102
44 default_{{ HOSTNAME_CTL03 }}: +103
45 default_{{ HOSTNAME_CMP01 }}: +105
46 default_{{ HOSTNAME_CMP02 }}: +106
Illia Polliulea26c1e2017-06-10 14:13:51 +020047 default_{{ HOSTNAME_MON01 }}: +107
48 default_{{ HOSTNAME_MON02 }}: +108
49 default_{{ HOSTNAME_MON03 }}: +109
Illia Polliul2a2b6d12017-05-29 17:05:11 +020050 default_{{ HOSTNAME_VSRX01 }}: +110
51 default_{{ HOSTNAME_PRX01 }}: +121
52 ip_ranges:
53 dhcp: [+90, -10]
54
55 admin-pool01:
56 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
57 params:
58 ip_reserved:
59 gateway: +1
60 l2_network_device: +1
61 default_{{ HOSTNAME_CFG01 }}: +100
62 default_{{ HOSTNAME_CTL01 }}: +101
63 default_{{ HOSTNAME_CTL02 }}: +102
64 default_{{ HOSTNAME_CTL03 }}: +103
65 default_{{ HOSTNAME_CMP01 }}: +105
66 default_{{ HOSTNAME_CMP02 }}: +106
Illia Polliulea26c1e2017-06-10 14:13:51 +020067 default_{{ HOSTNAME_MON01 }}: +107
68 default_{{ HOSTNAME_MON02 }}: +108
69 default_{{ HOSTNAME_MON03 }}: +109
Illia Polliul2a2b6d12017-05-29 17:05:11 +020070 default_{{ HOSTNAME_VSRX01 }}: +110
71 default_{{ HOSTNAME_PRX01 }}: +121
72 ip_ranges:
73 dhcp: [+90, -10]
74
75 tenant-pool01:
76 net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
77 params:
78 ip_reserved:
79 gateway: +1
80 l2_network_device: +1
81 default_{{ HOSTNAME_CFG01 }}: +100
82 default_{{ HOSTNAME_CTL01 }}: +101
83 default_{{ HOSTNAME_CTL02 }}: +102
84 default_{{ HOSTNAME_CTL03 }}: +103
85 default_{{ HOSTNAME_CMP01 }}: +105
86 default_{{ HOSTNAME_CMP02 }}: +106
Illia Polliulea26c1e2017-06-10 14:13:51 +020087 default_{{ HOSTNAME_MON01 }}: +107
88 default_{{ HOSTNAME_MON02 }}: +108
89 default_{{ HOSTNAME_MON03 }}: +109
Illia Polliul2a2b6d12017-05-29 17:05:11 +020090 default_{{ HOSTNAME_VSRX01 }}: +110
91 default_{{ HOSTNAME_PRX01 }}: +121
92 ip_ranges:
93 dhcp: [+10, -10]
94
95 external-pool01:
96 net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
97 params:
98 ip_reserved:
99 gateway: +1
100 l2_network_device: +1
101 default_{{ HOSTNAME_CFG01 }}: +100
102 default_{{ HOSTNAME_CTL01 }}: +101
103 default_{{ HOSTNAME_CTL02 }}: +102
104 default_{{ HOSTNAME_CTL03 }}: +103
105 default_{{ HOSTNAME_CMP01 }}: +105
106 default_{{ HOSTNAME_CMP02 }}: +106
Illia Polliulea26c1e2017-06-10 14:13:51 +0200107 default_{{ HOSTNAME_MON01 }}: +107
108 default_{{ HOSTNAME_MON02 }}: +108
109 default_{{ HOSTNAME_MON03 }}: +109
Illia Polliul2a2b6d12017-05-29 17:05:11 +0200110 default_{{ HOSTNAME_VSRX01 }}: +110
111 default_{{ HOSTNAME_PRX01 }}: +121
112 ip_ranges:
113 dhcp: [+10, -10]
114
115
116 groups:
117 - name: default
118 driver:
119 name: devops.driver.libvirt
120 params:
121 connection_string: !os_env CONNECTION_STRING, qemu:///system
122 storage_pool_name: !os_env STORAGE_POOL_NAME, default
123 stp: False
124 hpet: False
125 enable_acpi: true
126 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
127
128 network_pools:
129 admin: admin-pool01
130 private: private-pool01
131 tenant: tenant-pool01
132 external: external-pool01
133
134 l2_network_devices:
135 private:
136 address_pool: private-pool01
137 dhcp: true
138
139 admin:
140 address_pool: admin-pool01
141 dhcp: true
142 forward:
143 mode: nat
144
145 tenant:
146 address_pool: tenant-pool01
147 dhcp: true
148
149 external:
150 address_pool: external-pool01
151 dhcp: true
152 forward:
153 mode: nat
154
155
156 group_volumes:
157 - name: cloudimage1404 # This name is used for 'backing_store' option for node volumes.
158 source_image: !os_env IMAGE_PATH1404 # https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img or
159 # http://apt.tcpcloud.eu/images/ubuntu-14-04-x64-201608231134.qcow2
160 format: qcow2
161 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
162 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
163 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
164 format: qcow2
165
166 - name: vsrx_image # This name is used for 'backing_store' option for node volumes.
167 source_image: !os_env VSRX_IMAGE # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img or
168 # http://apt.tcpcloud.eu/images/ubuntu-16-04-x64-201608231004.qcow2
169 format: qcow2
170
171 nodes:
172 - name: {{ HOSTNAME_CFG01 }}
173 role: salt_master
174 params:
175 vcpu: !os_env SLAVE_NODE_CPU, 4
176 memory: !os_env SLAVE_NODE_MEMORY, 4096
177 boot:
178 - hd
179 cloud_init_volume_name: iso
180 cloud_init_iface_up: ens3
181 volumes:
182 - name: system
183 capacity: !os_env NODE_VOLUME_SIZE, 150
184 backing_store: cloudimage1604
185 format: qcow2
186 - name: iso # Volume with name 'iso' will be used
187 # for store image with cloud-init metadata.
188 capacity: 1
189 format: raw
190 device: cdrom
191 bus: ide
192 cloudinit_meta_data: *cloudinit_meta_data
193 cloudinit_user_data: *cloudinit_user_data_cfg01
194
195 interfaces:
196 - label: ens3
197 l2_network_device: admin
198 interface_model: *interface_model
199 - label: ens4
200 l2_network_device: private
201 interface_model: *interface_model
202 network_config:
203 ens3:
204 networks:
205 - admin
206 ens4:
207 networks:
208 - private
209
210 - name: {{ HOSTNAME_CTL01 }}
211 role: salt_minion
212 params:
213 vcpu: !os_env SLAVE_NODE_CPU, 4
214 memory: !os_env SLAVE_NODE_MEMORY, 8192
215 boot:
216 - hd
217 cloud_init_volume_name: iso
218 cloud_init_iface_up: eth0
219 volumes:
220 - name: system
221 capacity: !os_env NODE_VOLUME_SIZE, 150
222 backing_store: cloudimage1404
223 format: qcow2
224 - name: cinder
225 capacity: 50
226 format: qcow2
227 - name: iso # Volume with name 'iso' will be used
228 # for store image with cloud-init metadata.
229 capacity: 1
230 format: raw
231 device: cdrom
232 bus: ide
233 cloudinit_meta_data: *cloudinit_meta_data
234 cloudinit_user_data: *cloudinit_user_data_1404
235
236 interfaces: &interfaces
237 - label: eth0
238 l2_network_device: admin
239 interface_model: *interface_model
240 - label: eth1
241 l2_network_device: private
242 interface_model: *interface_model
243 network_config: &network_config
244 eth0:
245 networks:
246 - admin
247 eth1:
248 networks:
249 - private
250
251 - name: {{ HOSTNAME_CTL02 }}
252 role: salt_minion
253 params:
254 vcpu: !os_env SLAVE_NODE_CPU, 4
255 memory: !os_env SLAVE_NODE_MEMORY, 8192
256 boot:
257 - hd
258 cloud_init_volume_name: iso
259 cloud_init_iface_up: eth0
260 volumes:
261 - name: system
262 capacity: !os_env NODE_VOLUME_SIZE, 150
263 backing_store: cloudimage1404
264 format: qcow2
265 - name: cinder
266 capacity: 50
267 format: qcow2
268 - name: iso # Volume with name 'iso' will be used
269 # for store image with cloud-init metadata.
270 capacity: 1
271 format: raw
272 device: cdrom
273 bus: ide
274 cloudinit_meta_data: *cloudinit_meta_data
275 cloudinit_user_data: *cloudinit_user_data_1404
276
277 interfaces: *interfaces
278 network_config: *network_config
279
280 - name: {{ HOSTNAME_CTL03 }}
281 role: salt_minion
282 params:
283 vcpu: !os_env SLAVE_NODE_CPU, 4
284 memory: !os_env SLAVE_NODE_MEMORY, 8192
285 boot:
286 - hd
287 cloud_init_volume_name: iso
288 cloud_init_iface_up: eth0
289 volumes:
290 - name: system
291 capacity: !os_env NODE_VOLUME_SIZE, 150
292 backing_store: cloudimage1404
293 format: qcow2
294 - name: cinder
295 capacity: 50
296 format: qcow2
297 - name: iso # Volume with name 'iso' will be used
298 # for store image with cloud-init metadata.
299 capacity: 1
300 format: raw
301 device: cdrom
302 bus: ide
303 cloudinit_meta_data: *cloudinit_meta_data
304 cloudinit_user_data: *cloudinit_user_data_1404
305
306 interfaces: *interfaces
307 network_config: *network_config
308
309 - name: {{ HOSTNAME_PRX01 }}
310 role: salt_minion
311 params:
312 vcpu: !os_env SLAVE_NODE_CPU, 4
313 memory: !os_env SLAVE_NODE_MEMORY, 8192
314 boot:
315 - hd
316 cloud_init_volume_name: iso
317 cloud_init_iface_up: eth0
318 volumes:
319 - name: system
320 capacity: !os_env NODE_VOLUME_SIZE, 150
321 backing_store: cloudimage1404
322 format: qcow2
323 - name: cinder
324 capacity: 50
325 format: qcow2
326 - name: iso # Volume with name 'iso' will be used
327 # for store image with cloud-init metadata.
328 capacity: 1
329 format: raw
330 device: cdrom
331 bus: ide
332 cloudinit_meta_data: *cloudinit_meta_data
333 cloudinit_user_data: *cloudinit_user_data_1404
334
335 interfaces: *interfaces
336 network_config: *network_config
337
338
339 - name: {{ HOSTNAME_CMP01 }}
340 role: salt_minion
341 params:
342 vcpu: !os_env SLAVE_NODE_CPU, 4
343 memory: !os_env SLAVE_NODE_MEMORY, 4096
344 boot:
345 - hd
346 cloud_init_volume_name: iso
347 cloud_init_iface_up: ens3
348 volumes:
349 - name: system
350 capacity: !os_env NODE_VOLUME_SIZE, 150
351 backing_store: cloudimage1604
352 format: qcow2
353 - name: iso # Volume with name 'iso' will be used
354 # for store image with cloud-init metadata.
355 capacity: 1
356 format: raw
357 device: cdrom
358 bus: ide
359 cloudinit_meta_data: *cloudinit_meta_data
360 cloudinit_user_data: *cloudinit_user_data_1604
361
362
363 interfaces: &all_interfaces
364 - label: ens3
365 l2_network_device: admin
366 interface_model: *interface_model
367 - label: ens4
368 l2_network_device: private
369 interface_model: *interface_model
370 - label: ens5
371 l2_network_device: tenant
372 interface_model: *interface_model
373 - label: ens6
374 l2_network_device: external
375 interface_model: *interface_model
376 network_config: &all_network_config
377 ens3:
378 networks:
379 - admin
380 ens4:
381 networks:
382 - private
383 ens5:
384 networks:
385 - tenant
386 ens6:
387 networks:
388 - external
389
390 - name: {{ HOSTNAME_CMP02 }}
391 role: salt_minion
392 params:
393 vcpu: !os_env SLAVE_NODE_CPU, 4
394 memory: !os_env SLAVE_NODE_MEMORY, 4096
395 boot:
396 - hd
397 cloud_init_volume_name: iso
398 cloud_init_iface_up: ens3
399 volumes:
400 - name: system
401 capacity: !os_env NODE_VOLUME_SIZE, 150
402 backing_store: cloudimage1604
403 format: qcow2
404 - name: iso # Volume with name 'iso' will be used
405 # for store image with cloud-init metadata.
406 capacity: 1
407 format: raw
408 device: cdrom
409 bus: ide
410 cloudinit_meta_data: *cloudinit_meta_data
411 cloudinit_user_data: *cloudinit_user_data_1604
412
413 interfaces: *all_interfaces
414 network_config: *all_network_config
415
Illia Polliulea26c1e2017-06-10 14:13:51 +0200416 - name: {{ HOSTNAME_MON01 }}
417 role: salt_minion
418 params:
419 vcpu: !os_env SLAVE_NODE_CPU, 4
420 memory: !os_env SLAVE_NODE_MEMORY, 4098
421 boot:
422 - hd
423 cloud_init_volume_name: iso
424 cloud_init_iface_up: ens3
425 volumes:
426 - name: system
427 capacity: !os_env NODE_VOLUME_SIZE, 120
428 backing_store: cloudimage1604
429 format: qcow2
430 - name: iso # Volume with name 'iso' will be used
431 # for store image with cloud-init metadata.
432 capacity: 1
433 format: raw
434 device: cdrom
435 bus: ide
436 cloudinit_meta_data: !include underlay--meta-data.yaml
437 cloudinit_user_data: !include underlay--user-data1604.yaml
438
439 interfaces: *all_interfaces
440 network_config: *all_network_config
441
442 - name: {{ HOSTNAME_MON02 }}
443 role: salt_minion
444 params:
445 vcpu: !os_env SLAVE_NODE_CPU, 4
446 memory: !os_env SLAVE_NODE_MEMORY, 4098
447 boot:
448 - hd
449 cloud_init_volume_name: iso
450 cloud_init_iface_up: ens3
451 volumes:
452 - name: system
453 capacity: !os_env NODE_VOLUME_SIZE, 120
454 backing_store: cloudimage1604
455 format: qcow2
456 - name: iso # Volume with name 'iso' will be used
457 # for store image with cloud-init metadata.
458 capacity: 1
459 format: raw
460 device: cdrom
461 bus: ide
462 cloudinit_meta_data: !include underlay--meta-data.yaml
463 cloudinit_user_data: !include underlay--user-data1604.yaml
464
465 interfaces: *all_interfaces
466 network_config: *all_network_config
467
468 - name: {{ HOSTNAME_MON03 }}
469 role: salt_minion
470 params:
471 vcpu: !os_env SLAVE_NODE_CPU, 4
472 memory: !os_env SLAVE_NODE_MEMORY, 4098
473 boot:
474 - hd
475 cloud_init_volume_name: iso
476 cloud_init_iface_up: ens3
477 volumes:
478 - name: system
479 capacity: !os_env NODE_VOLUME_SIZE, 120
480 backing_store: cloudimage1604
481 format: qcow2
482 - name: iso # Volume with name 'iso' will be used
483 # for store image with cloud-init metadata.
484 capacity: 1
485 format: raw
486 device: cdrom
487 bus: ide
488 cloudinit_meta_data: !include underlay--meta-data.yaml
489 cloudinit_user_data: !include underlay--user-data1604.yaml
490
491 interfaces: *all_interfaces
492 network_config: *all_network_config
493
Illia Polliul2a2b6d12017-05-29 17:05:11 +0200494 - name: {{ HOSTNAME_VSRX01 }}
495 role: vsrx_gtw
496 params:
Illia Polliulea26c1e2017-06-10 14:13:51 +0200497 vcpu: !os_env SLAVE_NODE_CPU, 2
498 memory: !os_env SLAVE_NODE_MEMORY, 1048
Illia Polliul2a2b6d12017-05-29 17:05:11 +0200499 boot:
500 - hd
501 volumes:
502 - name: system
503 capacity: !os_env NODE_VOLUME_SIZE, 150
504 backing_store: vsrx_image
505 format: qcow2
506
507 interfaces:
508 - label: ens5
509 l2_network_device: tenant
510 interface_model: *interface_model
511 - label: ens6
512 l2_network_device: external
513 interface_model: *interface_model
514 network_config:
515 ens5:
516 networks:
517 - tenant
518 ens6:
519 networks:
520 - external
521