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