blob: fa1551e2b8300aed541ba246d2391e63dba096b4 [file] [log] [blame]
Aleš Komáreka3314b22017-04-11 13:46:06 +02001====================
2OpenContrail Formula
3====================
Filip Pytloun27930402015-10-06 16:28:32 +02004
Jakub Pavlik01fe5372016-05-20 11:23:28 +02005Contrail Controller is an open, standards-based software solution that
6delivers network virtualization and service automation for federated cloud
7networks. It provides self-service provisioning, improves network
8troubleshooting and diagnostics, and enables service chaining for dynamic
9application environments across enterprise virtual private cloud (VPC),
10managed Infrastructure as a Service (IaaS), and Networks Functions
11Virtualization (NFV) use cases.
Filip Pytloun27930402015-10-06 16:28:32 +020012
Jiri Konecny463dee52016-03-03 11:08:46 +010013
Petr Michalec579e64d2017-03-24 12:54:29 +010014Package source
15==============
Aleš Komáreka3314b22017-04-11 13:46:06 +020016
Petr Michalec579e64d2017-03-24 12:54:29 +010017Formula support OpenContrail as well as Juniper Contrail package repository in the backend.
18
19Differences withing the configuration and state run are controlled by
20``opencontrail.common.vendor: [opencontrail|juniper]`` pillar attribute.
21
22Default value is set to ``opencontrail``.
23
24Juniper releases tested with this formula:
25 - 3.0.2.x
26
27To use Juniper Contrail repository as a source of packages override pillar as in this example:
28
29.. code-block:: yaml
30
31 opencontrail:
32 common:
33 vendor: juniper
34
35
Aleš Komáreka3314b22017-04-11 13:46:06 +020036Sample Pillars
Filip Pytloun27930402015-10-06 16:28:32 +020037==============
38
Jiri Konecny463dee52016-03-03 11:08:46 +010039Controller nodes
40----------------
41
42There are several scenarios for OpenContrail control plane.
43
44All-in-one single
45~~~~~~~~~~~~~~~~~
46
47Config, control, analytics, database, web -- altogether on one node.
48
49.. code-block:: yaml
50
51 opencontrail:
52 common:
53 version: 2.2
54 source:
55 engine: pkg
56 address: http://mirror.robotice.cz/contrail-havana/
57 identity:
58 engine: keystone
ibumarskovea5c65c2019-04-16 00:15:00 +040059 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +010060 host: 127.0.0.1
61 port: 35357
62 token: token
63 password: password
64 network:
65 engine: neutron
66 host: 127.0.0.1
67 port: 9696
68 config:
69 version: 2.2
70 enabled: true
71 network:
72 engine: neutron
73 host: 127.0.0.1
74 port: 9696
75 discovery:
76 host: 127.0.0.1
77 analytics:
78 host: 127.0.0.1
79 bind:
80 address: 127.0.0.1
81 message_queue:
82 engine: rabbitmq
83 host: 127.0.0.1
84 port: 5672
85 database:
86 members:
87 - host: 127.0.0.1
88 port: 9160
89 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +020090 members:
91 - host: 127.0.0.1
92 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +010093 identity:
94 engine: keystone
95 version: '2.0'
96 region: RegionOne
ibumarskovea5c65c2019-04-16 00:15:00 +040097 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +010098 host: 127.0.0.1
99 port: 35357
100 user: admin
101 password: password
102 token: token
103 tenant: admin
104 members:
105 - host: 127.0.0.1
106 id: 1
Dmitry Stremkovskiy841fee32017-09-01 18:08:41 +0300107 rootlogger: "INFO, CONSOLE"
Jiri Konecny463dee52016-03-03 11:08:46 +0100108 control:
109 version: 2.2
110 enabled: true
111 bind:
112 address: 127.0.0.1
113 discovery:
114 host: 127.0.0.1
115 master:
116 host: 127.0.0.1
117 members:
118 - host: 127.0.0.1
119 id: 1
120 collector:
121 version: 2.2
122 enabled: true
123 bind:
124 address: 127.0.0.1
125 master:
126 host: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400127 contrail_cache:
128 engine: redis
129 host: 127.0.0.1
130 port: 6379
131 password: guest
Jiri Konecny463dee52016-03-03 11:08:46 +0100132 discovery:
133 host: 127.0.0.1
134 data_ttl: 2
135 database:
136 members:
137 - host: 127.0.0.1
138 port: 9160
Sergey Kreysfd017c12018-05-04 18:35:37 +0300139 message_queue:
140 members:
141 - host: 127.0.0.1
142 - host: 127.0.0.1
143 - host: 127.0.0.1
Jiri Konecny463dee52016-03-03 11:08:46 +0100144 database:
145 version: 2.2
146 cassandra:
147 version: 2
148 enabled: true
149 minimum_disk: 10
150 name: 'Contrail'
151 original_token: 0
Dmitry Stremkovskiy2a079c72017-07-12 23:11:18 +0300152 compaction_throughput_mb_per_sec: 16
Dmitry Stremkovskiy71b310a2017-08-11 20:39:11 +0300153 concurrent_compactors: 1
Jiri Konecny463dee52016-03-03 11:08:46 +0100154 data_dirs:
155 - /var/lib/cassandra
156 id: 1
157 discovery:
158 host: 127.0.0.1
159 bind:
160 host: 127.0.0.1
161 port: 9042
162 rpc_port: 9160
163 members:
164 - host: 127.0.0.1
165 id: 1
166 web:
167 version: 2.2
168 enabled: True
169 bind:
170 address: 127.0.0.1
171 analytics:
172 host: 127.0.0.1
173 master:
174 host: 127.0.0.1
175 cache:
176 engine: redis
177 host: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400178 password: guest
Jiri Konecny463dee52016-03-03 11:08:46 +0100179 port: 6379
180 members:
181 - host: 127.0.0.1
182 id: 1
183 identity:
184 engine: keystone
185 version: '2.0'
ibumarskovea5c65c2019-04-16 00:15:00 +0400186 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100187 host: 127.0.0.1
188 port: 35357
189 user: admin
190 password: password
191 token: token
192 tenant: admin
193
194
195All-in-one cluster
196~~~~~~~~~~~~~~~~~~
197
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200198Config, control, analytics, database, web -- altogether, clustered on multiple
199nodes.
Jiri Konecny463dee52016-03-03 11:08:46 +0100200
201.. code-block:: yaml
202
203 opencontrail:
204 common:
205 version: 2.2
206 source:
207 engine: pkg
208 address: http://mirror.robotice.cz/contrail-havana/
209 identity:
210 engine: keystone
ibumarskovea5c65c2019-04-16 00:15:00 +0400211 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100212 host: 127.0.0.1
213 port: 35357
214 token: token
215 password: password
216 network:
217 engine: neutron
218 host: 127.0.0.1
219 port: 9696
220 config:
221 version: 2.2
222 enabled: true
223 network:
224 engine: neutron
225 host: 127.0.0.1
226 port: 9696
227 discovery:
228 host: 127.0.0.1
229 analytics:
230 host: 127.0.0.1
231 bind:
232 address: 127.0.0.1
233 message_queue:
234 engine: rabbitmq
235 host: 127.0.0.1
236 port: 5672
237 database:
238 members:
239 - host: 127.0.0.1
240 port: 9160
241 - host: 127.0.0.1
242 port: 9160
243 - host: 127.0.0.1
244 port: 9160
245 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +0200246 members:
247 - host: 127.0.0.1
248 port: 11211
249 - host: 127.0.0.1
250 port: 11211
251 - host: 127.0.0.1
252 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +0100253 identity:
254 engine: keystone
255 version: '2.0'
256 region: RegionOne
ibumarskovea5c65c2019-04-16 00:15:00 +0400257 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100258 host: 127.0.0.1
259 port: 35357
260 user: admin
261 password: password
262 token: token
263 tenant: admin
264 members:
265 - host: 127.0.0.1
266 id: 1
267 - host: 127.0.0.1
268 id: 2
269 - host: 127.0.0.1
270 id: 3
271 control:
272 version: 2.2
273 enabled: true
274 bind:
275 address: 127.0.0.1
276 discovery:
277 host: 127.0.0.1
278 master:
279 host: 127.0.0.1
280 members:
281 - host: 127.0.0.1
282 id: 1
283 - host: 127.0.0.1
284 id: 2
285 - host: 127.0.0.1
286 id: 3
287 collector:
288 version: 2.2
289 enabled: true
290 bind:
291 address: 127.0.0.1
292 master:
293 host: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400294 contrail_cache:
295 engine: redis
296 host: 127.0.0.1
297 port: 6379
298 password: guest
Jiri Konecny463dee52016-03-03 11:08:46 +0100299 discovery:
300 host: 127.0.0.1
301 data_ttl: 1
302 database:
303 members:
304 - host: 127.0.0.1
305 port: 9160
306 - host: 127.0.0.1
307 port: 9160
308 - host: 127.0.0.1
309 port: 9160
Sergey Kreysfd017c12018-05-04 18:35:37 +0300310 message_queue:
311 members:
312 - host: 127.0.0.1
313 - host: 127.0.0.1
314 - host: 127.0.0.1
Jiri Konecny463dee52016-03-03 11:08:46 +0100315 database:
316 version: 2.2
317 cassandra:
318 version: 2
319 enabled: true
320 name: 'Contrail'
321 minimum_disk: 10
322 original_token: 0
323 data_dirs:
324 - /var/lib/cassandra
325 id: 1
326 discovery:
327 host: 127.0.0.1
328 bind:
329 host: 127.0.0.1
330 port: 9042
331 rpc_port: 9160
332 members:
333 - host: 127.0.0.1
334 id: 1
335 - host: 127.0.0.1
336 id: 2
337 - host: 127.0.0.1
338 id: 3
339 web:
340 version: 2.2
341 enabled: True
342 bind:
343 address: 127.0.0.1
344 master:
345 host: 127.0.0.1
346 analytics:
347 host: 127.0.0.1
348 cache:
349 engine: redis
350 host: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400351 password: guest
Jiri Konecny463dee52016-03-03 11:08:46 +0100352 port: 6379
353 members:
354 - host: 127.0.0.1
355 id: 1
356 - host: 127.0.0.1
357 id: 2
358 - host: 127.0.0.1
359 id: 3
360 identity:
361 engine: keystone
362 version: '2.0'
ibumarskovea5c65c2019-04-16 00:15:00 +0400363 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100364 host: 127.0.0.1
365 port: 35357
366 user: admin
367 password: password
368 token: token
369 tenant: admin
370
371
372Separated analytics from control and config
373~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
374
375Config, control, database, web.
376
377.. code-block:: yaml
378
379 opencontrail:
380 common:
381 version: 2.2
382 identity:
383 engine: keystone
ibumarskovea5c65c2019-04-16 00:15:00 +0400384 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100385 host: 127.0.0.1
386 port: 35357
387 token: token
388 password: password
389 network:
390 engine: neutron
391 host: 127.0.0.1
392 port: 9696
393 config:
394 version: 2.2
395 enabled: true
396 network:
397 engine: neutron
398 host: 127.0.0.1
399 port: 9696
400 discovery:
401 host: 127.0.0.1
402 analytics:
403 host: 127.0.0.1
404 bind:
405 address: 127.0.0.1
406 message_queue:
407 engine: rabbitmq
408 host: 127.0.0.1
409 port: 5672
410 database:
411 members:
412 - host: 127.0.0.1
413 port: 9160
414 - host: 127.0.0.1
415 port: 9160
416 - host: 127.0.0.1
417 port: 9160
418 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +0200419 members:
420 - host: 127.0.0.1
421 port: 11211
422 - host: 127.0.0.1
423 port: 11211
424 - host: 127.0.0.1
425 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +0100426 identity:
427 engine: keystone
428 version: '2.0'
429 region: RegionOne
ibumarskovea5c65c2019-04-16 00:15:00 +0400430 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100431 host: 127.0.0.1
432 port: 35357
433 user: admin
434 password: password
435 token: token
436 tenant: admin
437 members:
438 - host: 127.0.0.1
439 id: 1
440 - host: 127.0.0.1
441 id: 2
442 - host: 127.0.0.1
443 id: 3
444 control:
445 version: 2.2
446 enabled: true
447 bind:
448 address: 127.0.0.1
449 discovery:
450 host: 127.0.0.1
451 master:
452 host: 127.0.0.1
453 members:
454 - host: 127.0.0.1
455 id: 1
456 - host: 127.0.0.1
457 id: 2
458 - host: 127.0.0.1
459 id: 3
460 database:
461 version: 127.0.0.1
462 cassandra:
463 version: 2
464 enabled: true
465 name: 'Contrail'
466 minimum_disk: 10
467 original_token: 0
468 data_dirs:
469 - /var/lib/cassandra
470 id: 1
471 discovery:
472 host: 127.0.0.1
473 bind:
474 host: 127.0.0.1
475 port: 9042
476 rpc_port: 9160
477 members:
478 - host: 127.0.0.1
479 id: 1
480 - host: 127.0.0.1
481 id: 2
482 - host: 127.0.0.1
483 id: 3
484 web:
485 version: 2.2
486 enabled: True
487 bind:
488 address: 127.0.0.1
489 analytics:
490 host: 127.0.0.1
491 master:
492 host: 127.0.0.1
493 cache:
494 engine: redis
495 host: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400496 password: guest
Jiri Konecny463dee52016-03-03 11:08:46 +0100497 port: 6379
498 members:
499 - host: 127.0.0.1
500 id: 1
501 - host: 127.0.0.1
502 id: 2
503 - host: 127.0.0.1
504 id: 3
505 identity:
506 engine: keystone
507 version: '2.0'
ibumarskovea5c65c2019-04-16 00:15:00 +0400508 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100509 host: 127.0.0.1
510 port: 35357
511 user: admin
512 password: password
513 token: token
514 tenant: admin
515
Jiri Konecny463dee52016-03-03 11:08:46 +0100516Analytic nodes
Jiri Konecny463dee52016-03-03 11:08:46 +0100517
518Analytics and database on an analytic node(s)
519
520.. code-block:: yaml
521
522 opencontrail:
523 common:
524 version: 2.2
525 identity:
526 engine: keystone
ibumarskovea5c65c2019-04-16 00:15:00 +0400527 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100528 host: 127.0.0.1
529 port: 35357
530 token: token
531 password: password
532 network:
533 engine: neutron
534 host: 127.0.0.1
535 port: 9696
536 collector:
537 version: 2.2
538 enabled: true
539 bind:
540 address: 127.0.0.1
Gleb Zimin27521c12018-08-21 14:48:37 +0400541 contrail_cache:
542 engine: redis
543 host: 127.0.0.1
544 password: guest
545 port: 6379
Jiri Konecny463dee52016-03-03 11:08:46 +0100546 master:
547 host: 127.0.0.1
548 discovery:
549 host: 127.0.0.1
550 data_ttl: 1
551 database:
552 members:
553 - host: 127.0.0.1
554 port: 9160
555 - host: 127.0.0.1
556 port: 9160
557 - host: 127.0.0.1
558 port: 9160
Sergey Kreysfd017c12018-05-04 18:35:37 +0300559 message_queue:
560 members:
561 - host: 127.0.0.1
562 - host: 127.0.0.1
563 - host: 127.0.0.1
Jiri Konecny463dee52016-03-03 11:08:46 +0100564 database:
565 version: 2.2
566 cassandra:
567 version: 2
568 enabled: true
569 name: 'Contrail'
570 minimum_disk: 10
571 original_token: 0
572 data_dirs:
573 - /var/lib/cassandra
574 id: 1
575 discovery:
576 host: 127.0.0.1
577 bind:
578 host: 127.0.0.1
579 port: 9042
580 rpc_port: 9160
581 members:
582 - host: 127.0.0.1
583 id: 1
584 - host: 127.0.0.1
585 id: 2
586 - host: 127.0.0.1
587 id: 3
588
589
590Compute nodes
Aleš Komáreka3314b22017-04-11 13:46:06 +0200591-------------
Jiri Konecny463dee52016-03-03 11:08:46 +0100592
593Vrouter configuration on a compute node(s)
594
595.. code-block:: yaml
596
597 opencontrail:
598 common:
599 version: 2.2
600 identity:
601 engine: keystone
ibumarskovea5c65c2019-04-16 00:15:00 +0400602 protocol: http
Jiri Konecny463dee52016-03-03 11:08:46 +0100603 host: 127.0.0.1
604 port: 35357
605 token: token
606 password: password
607 network:
608 engine: neutron
609 host: 127.0.0.1
610 port: 9696
611 compute:
612 version: 2.2
613 enabled: True
Dmitry Stremkovskiy0cb5c562017-07-26 00:32:51 +0300614 hostname: node-12.domain.tld
Danysa144f292018-06-26 16:08:50 +0200615 flow_hold_limit: 0
Sergey Matov3c41c6c2020-01-15 15:25:42 +0400616 vr_flow_entries: 2097152
Jiri Konecny463dee52016-03-03 11:08:46 +0100617 discovery:
618 host: 127.0.0.1
619 interface:
620 address: 127.0.0.1
621 dev: eth0
622 gateway: 127.0.0.1
623 mask: /24
624 dns: 127.0.0.1
625 mtu: 9000
626
Petr Jediný5f3008a2017-07-31 15:04:05 +0200627
628Compute nodes with gateway_mode
629-------------------------------
630
631Gateway mode: can be server/ vcpe (default is none)
632
633.. code-block:: yaml
634
635 opencontrail:
636 compute:
637 gateway_mode: server
638
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300639TSN nodes
640---------
641
642Configure TSN nodes
643
644.. code-block:: yaml
645
646 opencontrail:
647 compute:
Anton Samoylov2a301f92019-04-05 17:00:49 +0400648 enabled: True
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300649 tor:
Anton Samoylov2a301f92019-04-05 17:00:49 +0400650 enabled: True
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300651 agent:
652 tor01:
653 id: 0
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300654 address: 127.0.0.1
Anton Samoylov2a301f92019-04-05 17:00:49 +0400655 tor_name: TOR1
656 tor_ip: 10.11.0.100
657 tor_ovs_port: 6640
658 tor_ovs_protocol: tcp
659 http_server_port: 9090
660 tsn_ip: 127.0.0.1
661 tor_tunnel_ip: 10.10.0.100
662 tor_vendor_name: ovs
663 xmpp_auth_enable: False
664 xmpp_dns_auth_enable: False
Petr Jediný5f3008a2017-07-31 15:04:05 +0200665
Andreyeff77ac2017-08-25 12:14:06 -0500666Set up metadata secret for the Vrouter
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200667--------------------------------------
Andreyeff77ac2017-08-25 12:14:06 -0500668
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200669In order to get cloud-init within the instance to properly fetch
Andreyeff77ac2017-08-25 12:14:06 -0500670instance metadata, metadata_proxy_secret in the Vrouter agent config
671should match the value in nova.conf. The administrator should define
672it in the pillar:
673
674.. code-block:: yaml
675
676 opencontrail:
677 compute:
678 metadata:
679 secret: opencontrail
680
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200681Add auth info for Barbican on compute nodes
682-------------------------------------------
683
684.. code-block:: yaml
685
686 opencontrail:
687 compute:
688 lbaas:
689 enabled: true
690 secret_manager:
691 engine: barbican
692 identity:
693 user: admin
694 password: "supersecretpassword123"
695 tenant: admin
696
697
Jakub Pavlik735005f2016-02-26 15:54:53 +0100698Keystone v3
Aleš Komáreka3314b22017-04-11 13:46:06 +0200699-----------
Jakub Pavlik735005f2016-02-26 15:54:53 +0100700
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200701To enable support for keystone v3 in opencontrail, there must be defined
702version for config and web role.
Jakub Pavlik735005f2016-02-26 15:54:53 +0100703
704.. code-block:: yaml
705
706 opencontrail:
707 config:
708 version: 2.2
709 enabled: true
710 ...
711 identity:
712 engine: keystone
713 version: '3'
714 ...
715
716 opencontrail:
717 web:
718 version: 2.2
719 enabled: true
720 ...
721 identity:
722 engine: keystone
723 version: '3'
724 ...
725
marco10cc2212016-04-03 14:21:54 +0200726Without Keystone
727----------------
728
729.. code-block:: yaml
730
731 opencontrail:
732 ...
733 common:
734 ...
735 identity:
736 engine: none
737 token: none
738 password: none
739 ...
740 config:
741 ...
742 identity:
743 engine: none
744 password: none
745 token: none
746 ...
747 web:
748 ...
749 identity:
750 engine: none
751 password: none
752 token: none
753 ...
marcof5461712016-04-04 20:49:36 +0200754
Pavel Cizinsky14eb00e2018-11-09 15:15:07 +0100755XMPP Encryption
756---------------
757
758Configure encryption of XMPP
759
760Computes nodes
761~~~~~~~~~~~~~~
762
763.. code-block:: yaml
764
765 opencontrail:
766 compute:
767 xmpp:
768 tls:
769 enabled: False
770 auth:
771 enabled: False
772 (optional) cert_file: /etc/contrail/server.pem
773 (optional) key_file: /etc/contrail/privkey.pem
774 (optional) ca_cert_file: /etc/contrail/ca-cert.pem
775
776Control nodes
777~~~~~~~~~~~~~
778
779.. code-block:: yaml
780
781 opencontrail:
782 control:
783 xmpp:
784 tls:
785 enabled: False
786 auth:
787 enabled: False
788 (optional) cert_file: /etc/contrail/server.pem
789 (optional) key_file: /etc/contrail/privkey.pem
790 (optional) ca_cert_file: /etc/contrail/ca-cert.pem
791
Aleš Komáreka3314b22017-04-11 13:46:06 +0200792Kubernetes support
793------------------
794
marcof5461712016-04-04 20:49:36 +0200795Kubernetes vrouter nodes
marcof5461712016-04-04 20:49:36 +0200796
797Vrouter configuration on a kubernetes node(s)
798
799.. code-block:: yaml
800
801 opencontrail:
802 ...
803 compute:
804 engine: kubernetes
805 ...
806
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100807vRouter with separated control plane
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100808
809Separate XMPP traffic from dataplane interface.
810
811.. code-block:: yaml
812
813 opencontrail:
814 compute:
815 bind:
816 address: 172.16.0.50
817 ...
818
Petr Jediný439fab32017-07-10 14:33:09 +0200819Override RPF default in Contrail API
820------------------------------------
821
822From MCP1.1 with OpenContrail >= 3.1.1 you can override RPF default for newly
823created virtual networks. This can be useful for usecases like running
824Calico and K8S in overlay. The `override_rpf_default_by` has valid values
825`disable`, `enable`. If not defined, the configuration fallbacks to Contrail
826default - currently `enable`.
827
828.. code-block:: yaml
829
830 opencontrail:
831 ...
832 config:
833 override_rpf_default_by: 'disable'
834 ...
835
Jan Cach5ffa6b22019-12-12 10:39:11 +0100836Configure log level for Contrail services
837-----------------------------------------
838
839For OpenContrail 4.0 and 4.1 formula supports setting level of
840the log level for contrail services. Default value of debug level
841is `SYS_NOTICE`.
842
843.. code-block:: yaml
844
845 opencontrail:
846 ...
847 config:
848 log_level:
849 api: SYS_NOTICE
850 device_manager: SYS_NOTICE
851 schema: SYS_NOTICE
852 svc_monitor: SYS_NOTICE
853 collector:
854 log_level:
855 alarm: SYS_NOTICE
856 analytics_api: SYS_NOTICE
857 collector: SYS_NOTICE
858 query_engine: SYS_NOTICE
859 snmp: SYS_NOTICE
860 topology: SYS_NOTICE
861 compute:
862 log_level:
863 agent: SYS_NOTICE
864 control:
865 log_level:
866 control: SYS_NOTICE
867 dns: SYS_NOTICE
868 ...
869
Petr Jediný01c18822017-11-15 12:30:53 +0100870Cassandra GC logging
871--------------------
872
873From Contrail version 3 you can set a way you want to handle Cassandra GC logs.
874The behavior is controlled by `cassandra_gc_logging`. Valid values are
875'rotation' (default), 'legacy' and false.
876
877- 'rotation' is supported by JDK 6u34 7u2 or later and handles rotation of log
878files automatically.
879- 'legacy' is a way to support older JDKs and you will need to handle logs by
880other means. This can be handled for example by using
881`- service.opencontrail.database.cassandra_log_cleanup` in your reclass model.
882- false will disable the cassandra gc logging
883
884.. code-block:: yaml
885
886 opencontrail:
887 ...
888 database:
889 cassandra_gc_logging: false
890 ...
891
Petr Jediný439fab32017-07-10 14:33:09 +0200892
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200893Disable Contrail API authentication
894-----------------------------------
895
Petr Jediný78e6f422017-06-01 13:24:49 +0200896Contrail version must >= 3.0. It is useful especially for Keystone v3.
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200897
898.. code-block:: yaml
899
900 opencontrail:
901 ...
902 config:
903 multi_tenancy: false
904 ...
905
Marek Celoudae98c642018-01-31 12:43:42 +0100906Enable RBAC
907-----------
908
909
910.. code-block:: yaml
911
912 opencontrail:
913 ...
914 config:
915 aaa_mode: rbac
916 cloud_admin_role: admin
917 global_read_only_role: member
918 ...
919
Petr Jediný78e6f422017-06-01 13:24:49 +0200920Switch from on demand to periodic keystone sync
921-----------------------------------------------
922
923This can be useful when you want to sync projects from OpenStack to Contrail
924automatically. The period of sync is 60s.
925
926.. code-block:: yaml
927
928 opencontrail:
929 ...
930 config:
931 identity:
932 sync_on_demand: false
933 ...
934
Sergey Kreys94eba6c2019-11-05 17:33:29 -0600935Configure duration between polls to keystone to sync domains and projects
936-------------------------------------------------------------------------
937
938.. code-block:: yaml
939
940 opencontrail:
941 ...
942 config:
943 keystone_resync_interval_secs: 60
944 ...
945
Petr Jediný03027902018-07-17 20:32:52 +0200946Cassandra listen configuration
947------------------------------
948
949Interface example:
marco2502e052016-05-31 22:53:54 +0200950
951.. code-block:: yaml
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300952
marco2502e052016-05-31 22:53:54 +0200953 database:
954 ....
955 bind:
956 interface: eth0
957 port: 9042
958 rpc_port: 9160
959 ....
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200960
Petr Jediný03027902018-07-17 20:32:52 +0200961For running config and analytics db clusters on same hosts, you will need to
962change ports not to collide. The host is required.
963
964 database:
965 ....
966 bind:
967 host: 127.0.0.1
968 port: 9042
969 rpc_port: 9160
970 # for containers we need to move configdb to neighbouring ports
971 port_configdb: 9041
972 rpc_port_configdb: 9161
973 ....
974
975
Petr Jedinýffbe2082017-03-07 00:56:47 +0100976OpenContrail WebUI version >= 3.1.1
977-----------------------------------
Petr Jediný78e6f422017-06-01 13:24:49 +0200978For OpenContrail version >= 3.1.1 and Cassandra >= 2.1 we should override WebUI's cassandra port from 9160 to 9042.
Petr Jedinýffbe2082017-03-07 00:56:47 +0100979
980For appropriate node at class level:
981
982.. code-block:: yaml
Aleš Komáreka3314b22017-04-11 13:46:06 +0200983
Petr Jedinýffbe2082017-03-07 00:56:47 +0100984 opencontrail:
985 ....
986 web:
987 database:
988 port: 9042
989 ....
990
991
Jakub Pavlik9a4de012016-12-14 13:23:55 +0100992RabbitMQ HA hosts
993------------------
994
995.. code-block:: yaml
996
997 opencontrail:
998 config:
999 message_queue:
1000 engine: rabbitmq
1001 members:
1002 - host: 10.0.16.1
1003 - host: 10.0.16.2
1004 - host: 10.0.16.3
1005 port: 5672
1006
1007.. code-block:: yaml
1008
1009 database:
1010 ....
1011 bind:
1012 interface: eth0
1013 port: 9042
1014 rpc_port: 9160
1015 ....
1016
Jakub Pavlike3590062017-02-20 23:32:57 +01001017DPDK vRouter
1018-------------
1019
1020.. code-block:: yaml
1021
1022 opencontrail:
1023 compute:
1024 dpdk:
1025 enabled: true
Jakub Pavlik54761d82017-03-08 11:22:37 +01001026 taskset: "0x0000003C00003C"
1027 socket_mem: "1024,1024"
Jakub Pavlike3590062017-02-20 23:32:57 +01001028 interface:
1029 mac_address: 90:e2:ba:7c:22:e1
1030 pci: 0000:81:00.1
1031 ...
1032
Petr Jedinýe9960762018-05-04 17:36:59 +02001033Increase number of contrail-api workers
1034---------------------------------------
1035
1036.. code-block:: yaml
1037
1038 opencontrail:
1039 ...
1040 config:
Svimbaca9fa5b2018-09-19 14:31:34 +02001041 api:
1042 workers_count: 3
Petr Jedinýe9960762018-05-04 17:36:59 +02001043 ...
1044
Marek Celouddbba7ed2017-12-07 10:36:24 +01001045Increase number of alarm-gen workers
1046------------------------------------
1047
1048Port prefix will increment used ports by workers starting with 5901.
1049
1050.. code-block:: yaml
1051
1052 collector:
1053 alarm_gen:
1054 workers: 1
1055 port_prefix: 59
1056
Ales Komarekad46d2e2017-03-09 17:16:38 +01001057Contrail client
1058---------------
1059
1060Basic parameters with identity and host configs
1061
Petr Jediný78e6f422017-06-01 13:24:49 +02001062.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001063
1064 opencontrail:
1065 client:
1066 identity:
1067 user: admin
1068 project: admin
1069 password: adminpass
1070 host: keystone_host
1071 config:
1072 host: contrail_api_host
1073 port: contrail_api_ort
1074
1075Enforcing virtual routers
1076
Petr Jediný78e6f422017-06-01 13:24:49 +02001077.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001078
1079 opencontrail:
1080 client:
1081 ...
1082 virtual_router:
1083 cmp01:
1084 ip_address: 172.16.0.11
1085 dpdk_enabled: True
1086 cmp02:
1087 ip_address: 172.16.0.12
1088 dpdk_enabled: True
1089
psvimbersky3c84e272018-01-02 10:34:29 +01001090
1091Enforcing global system config
1092
1093.. code-block:: yaml
1094
1095 opencontrail:
1096 client:
1097 ...
1098 global_system_config:
1099 name: default-global-system-config
1100 asn: 64512
1101 grp:
1102 enable: true
1103 restart_time: 60
1104 end_of_rib_timeout: 30
1105 bgp_helper_enable: false
1106 xmpp_helper_enable: false
1107 long_lived_restart_time: 300
1108
1109
Pavel Svimbersky13cda442017-09-14 14:46:13 +02001110Enforcing global vrouter config
1111
1112.. code-block:: yaml
1113
1114 opencontrail:
1115 client:
1116 ...
1117 global_vrouter_config:
Petr Jediný554d0412018-01-04 22:35:48 +01001118 name: default-global-vrouter-config
Pavel Svimbersky13cda442017-09-14 14:46:13 +02001119 parent_type: global-system-config
1120 encap_priority: "MPLSoUDP,MPLSoGRE"
1121 vxlan_vn_id_mode: automatic
1122 fq_names:
1123 - 'default-global-system-config'
1124 - 'default-global-vrouter-config'
1125
psvimbersky3c84e272018-01-02 10:34:29 +01001126
1127
Ales Komarekad46d2e2017-03-09 17:16:38 +01001128Enforcing control nodes
1129
Petr Jediný78e6f422017-06-01 13:24:49 +02001130.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001131
1132 opencontrail:
1133 client:
1134 ...
1135 bgp_router:
1136 ntw01:
1137 type: control-node
1138 ip_address: 172.16.0.11
1139 nwt02:
1140 type: control-node
1141 ip_address: 172.16.0.12
1142 nwt03:
1143 type: control-node
1144 ip_address: 172.16.0.13
1145
1146
1147Enforcing edge BGP routers
1148
Petr Jediný78e6f422017-06-01 13:24:49 +02001149.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001150
1151 opencontrail:
1152 client:
1153 ...
1154 bgp_router:
1155 mx01:
1156 type: router
1157 ip_address: 172.16.0.21
1158 asn: 64512
1159 mx02:
1160 type: router
1161 ip_address: 172.16.0.22
1162 asn: 64512
Marek Celoud3097e5b2018-01-09 13:52:14 +01001163 key_type: md5
1164 key: password
Ales Komarekad46d2e2017-03-09 17:16:38 +01001165
1166Enforcing config nodes
1167
Petr Jediný78e6f422017-06-01 13:24:49 +02001168.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001169
1170 opencontrail:
1171 client:
1172 ...
1173 config_node:
1174 ctl01:
1175 ip_address: 172.16.0.21
1176 ctl02:
1177 ip_address: 172.16.0.22
1178
1179Enforcing database nodes
1180
Petr Jediný78e6f422017-06-01 13:24:49 +02001181.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001182
1183 opencontrail:
1184 client:
1185 ...
1186 database_node:
1187 ntw01:
1188 ip_address: 172.16.0.21
1189 ntw02:
1190 ip_address: 172.16.0.22
1191
1192Enforcing analytics nodes
1193
Petr Jediný78e6f422017-06-01 13:24:49 +02001194.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001195
1196 opencontrail:
1197 client:
1198 ...
1199 analytics_node:
1200 nal01:
1201 ip_address: 172.16.0.31
1202 nal02:
1203 ip_address: 172.16.0.32
1204
Petr Jediný5f3efe32017-05-26 17:55:09 +02001205Enforcing Link Local Services
1206
1207.. code-block:: yaml
1208
1209 opencontrail:
1210 client:
1211 ...
1212 linklocal_service:
1213 # example with dns name address (only one permited)
1214 meta1:
1215 lls_ip: 10.0.0.23
1216 lls_port: 80
1217 ipf_addresses: "meta.example.com"
1218 ipf_port: 80
1219 # example with multiple ip addresses
1220 meta2:
1221 lls_ip: 10.0.0.23
1222 lls_port: 80
1223 ipf_addresses:
1224 - 10.10.10.10
1225 - 10.20.20.20
1226 - 10.30.30.30
1227 ipf_port: 80
1228 # example with one ip address
1229 meta3:
1230 lls_ip: 10.0.0.23
1231 lls_port: 80
1232 ipf_addresses:
1233 - 10.10.10.10
1234 ipf_port: 80
1235 # example with name override
1236 lls_meta4:
1237 name: meta4
1238 lls_ip: 10.0.0.23
1239 lls_port: 80
1240 ipf_addresses:
1241 - 10.10.10.10
1242 ipf_port: 80
1243
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001244
Michel Nederloff5bccda2017-11-20 13:31:38 +01001245Configuring OpenStack default quotasx
1246
1247.. code-block:: yaml
1248 config:
1249 quota:
1250 network: 5
1251 subnet: 10
1252 router: 10
1253 floating_ip: 100
1254 secgroup: 1000
1255 secgroup_rule: 1000
1256 port: 1000
1257 pool: -1
1258 member: -1
1259 health_monitor: -1
1260 vip: -1
1261
1262Enforcing physical routers
Petr Jediný04bed9b2018-05-03 19:44:10 +02001263
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001264.. code-block:: yaml
1265
1266 opencontrail:
1267 client:
1268 ...
1269 physical_router:
1270 router1:
1271 name: router1
1272 dataplane_ip: 1.2.3.4
1273 management_ip: 1.2.3.4
1274 vendor_name: ovs
1275 product_name: ovs
1276 agents:
1277 - tsn0-0
1278 - tsn0
1279
1280Enforcing physical/logical interfaces for routers
1281
1282
1283.. code-block:: yaml
1284
1285 opencontrail
1286 client:
1287 ...
1288 physical_router:
1289 router1:
1290 ...
1291 interface:
1292 port1:
1293 name: port1
1294 logical_interface:
1295 port1_l:
1296 name: 'port1.0'
1297 vlan_tag: 0
1298 interface_type: L2
1299 virtual_machine_interface:
1300 port1_port:
1301 name: port1_port
1302 ip_address: 192.168.90.107
1303 mac_address: '2e:92:a8:af:c2:21'
1304 security_group: 'default'
1305 virtual_network: 'virtual-network'
1306
Jan Cachebfed1c2018-01-09 17:21:35 +01001307Enforcing virtual networks
1308
1309
1310.. code-block:: yaml
1311
1312 opencontrail:
1313 client:
1314 virtual_networks:
1315 net01:
1316 name: 'network01'
1317 ip_address: '172.16.111.0'
1318 ip_prefix: 24
1319 asn: 64512
1320 route_target: 10000
1321 external: True
1322 allow_transit: False
1323 forwarding_mode: 'l2_l3'
1324 rpf: 'disable'
1325 mirror_destination: False
1326 domain: 'default-domain'
1327 project: 'admin'
1328 ipam_domain: 'default-domain'
1329 ipam_project: 'default-project'
1330 ipam_name: 'default-network-ipam'
1331 net02:
1332 name: 'network02'
1333 net03:
1334 name: 'network03'
1335
Ales Komarekad46d2e2017-03-09 17:16:38 +01001336
Jan Cachb3092722018-01-31 12:46:16 +01001337Enforcing floating ip pool setings.
1338
1339Virtual network with flag external needs to be created before managing the floating ip pool.
1340Param vn_name is the name of the external network.
1341
1342.. code-block:: yaml
1343
1344 opencontrail:
1345 client:
1346 floating_ip_pools:
1347 pool1:
1348 vn_name: external-network
1349 vn_project: admin
1350 vn_domain: default-domain
1351 owner_access: 7
1352 global_access: 0
1353 list_of_projects:
1354 - [tenant1, 7]
1355 - [tenant2, 7]
1356 - [tenant3, 7]
1357 pool2:
1358 vn_name: floating-ips
1359 vn_project: admin
1360 vn_domain: default-domain
1361 owner_access: 7
1362 global_access: 0
1363 list_of_projects:
1364 - [tenant3, 7]
1365
1366
Pavel Cizinsky14eb00e2018-11-09 15:15:07 +01001367If you want to remove all shares from the ip floating pool, define only empty list in
Jan Cachb3092722018-01-31 12:46:16 +01001368list of projects, like this:
1369
1370.. code-block:: yaml
1371
1372 opencontrail:
1373 client:
1374 floating_ip_pools:
1375 pool1:
1376 vn_name: external-network
1377 vn_project: admin
1378 vn_domain: default-domain
1379 owner_access: 7
1380 global_access: 0
1381 list_of_projects: []
1382
1383
Michel Nederlof5364ab62017-12-11 15:02:25 +01001384Contrail DNS custom forwarders
1385------------------------------
1386
1387By default Contrail uses the /etc/resolv.conf file to determine the upstream DNS servers.
1388This can have some side-affects, like resolving internal DNS entries on you public instances.
1389
1390In order to overrule this default set, you can configure nameservers using pillar data.
1391The formula is then responsible for configuring and generating a alternate resolv.conf file.
1392
1393Note: this has been patched recently in the Contrail distribution of Mirantis:
1394https://github.com/Mirantis/contrail-controller/commit/ed9a25ccbcfebd7d079a93aecc5a1a7bf1265ea4
1395https://github.com/Mirantis/contrail-controller/commit/94c844cf2e9bcfcd48587aec03d10b869e737ade
1396
1397
1398To change forwarders for the default-dns option (which is handled by compute nodes):
1399
1400.. code-block:: yaml
1401
1402 compute:
1403 ....
1404 dns:
1405 forwarders:
1406 - 8.8.8.8
1407 - 8.8.4.4
1408 ....
1409
1410To change forwarders for vDNS zones (handled by control nodes):
1411
1412.. code-block:: yaml
1413
1414 control:
1415 ....
1416 dns:
1417 forwarders:
1418 - 8.8.8.8
1419 - 8.8.4.4
1420 ....
1421
Petr Jediný04bed9b2018-05-03 19:44:10 +02001422Contrail IF-MAP server configuration
1423------------------------------------
1424
1425Contrail 3.2 contains internal IF-MAP server implementation. This implementation can be enabled
1426by setting ``config:ifmap:engine`` to internal. Currently supported engines are ``internal`` and
1427``irond`` (default). The ``internal`` will configure contrail-api to run as a IF-MAP server in the
1428same process as contrail-api and will generate security certificates in specified folder.
1429
1430.. code-block:: yaml
1431
1432 config:
1433 ....
1434 ifmap:
1435 engine: internal
1436 cert_dir: /etc/contrail/ssl/certs/ # default
1437 basename_cert: ifmap.crt # default
1438 basename_key: ifmap.key # default
1439 ....
1440
1441To set static configuration of the IF-MAP server for contrail-control instead of using
1442discovery service, you can use ``control:ifmap:bind:host`` and ``port``. The static configuration
1443is triggered by existence of non-empty value of ``control:ifmap:bind`` key.
1444
1445.. code-block:: yaml
1446 control:
1447 ....
1448 ifmap
1449 bind:
1450 host: 127.0.0.1
1451 port: 8443
1452 ....
1453
Jan Cach2f99ae82018-10-03 19:50:09 +02001454Configure TCP_TW_RECYCLE in kernel
1455------------------------------------
Petr Jediný04bed9b2018-05-03 19:44:10 +02001456
Jan Cach2f99ae82018-10-03 19:50:09 +02001457Enable fast recycling of TIME-WAIT sockets. To enable set parameter to 1, which is
1458default value in formula. To turn off this option set parameter to 0:
1459
1460.. code-block:: yaml
1461
1462 opencontrail:
1463 ....
1464 common
1465 ....
1466 tcp_tw_recycle: 0
1467 ....
Michel Nederloff5bccda2017-11-20 13:31:38 +01001468
Anton Samoylov28ad4fa2018-10-02 14:45:41 +04001469Define extra states for contrail services health check
1470------------------------------------------------------
1471
1472Service health check procedure verifies that all available contrail services are in ``active``
1473state.
1474Additional states could be defined for every service as expected states for validation procedure.
1475
1476.. code-block:: yaml
1477
1478 config:
1479 ....
1480 services_extra_states:
1481 contrail-schema:
1482 - backup
1483 contrail-device-manager
1484 - backup
1485 contrail-svc-monitor:
1486 - backup
1487 ....
1488
1489``contrail-schema``, ``contrail-device-manager`` and ``contrail-svc-monitor`` config services already
1490have additional ``backup`` state by default.
1491
Svimba4c4d45a2019-05-03 15:49:08 +02001492Setup Sandesh rate limit
1493------------------------
1494Sandesh send rate limit can be used to throttle system logs transmitted per second. System logs are
1495dropped if the sending rate is exceeded.
1496
1497It is possible to use only global limit for all services of contrail component.
1498
1499.. code-block:: yaml
1500
1501 opencontrail:
1502 control:
1503 ....
1504 sandesh_send_rate_limits:
1505 global: 10
1506 ....
1507
1508
1509Global limit and limit for specific service can be defined together where specific service limit
1510has higher priority.
1511
1512.. code-block:: yaml
1513
1514 opencontrail:
1515 config:
1516 ....
1517 sandesh_send_rate_limits:
1518 global: 10
1519 config_api: 3
1520 schema: 5
1521 ....
1522
1523Only specific service limit can be defined. In this case other services of Contrail component
1524keep default value (0) of `sandesh_send_rate_limit`
1525
1526.. code-block:: yaml
1527
1528 opencontrail:
1529 collector:
1530 ....
1531 sandesh_send_rate_limits:
1532 collector: 100
1533 analytics-api: 50
1534 ....
1535
1536Full list:
1537
1538.. code-block:: yaml
1539
1540 opencontrail:
1541 control:
1542 ....
1543 sandesh_send_rate_limits:
1544 global: 100
1545 control: 10
1546 dns: 10
1547 nodemgr: 10
1548 ....
1549
1550 config:
1551 ....
1552 sandesh_send_rate_limits:
1553 global: 100
1554 config_api: 10
1555 schema: 10
1556 svc_monitor: 10
1557 device_manager: 10
1558 nodemgr: 10
1559 ....
1560
1561 collector:
1562 ....
1563 sandesh_send_rate_limits:
1564 global: 100
1565 collector: 10
1566 analytics_api: 10
1567 query_engine: 10
1568 alarm_gen: 10
1569 snmp_collector: 10
1570 topology: 10
1571 nodemgr: 10
1572 ....
1573
1574 compute:
1575 ....
1576 sandesh_send_rate_limits:
1577 global: 100
1578 agent: 10
1579 nodemgr: 10
1580 ....
1581
Dzmitry Stremkouskidafc7f12020-08-31 18:05:15 +02001582[vRouter conf] compute_node_address
1583-----------------------------------
1584
1585Specify an ip address to override compute_node_address value in vrouter config
1586or set to false to unset it.
1587Valid only for OpenContrail vRouter 3.2
1588
1589.. code-block:: yaml
1590
1591 opencontrail:
1592 compute:
1593 node_address:
1594 value: 192.168.111.5
1595
1596 .. code-block:: yaml
1597
1598 opencontrail:
1599 compute:
1600 node_address:
1601 enabled: false
1602
Svimbae72ef8b2019-06-05 11:45:02 +02001603Disable database writes of collector
1604------------------------------------
1605
1606Sandesh messages aren't written to analytics database by changing following parameters to `true`.
1607Default value all of these parametes is `false`. Is possible to change one or more parametes.
1608
1609.. code-block:: yaml
1610
1611 opencontrail:
1612 ....
1613 collector
1614 ....
1615 database:
1616 ....
1617 disable_all_writes: false
1618 disable_statistics_writes: true
1619 disable_message_writes: false
1620 ....
1621
1622
Anton Samoylov973116f2019-05-08 18:03:28 +04001623Define aging time for flow-records in seconds
1624---------------------------------------------
1625
1626Flows are aged out based on inactivity for a specific period of time. By default,
1627the timeout value is 180 seconds. This can be modified by configuring flow_cache_timeout for
1628contrail-vrouter-agent service:
1629
1630.. code-block:: yaml
1631
1632 opencontrail:
1633 ....
1634 compute
1635 ....
1636 flow_cache_timeout: 180
1637 ....
1638
Anton Samoylovfddbe1c2020-10-18 18:08:56 +04001639Disable stats collection
1640---------------------------------------------
1641
1642This option controlls gathering and sending statistics, related to VMIs
1643and VNs, by vrouter agent to Analytics. If statistics should be gathered
1644and sent - set this option to False. If statistics gathering should be
1645disabled - set it to True.
1646
1647.. code-block:: yaml
1648
1649 opencontrail:
1650 ....
1651 compute
1652 ....
1653 disable_stats_collection: True
1654 ....
1655
Anton Samoylove6bbc7c2020-10-19 14:14:43 +04001656Disable sending VncApi stats to collector
1657---------------------------------------------
1658On every http resource request(create/update/list/etc...) config-api server throws
1659statistics to collector. This option can be used to reduce amount of these messages
1660to collector service.
1661
1662.. code-block:: yaml
1663
1664 opencontrail:
1665 ....
1666 config
1667 ....
1668 disable_vnc_api_stats: True
1669 ....
1670
Filip Pytloun27930402015-10-06 16:28:32 +02001671Usage
1672=====
1673
1674Basic installation
Ales Komarekad46d2e2017-03-09 17:16:38 +01001675------------------
Filip Pytloun27930402015-10-06 16:28:32 +02001676
1677Add control BGP
Ales Komarekad46d2e2017-03-09 17:16:38 +01001678
1679.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001680
1681 python /etc/contrail/provision_control.py --api_server_ip 192.168.1.11 --api_server_port 8082 --host_name network1.contrail.domain.com --host_ip 192.168.1.11 --router_asn 64512
1682
Ales Komarekad46d2e2017-03-09 17:16:38 +01001683Install compute node
Filip Pytloun27930402015-10-06 16:28:32 +02001684
Ales Komarekad46d2e2017-03-09 17:16:38 +01001685.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001686
1687 yum install contrail-vrouter contrail-openstack-vrouter
1688
1689 salt-call state.sls nova,opencontrail
1690
1691Add virtual router
Filip Pytloun27930402015-10-06 16:28:32 +02001692
Ales Komarekad46d2e2017-03-09 17:16:38 +01001693.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001694
1695 python /etc/contrail/provision_vrouter.py --host_name hostnode1.intra.domain.com --host_ip 10.0.100.101 --api_server_ip 10.0.100.30 --oper add --admin_user admin --admin_password cloudlab --admin_tenant_name admin
1696
1697 /etc/sysconfig/network-scripts/ifcfg-bond0 -- comment GATEWAY,NETMASK,IPADDR
1698
1699 reboot
1700
Aleš Komáreka3314b22017-04-11 13:46:06 +02001701Debugging
1702---------
Filip Pytloun27930402015-10-06 16:28:32 +02001703
1704Display vhost XMPP connection status
1705
1706You should see the correct controller_ip and state should be established.
1707
1708 http://<compute-node>:8085/Snh_AgentXmppConnectionStatusReq?
1709
1710Display vrouter interface status
1711
1712When vrf_name = ---ERROR--- then something goes wrong
1713
1714 http://<compute-node>:8085/Snh_ItfReq?name=
1715
1716Display IF MAP table
1717
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001718Look for neighbours, if VM has 2, it's ok
Filip Pytloun27930402015-10-06 16:28:32 +02001719
1720 http://<control-node>:8083/Snh_IFMapTableShowReq?table_name=
1721
1722Trace XMPP requests
1723
1724 http://<compute-node>:8085/Snh_SandeshTraceRequest?x=XmppMessageTrace