blob: b87f888c67633ade48a38a1197c996b9b0396dfa [file] [log] [blame]
Victor Ryzhenkina95d1732017-11-16 19:02:19 +04001# This environment requires 50.5 GB of RAM and 270GB of Storage. Run with caution.
2{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %}
3
4{% import 'k8s-ha-contrail/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
5{% import 'k8s-ha-contrail/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
6{% import 'k8s-ha-contrail/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
7{% import 'k8s-ha-contrail/underlay--user-data1404.yaml' as CLOUDINIT_USER_DATA_1404 with context %}
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 LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'k8s-ha-contrail') %}
18{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME) + '.local' %}
19{% 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) %}
23{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp0.' + DOMAIN_NAME) %}
24{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp1.' + DOMAIN_NAME) %}
25{% set HOSTNAME_NTW01 = os_env('HOSTNAME_NTW01', 'ntw01.' + DOMAIN_NAME) %}
26{% set HOSTNAME_NTW02 = os_env('HOSTNAME_NTW02', 'ntw02.' + DOMAIN_NAME) %}
27{% set HOSTNAME_NTW03 = os_env('HOSTNAME_NTW03', 'ntw03.' + DOMAIN_NAME) %}
28{% set HOSTNAME_VSRX01 = os_env('HOSTNAME_VSRX01', 'vsrx01.' + DOMAIN_NAME) %}
29
30template:
31 devops_settings:
32 env_name: {{ os_env('ENV_NAME', 'k8s-ha-contrail_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}
33
34 address_pools:
35
36 private-pool01:
37 net: {{ os_env('PRIVATE_ADDRESS_POOL01', '172.16.10.0/24: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
48 default_{{ HOSTNAME_NTW01 }}: +110
49 default_{{ HOSTNAME_NTW02 }}: +111
50 default_{{ HOSTNAME_NTW03 }}: +112
51 default_{{ HOSTNAME_VSRX01 }}: +90
52 ip_ranges:
53 dhcp: [+90, -10]
54
55 public-pool01:
56 net: {{ os_env('PUBLIC_ADDRESS_POOL01', '192.168.10.0/24: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
67 default_{{ HOSTNAME_NTW01 }}: +110
68 default_{{ HOSTNAME_NTW02 }}: +111
69 default_{{ HOSTNAME_NTW03 }}: +112
70 default_{{ HOSTNAME_VSRX01 }}: +90
71 ip_ranges:
72 dhcp: [+90, -10]
73
74 admin-pool01:
75 net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/24:24') }}
76 params:
77 ip_reserved:
78 gateway: +1
79 l2_network_device: +1
80 default_{{ HOSTNAME_CFG01 }}: +15
81 default_{{ HOSTNAME_CTL01 }}: +101
82 default_{{ HOSTNAME_CTL02 }}: +102
83 default_{{ HOSTNAME_CTL03 }}: +103
84 default_{{ HOSTNAME_CMP01 }}: +105
85 default_{{ HOSTNAME_CMP02 }}: +106
86 default_{{ HOSTNAME_NTW01 }}: +110
87 default_{{ HOSTNAME_NTW02 }}: +111
88 default_{{ HOSTNAME_NTW03 }}: +112
89 default_{{ HOSTNAME_VSRX01 }}: +90
90 ip_ranges:
91 dhcp: [+10, -10]
92
93 groups:
94 - name: default
95 driver:
96 name: devops.driver.libvirt
97 params:
98 connection_string: !os_env CONNECTION_STRING, qemu:///system
99 storage_pool_name: !os_env STORAGE_POOL_NAME, default
100 stp: True
101 hpet: False
102 enable_acpi: true
103 use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
104 use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false
105
106 network_pools:
107 private: private-pool01
108 public: public-pool01
109 admin: admin-pool01
110
111 l2_network_devices:
112 private:
113 address_pool: private-pool01
114 dhcp: true
115
116 public:
117 address_pool: public-pool01
118 dhcp: true
119 forward:
120 mode: nat
121
122 admin:
123 address_pool: admin-pool01
124 dhcp: true
125
126 group_volumes:
127 - name: cloudimage1604 # This name is used for 'backing_store' option for node volumes.
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200128 source_image: !os_env IMAGE_PATH1604 # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
129 format: qcow2
130
131 - name: cfg01_day01_image # Pre-configured day01 image
132 source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
Victor Ryzhenkina95d1732017-11-16 19:02:19 +0400133 format: qcow2
134
135 - name: cloudimage1404
136 source_image: !os_env IMAGE_PATH1404
137 format: qcow2
138
139 - name: vsrx_image
140 source_image: !os_env IMAGE_VSRX
141 format: qcow2
142
143 nodes:
144 - name: {{ HOSTNAME_CFG01 }}
145 role: salt_master
146 params:
147 vcpu: !os_env SLAVE_NODE_CPU, 2
148 memory: !os_env SLAVE_NODE_MEMORY, 4096
149 boot:
150 - hd
151 cloud_init_volume_name: iso
152 cloud_init_iface_up: ens3
153 volumes:
154 - name: system
Dennis Dmitrieveb466d42018-01-25 04:13:55 +0200155 capacity: !os_env NODE_VOLUME_SIZE, 150
Dennis Dmitrievf00a3842018-01-24 16:44:26 +0200156 backing_store: cfg01_day01_image
Victor Ryzhenkina95d1732017-11-16 19:02:19 +0400157 format: qcow2
158 - name: iso # Volume with name 'iso' will be used
159 # for store image with cloud-init metadata.
160 capacity: 1
161 format: raw
162 device: cdrom
163 bus: ide
164 cloudinit_meta_data: *cloudinit_meta_data
165 cloudinit_user_data: *cloudinit_user_data_cfg01
166
167 interfaces:
168 - label: ens3
169 l2_network_device: public
170 interface_model: *interface_model
171 - label: ens4
172 l2_network_device: private
173 interface_model: *interface_model
174 - label: ens5
175 l2_network_device: admin
176 interface_model: *interface_model
177
178 network_config:
179 ens3:
180 networks:
181 - public
182 ens4:
183 networks:
184 - private
185 ens5:
186 networks:
187 - admin
188
189 - name: {{ HOSTNAME_CTL01 }}
190 role: k8s_controller
191 params:
192 vcpu: !os_env SLAVE_NODE_CPU, 2
193 memory: !os_env SLAVE_NODE_MEMORY, 4096
194 boot:
195 - hd
196 cloud_init_volume_name: iso
197 cloud_init_iface_up: ens3
198 volumes:
199 - name: system
200 capacity: !os_env NODE_VOLUME_SIZE, 20
201 backing_store: cloudimage1604
202 format: qcow2
Victor Ryzhenkina95d1732017-11-16 19:02:19 +0400203 - name: iso # Volume with name 'iso' will be used
204 # for store image with cloud-init metadata.
205 capacity: 1
206 format: raw
207 device: cdrom
208 bus: ide
209 cloudinit_meta_data: *cloudinit_meta_data
210 cloudinit_user_data: *cloudinit_user_data_1604
211
212 interfaces: &interfaces
213 - label: ens3
214 l2_network_device: public
215 interface_model: *interface_model
216 - label: ens4
217 l2_network_device: private
218 interface_model: *interface_model
219 - label: ens5
220 l2_network_device: admin
221 interface_model: *interface_model
222 network_config: &network_config
223 ens3:
224 networks:
225 - public
226 ens4:
227 networks:
228 - private
229 ens5:
230 networks:
231 - admin
232
233 - name: {{ HOSTNAME_CTL02 }}
234 role: salt_minion
235 params:
236 vcpu: !os_env SLAVE_NODE_CPU, 2
237 memory: !os_env SLAVE_NODE_MEMORY, 4096
238 boot:
239 - hd
240 cloud_init_volume_name: iso
241 cloud_init_iface_up: ens3
242 volumes:
243 - name: system
244 capacity: !os_env NODE_VOLUME_SIZE, 20
245 backing_store: cloudimage1604
246 format: qcow2
Victor Ryzhenkina95d1732017-11-16 19:02:19 +0400247 - name: iso # Volume with name 'iso' will be used
248 # for store image with cloud-init metadata.
249 capacity: 1
250 format: raw
251 device: cdrom
252 bus: ide
253 cloudinit_meta_data: *cloudinit_meta_data
254 cloudinit_user_data: *cloudinit_user_data_1604
255
256 interfaces: *interfaces
257 network_config: *network_config
258
259 - name: {{ HOSTNAME_CTL03 }}
260 role: salt_minion
261 params:
262 vcpu: !os_env SLAVE_NODE_CPU, 2
263 memory: !os_env SLAVE_NODE_MEMORY, 4096
264 boot:
265 - hd
266 cloud_init_volume_name: iso
267 cloud_init_iface_up: ens3
268 volumes:
269 - name: system
270 capacity: !os_env NODE_VOLUME_SIZE, 20
271 backing_store: cloudimage1604
272 format: qcow2
Victor Ryzhenkina95d1732017-11-16 19:02:19 +0400273 - name: iso # Volume with name 'iso' will be used
274 # for store image with cloud-init metadata.
275 capacity: 1
276 format: raw
277 device: cdrom
278 bus: ide
279 cloudinit_meta_data: *cloudinit_meta_data
280 cloudinit_user_data: *cloudinit_user_data_1604
281
282 interfaces: *interfaces
283 network_config: *network_config
284
285 - name: {{ HOSTNAME_CMP01 }}
286 role: salt_minion
287 params:
288 vcpu: !os_env SLAVE_NODE_CPU, 2
289 memory: !os_env SLAVE_NODE_MEMORY, 4096
290 boot:
291 - hd
292 cloud_init_volume_name: iso
293 cloud_init_iface_up: ens3
294 volumes:
295 - name: system
296 capacity: !os_env NODE_VOLUME_SIZE, 20
297 backing_store: cloudimage1604
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_1604
307
308 interfaces: *interfaces
309 network_config: *network_config
310
311 - name: {{ HOSTNAME_CMP02 }}
312 role: salt_minion
313 params:
314 vcpu: !os_env SLAVE_NODE_CPU, 2
315 memory: !os_env SLAVE_NODE_MEMORY, 4096
316 boot:
317 - hd
318 cloud_init_volume_name: iso
319 cloud_init_iface_up: ens3
320 volumes:
321 - name: system
322 capacity: !os_env NODE_VOLUME_SIZE, 20
323 backing_store: cloudimage1604
324 format: qcow2
325 - name: iso # Volume with name 'iso' will be used
326 # for store image with cloud-init metadata.
327 capacity: 1
328 format: raw
329 device: cdrom
330 bus: ide
331 cloudinit_meta_data: *cloudinit_meta_data
332 cloudinit_user_data: *cloudinit_user_data_1604
333
334 interfaces: *interfaces
335 network_config: *network_config
336
337 - name: {{ HOSTNAME_NTW01 }}
338 role: salt_minion
339 params:
340 vcpu: !os_env SLAVE_NODE_CPU, 2
341 memory: !os_env SLAVE_NODE_MEMORY, 8192
342 boot:
343 - hd
344 cloud_init_volume_name: iso
345 cloud_init_iface_up: ens3
346 volumes:
347 - name: system
348 capacity: !os_env NODE_VOLUME_SIZE, 20
349 backing_store: cloudimage1404
350 format: qcow2
351 - name: iso # Volume with name 'iso' will be used
352 # for store image with cloud-init metadata.
353 capacity: 1
354 format: raw
355 device: cdrom
356 bus: ide
357 cloudinit_meta_data: *cloudinit_meta_data
358 cloudinit_user_data: *cloudinit_user_data_1404
359
360 interfaces: *interfaces
361 network_config: *network_config
362
363 - name: {{ HOSTNAME_NTW02 }}
364 role: salt_minion
365 params:
366 vcpu: !os_env SLAVE_NODE_CPU, 2
367 memory: !os_env SLAVE_NODE_MEMORY, 8192
368 boot:
369 - hd
370 cloud_init_volume_name: iso
371 cloud_init_iface_up: ens3
372 volumes:
373 - name: system
374 capacity: !os_env NODE_VOLUME_SIZE, 20
375 backing_store: cloudimage1404
376 format: qcow2
377 - name: iso # Volume with name 'iso' will be used
378 # for store image with cloud-init metadata.
379 capacity: 1
380 format: raw
381 device: cdrom
382 bus: ide
383 cloudinit_meta_data: *cloudinit_meta_data
384 cloudinit_user_data: *cloudinit_user_data_1404
385
386 interfaces: *interfaces
387 network_config: *network_config
388
389 - name: {{ HOSTNAME_NTW03 }}
390 role: salt_minion
391 params:
392 vcpu: !os_env SLAVE_NODE_CPU, 2
393 memory: !os_env SLAVE_NODE_MEMORY, 8192
394 boot:
395 - hd
396 cloud_init_volume_name: iso
397 cloud_init_iface_up: ens3
398 volumes:
399 - name: system
400 capacity: !os_env NODE_VOLUME_SIZE, 20
401 backing_store: cloudimage1404
402 format: qcow2
403 - name: iso # Volume with name 'iso' will be used
404 # for store image with cloud-init metadata.
405 capacity: 1
406 format: raw
407 device: cdrom
408 bus: ide
409 cloudinit_meta_data: *cloudinit_meta_data
410 cloudinit_user_data: *cloudinit_user_data_1404
411
412 interfaces: *interfaces
413 network_config: *network_config
414
415 - name: {{ HOSTNAME_VSRX01 }}
416 role: vsrx
417 params:
418 vcpu: !os_env SLAVE_NODE_CPU, 2
419 memory: !os_env SLAVE_NODE_MEMORY, 512
420 boot:
421 - hd
422 volumes:
423 - name: system
424 capacity: !os_env NODE_VOLUME_SIZE, 10
425 backing_store: vsrx_image
426 format: qcow2
427 #- name: iso
428 #- capacity: 1
429 #- format: raw
430 #- device: cdrom
431 #- bus: ide
432 #- cloudinit_user_data: !include juniper.conf
433
434 interfaces:
435 - label: ge-0/0/0
436 l2_network_device: private
437 interface_model: *interface_model
438 mac_address: 52:54:00:4e:b4:36
439 - label: ge-0/0/1
440 l2_network_device: public
441 interface_model: *interface_model
442 mac_address: 52:54:00:e1:44:9d
443 - label: ge-0/0/2
444 l2_network_device: admin
445 interface_model: *interface_model
446 mac_address: 52:54:00:72:08:77