blob: 04cfb58333f94bc61eadb8b803ce7af173c48317 [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
Jiri Konecny463dee52016-03-03 11:08:46 +0100616 discovery:
617 host: 127.0.0.1
618 interface:
619 address: 127.0.0.1
620 dev: eth0
621 gateway: 127.0.0.1
622 mask: /24
623 dns: 127.0.0.1
624 mtu: 9000
625
Petr Jediný5f3008a2017-07-31 15:04:05 +0200626
627Compute nodes with gateway_mode
628-------------------------------
629
630Gateway mode: can be server/ vcpe (default is none)
631
632.. code-block:: yaml
633
634 opencontrail:
635 compute:
636 gateway_mode: server
637
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300638TSN nodes
639---------
640
641Configure TSN nodes
642
643.. code-block:: yaml
644
645 opencontrail:
646 compute:
Anton Samoylov2a301f92019-04-05 17:00:49 +0400647 enabled: True
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300648 tor:
Anton Samoylov2a301f92019-04-05 17:00:49 +0400649 enabled: True
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300650 agent:
651 tor01:
652 id: 0
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300653 address: 127.0.0.1
Anton Samoylov2a301f92019-04-05 17:00:49 +0400654 tor_name: TOR1
655 tor_ip: 10.11.0.100
656 tor_ovs_port: 6640
657 tor_ovs_protocol: tcp
658 http_server_port: 9090
659 tsn_ip: 127.0.0.1
660 tor_tunnel_ip: 10.10.0.100
661 tor_vendor_name: ovs
662 xmpp_auth_enable: False
663 xmpp_dns_auth_enable: False
Petr Jediný5f3008a2017-07-31 15:04:05 +0200664
Andreyeff77ac2017-08-25 12:14:06 -0500665Set up metadata secret for the Vrouter
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200666--------------------------------------
Andreyeff77ac2017-08-25 12:14:06 -0500667
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200668In order to get cloud-init within the instance to properly fetch
Andreyeff77ac2017-08-25 12:14:06 -0500669instance metadata, metadata_proxy_secret in the Vrouter agent config
670should match the value in nova.conf. The administrator should define
671it in the pillar:
672
673.. code-block:: yaml
674
675 opencontrail:
676 compute:
677 metadata:
678 secret: opencontrail
679
Petr Jedinýfe51c6a2017-09-05 18:30:31 +0200680Add auth info for Barbican on compute nodes
681-------------------------------------------
682
683.. code-block:: yaml
684
685 opencontrail:
686 compute:
687 lbaas:
688 enabled: true
689 secret_manager:
690 engine: barbican
691 identity:
692 user: admin
693 password: "supersecretpassword123"
694 tenant: admin
695
696
Jakub Pavlik735005f2016-02-26 15:54:53 +0100697Keystone v3
Aleš Komáreka3314b22017-04-11 13:46:06 +0200698-----------
Jakub Pavlik735005f2016-02-26 15:54:53 +0100699
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200700To enable support for keystone v3 in opencontrail, there must be defined
701version for config and web role.
Jakub Pavlik735005f2016-02-26 15:54:53 +0100702
703.. code-block:: yaml
704
705 opencontrail:
706 config:
707 version: 2.2
708 enabled: true
709 ...
710 identity:
711 engine: keystone
712 version: '3'
713 ...
714
715 opencontrail:
716 web:
717 version: 2.2
718 enabled: true
719 ...
720 identity:
721 engine: keystone
722 version: '3'
723 ...
724
marco10cc2212016-04-03 14:21:54 +0200725Without Keystone
726----------------
727
728.. code-block:: yaml
729
730 opencontrail:
731 ...
732 common:
733 ...
734 identity:
735 engine: none
736 token: none
737 password: none
738 ...
739 config:
740 ...
741 identity:
742 engine: none
743 password: none
744 token: none
745 ...
746 web:
747 ...
748 identity:
749 engine: none
750 password: none
751 token: none
752 ...
marcof5461712016-04-04 20:49:36 +0200753
Pavel Cizinsky14eb00e2018-11-09 15:15:07 +0100754XMPP Encryption
755---------------
756
757Configure encryption of XMPP
758
759Computes nodes
760~~~~~~~~~~~~~~
761
762.. code-block:: yaml
763
764 opencontrail:
765 compute:
766 xmpp:
767 tls:
768 enabled: False
769 auth:
770 enabled: False
771 (optional) cert_file: /etc/contrail/server.pem
772 (optional) key_file: /etc/contrail/privkey.pem
773 (optional) ca_cert_file: /etc/contrail/ca-cert.pem
774
775Control nodes
776~~~~~~~~~~~~~
777
778.. code-block:: yaml
779
780 opencontrail:
781 control:
782 xmpp:
783 tls:
784 enabled: False
785 auth:
786 enabled: False
787 (optional) cert_file: /etc/contrail/server.pem
788 (optional) key_file: /etc/contrail/privkey.pem
789 (optional) ca_cert_file: /etc/contrail/ca-cert.pem
790
Aleš Komáreka3314b22017-04-11 13:46:06 +0200791Kubernetes support
792------------------
793
marcof5461712016-04-04 20:49:36 +0200794Kubernetes vrouter nodes
marcof5461712016-04-04 20:49:36 +0200795
796Vrouter configuration on a kubernetes node(s)
797
798.. code-block:: yaml
799
800 opencontrail:
801 ...
802 compute:
803 engine: kubernetes
804 ...
805
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100806vRouter with separated control plane
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100807
808Separate XMPP traffic from dataplane interface.
809
810.. code-block:: yaml
811
812 opencontrail:
813 compute:
814 bind:
815 address: 172.16.0.50
816 ...
817
Petr Jediný439fab32017-07-10 14:33:09 +0200818Override RPF default in Contrail API
819------------------------------------
820
821From MCP1.1 with OpenContrail >= 3.1.1 you can override RPF default for newly
822created virtual networks. This can be useful for usecases like running
823Calico and K8S in overlay. The `override_rpf_default_by` has valid values
824`disable`, `enable`. If not defined, the configuration fallbacks to Contrail
825default - currently `enable`.
826
827.. code-block:: yaml
828
829 opencontrail:
830 ...
831 config:
832 override_rpf_default_by: 'disable'
833 ...
834
Jan Cach5ffa6b22019-12-12 10:39:11 +0100835Configure log level for Contrail services
836-----------------------------------------
837
838For OpenContrail 4.0 and 4.1 formula supports setting level of
839the log level for contrail services. Default value of debug level
840is `SYS_NOTICE`.
841
842.. code-block:: yaml
843
844 opencontrail:
845 ...
846 config:
847 log_level:
848 api: SYS_NOTICE
849 device_manager: SYS_NOTICE
850 schema: SYS_NOTICE
851 svc_monitor: SYS_NOTICE
852 collector:
853 log_level:
854 alarm: SYS_NOTICE
855 analytics_api: SYS_NOTICE
856 collector: SYS_NOTICE
857 query_engine: SYS_NOTICE
858 snmp: SYS_NOTICE
859 topology: SYS_NOTICE
860 compute:
861 log_level:
862 agent: SYS_NOTICE
863 control:
864 log_level:
865 control: SYS_NOTICE
866 dns: SYS_NOTICE
867 ...
868
Petr Jediný01c18822017-11-15 12:30:53 +0100869Cassandra GC logging
870--------------------
871
872From Contrail version 3 you can set a way you want to handle Cassandra GC logs.
873The behavior is controlled by `cassandra_gc_logging`. Valid values are
874'rotation' (default), 'legacy' and false.
875
876- 'rotation' is supported by JDK 6u34 7u2 or later and handles rotation of log
877files automatically.
878- 'legacy' is a way to support older JDKs and you will need to handle logs by
879other means. This can be handled for example by using
880`- service.opencontrail.database.cassandra_log_cleanup` in your reclass model.
881- false will disable the cassandra gc logging
882
883.. code-block:: yaml
884
885 opencontrail:
886 ...
887 database:
888 cassandra_gc_logging: false
889 ...
890
Petr Jediný439fab32017-07-10 14:33:09 +0200891
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200892Disable Contrail API authentication
893-----------------------------------
894
Petr Jediný78e6f422017-06-01 13:24:49 +0200895Contrail version must >= 3.0. It is useful especially for Keystone v3.
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200896
897.. code-block:: yaml
898
899 opencontrail:
900 ...
901 config:
902 multi_tenancy: false
903 ...
904
Marek Celoudae98c642018-01-31 12:43:42 +0100905Enable RBAC
906-----------
907
908
909.. code-block:: yaml
910
911 opencontrail:
912 ...
913 config:
914 aaa_mode: rbac
915 cloud_admin_role: admin
916 global_read_only_role: member
917 ...
918
Petr Jediný78e6f422017-06-01 13:24:49 +0200919Switch from on demand to periodic keystone sync
920-----------------------------------------------
921
922This can be useful when you want to sync projects from OpenStack to Contrail
923automatically. The period of sync is 60s.
924
925.. code-block:: yaml
926
927 opencontrail:
928 ...
929 config:
930 identity:
931 sync_on_demand: false
932 ...
933
Sergey Kreys94eba6c2019-11-05 17:33:29 -0600934Configure duration between polls to keystone to sync domains and projects
935-------------------------------------------------------------------------
936
937.. code-block:: yaml
938
939 opencontrail:
940 ...
941 config:
942 keystone_resync_interval_secs: 60
943 ...
944
Petr Jediný03027902018-07-17 20:32:52 +0200945Cassandra listen configuration
946------------------------------
947
948Interface example:
marco2502e052016-05-31 22:53:54 +0200949
950.. code-block:: yaml
Vasyl Saienkob10b7202017-09-05 14:19:03 +0300951
marco2502e052016-05-31 22:53:54 +0200952 database:
953 ....
954 bind:
955 interface: eth0
956 port: 9042
957 rpc_port: 9160
958 ....
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200959
Petr Jediný03027902018-07-17 20:32:52 +0200960For running config and analytics db clusters on same hosts, you will need to
961change ports not to collide. The host is required.
962
963 database:
964 ....
965 bind:
966 host: 127.0.0.1
967 port: 9042
968 rpc_port: 9160
969 # for containers we need to move configdb to neighbouring ports
970 port_configdb: 9041
971 rpc_port_configdb: 9161
972 ....
973
974
Petr Jedinýffbe2082017-03-07 00:56:47 +0100975OpenContrail WebUI version >= 3.1.1
976-----------------------------------
Petr Jediný78e6f422017-06-01 13:24:49 +0200977For 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 +0100978
979For appropriate node at class level:
980
981.. code-block:: yaml
Aleš Komáreka3314b22017-04-11 13:46:06 +0200982
Petr Jedinýffbe2082017-03-07 00:56:47 +0100983 opencontrail:
984 ....
985 web:
986 database:
987 port: 9042
988 ....
989
990
Jakub Pavlik9a4de012016-12-14 13:23:55 +0100991RabbitMQ HA hosts
992------------------
993
994.. code-block:: yaml
995
996 opencontrail:
997 config:
998 message_queue:
999 engine: rabbitmq
1000 members:
1001 - host: 10.0.16.1
1002 - host: 10.0.16.2
1003 - host: 10.0.16.3
1004 port: 5672
1005
1006.. code-block:: yaml
1007
1008 database:
1009 ....
1010 bind:
1011 interface: eth0
1012 port: 9042
1013 rpc_port: 9160
1014 ....
1015
Jakub Pavlike3590062017-02-20 23:32:57 +01001016DPDK vRouter
1017-------------
1018
1019.. code-block:: yaml
1020
1021 opencontrail:
1022 compute:
1023 dpdk:
1024 enabled: true
Jakub Pavlik54761d82017-03-08 11:22:37 +01001025 taskset: "0x0000003C00003C"
1026 socket_mem: "1024,1024"
Jakub Pavlike3590062017-02-20 23:32:57 +01001027 interface:
1028 mac_address: 90:e2:ba:7c:22:e1
1029 pci: 0000:81:00.1
1030 ...
1031
Petr Jedinýe9960762018-05-04 17:36:59 +02001032Increase number of contrail-api workers
1033---------------------------------------
1034
1035.. code-block:: yaml
1036
1037 opencontrail:
1038 ...
1039 config:
Svimbaca9fa5b2018-09-19 14:31:34 +02001040 api:
1041 workers_count: 3
Petr Jedinýe9960762018-05-04 17:36:59 +02001042 ...
1043
Marek Celouddbba7ed2017-12-07 10:36:24 +01001044Increase number of alarm-gen workers
1045------------------------------------
1046
1047Port prefix will increment used ports by workers starting with 5901.
1048
1049.. code-block:: yaml
1050
1051 collector:
1052 alarm_gen:
1053 workers: 1
1054 port_prefix: 59
1055
Ales Komarekad46d2e2017-03-09 17:16:38 +01001056Contrail client
1057---------------
1058
1059Basic parameters with identity and host configs
1060
Petr Jediný78e6f422017-06-01 13:24:49 +02001061.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001062
1063 opencontrail:
1064 client:
1065 identity:
1066 user: admin
1067 project: admin
1068 password: adminpass
1069 host: keystone_host
1070 config:
1071 host: contrail_api_host
1072 port: contrail_api_ort
1073
1074Enforcing virtual routers
1075
Petr Jediný78e6f422017-06-01 13:24:49 +02001076.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001077
1078 opencontrail:
1079 client:
1080 ...
1081 virtual_router:
1082 cmp01:
1083 ip_address: 172.16.0.11
1084 dpdk_enabled: True
1085 cmp02:
1086 ip_address: 172.16.0.12
1087 dpdk_enabled: True
1088
psvimbersky3c84e272018-01-02 10:34:29 +01001089
1090Enforcing global system config
1091
1092.. code-block:: yaml
1093
1094 opencontrail:
1095 client:
1096 ...
1097 global_system_config:
1098 name: default-global-system-config
1099 asn: 64512
1100 grp:
1101 enable: true
1102 restart_time: 60
1103 end_of_rib_timeout: 30
1104 bgp_helper_enable: false
1105 xmpp_helper_enable: false
1106 long_lived_restart_time: 300
1107
1108
Pavel Svimbersky13cda442017-09-14 14:46:13 +02001109Enforcing global vrouter config
1110
1111.. code-block:: yaml
1112
1113 opencontrail:
1114 client:
1115 ...
1116 global_vrouter_config:
Petr Jediný554d0412018-01-04 22:35:48 +01001117 name: default-global-vrouter-config
Pavel Svimbersky13cda442017-09-14 14:46:13 +02001118 parent_type: global-system-config
1119 encap_priority: "MPLSoUDP,MPLSoGRE"
1120 vxlan_vn_id_mode: automatic
1121 fq_names:
1122 - 'default-global-system-config'
1123 - 'default-global-vrouter-config'
1124
psvimbersky3c84e272018-01-02 10:34:29 +01001125
1126
Ales Komarekad46d2e2017-03-09 17:16:38 +01001127Enforcing control nodes
1128
Petr Jediný78e6f422017-06-01 13:24:49 +02001129.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001130
1131 opencontrail:
1132 client:
1133 ...
1134 bgp_router:
1135 ntw01:
1136 type: control-node
1137 ip_address: 172.16.0.11
1138 nwt02:
1139 type: control-node
1140 ip_address: 172.16.0.12
1141 nwt03:
1142 type: control-node
1143 ip_address: 172.16.0.13
1144
1145
1146Enforcing edge BGP routers
1147
Petr Jediný78e6f422017-06-01 13:24:49 +02001148.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001149
1150 opencontrail:
1151 client:
1152 ...
1153 bgp_router:
1154 mx01:
1155 type: router
1156 ip_address: 172.16.0.21
1157 asn: 64512
1158 mx02:
1159 type: router
1160 ip_address: 172.16.0.22
1161 asn: 64512
Marek Celoud3097e5b2018-01-09 13:52:14 +01001162 key_type: md5
1163 key: password
Ales Komarekad46d2e2017-03-09 17:16:38 +01001164
1165Enforcing config nodes
1166
Petr Jediný78e6f422017-06-01 13:24:49 +02001167.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001168
1169 opencontrail:
1170 client:
1171 ...
1172 config_node:
1173 ctl01:
1174 ip_address: 172.16.0.21
1175 ctl02:
1176 ip_address: 172.16.0.22
1177
1178Enforcing database nodes
1179
Petr Jediný78e6f422017-06-01 13:24:49 +02001180.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001181
1182 opencontrail:
1183 client:
1184 ...
1185 database_node:
1186 ntw01:
1187 ip_address: 172.16.0.21
1188 ntw02:
1189 ip_address: 172.16.0.22
1190
1191Enforcing analytics nodes
1192
Petr Jediný78e6f422017-06-01 13:24:49 +02001193.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +01001194
1195 opencontrail:
1196 client:
1197 ...
1198 analytics_node:
1199 nal01:
1200 ip_address: 172.16.0.31
1201 nal02:
1202 ip_address: 172.16.0.32
1203
Petr Jediný5f3efe32017-05-26 17:55:09 +02001204Enforcing Link Local Services
1205
1206.. code-block:: yaml
1207
1208 opencontrail:
1209 client:
1210 ...
1211 linklocal_service:
1212 # example with dns name address (only one permited)
1213 meta1:
1214 lls_ip: 10.0.0.23
1215 lls_port: 80
1216 ipf_addresses: "meta.example.com"
1217 ipf_port: 80
1218 # example with multiple ip addresses
1219 meta2:
1220 lls_ip: 10.0.0.23
1221 lls_port: 80
1222 ipf_addresses:
1223 - 10.10.10.10
1224 - 10.20.20.20
1225 - 10.30.30.30
1226 ipf_port: 80
1227 # example with one ip address
1228 meta3:
1229 lls_ip: 10.0.0.23
1230 lls_port: 80
1231 ipf_addresses:
1232 - 10.10.10.10
1233 ipf_port: 80
1234 # example with name override
1235 lls_meta4:
1236 name: meta4
1237 lls_ip: 10.0.0.23
1238 lls_port: 80
1239 ipf_addresses:
1240 - 10.10.10.10
1241 ipf_port: 80
1242
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001243
Michel Nederloff5bccda2017-11-20 13:31:38 +01001244Configuring OpenStack default quotasx
1245
1246.. code-block:: yaml
1247 config:
1248 quota:
1249 network: 5
1250 subnet: 10
1251 router: 10
1252 floating_ip: 100
1253 secgroup: 1000
1254 secgroup_rule: 1000
1255 port: 1000
1256 pool: -1
1257 member: -1
1258 health_monitor: -1
1259 vip: -1
1260
1261Enforcing physical routers
Petr Jediný04bed9b2018-05-03 19:44:10 +02001262
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001263.. code-block:: yaml
1264
1265 opencontrail:
1266 client:
1267 ...
1268 physical_router:
1269 router1:
1270 name: router1
1271 dataplane_ip: 1.2.3.4
1272 management_ip: 1.2.3.4
1273 vendor_name: ovs
1274 product_name: ovs
1275 agents:
1276 - tsn0-0
1277 - tsn0
1278
1279Enforcing physical/logical interfaces for routers
1280
1281
1282.. code-block:: yaml
1283
1284 opencontrail
1285 client:
1286 ...
1287 physical_router:
1288 router1:
1289 ...
1290 interface:
1291 port1:
1292 name: port1
1293 logical_interface:
1294 port1_l:
1295 name: 'port1.0'
1296 vlan_tag: 0
1297 interface_type: L2
1298 virtual_machine_interface:
1299 port1_port:
1300 name: port1_port
1301 ip_address: 192.168.90.107
1302 mac_address: '2e:92:a8:af:c2:21'
1303 security_group: 'default'
1304 virtual_network: 'virtual-network'
1305
Jan Cachebfed1c2018-01-09 17:21:35 +01001306Enforcing virtual networks
1307
1308
1309.. code-block:: yaml
1310
1311 opencontrail:
1312 client:
1313 virtual_networks:
1314 net01:
1315 name: 'network01'
1316 ip_address: '172.16.111.0'
1317 ip_prefix: 24
1318 asn: 64512
1319 route_target: 10000
1320 external: True
1321 allow_transit: False
1322 forwarding_mode: 'l2_l3'
1323 rpf: 'disable'
1324 mirror_destination: False
1325 domain: 'default-domain'
1326 project: 'admin'
1327 ipam_domain: 'default-domain'
1328 ipam_project: 'default-project'
1329 ipam_name: 'default-network-ipam'
1330 net02:
1331 name: 'network02'
1332 net03:
1333 name: 'network03'
1334
Ales Komarekad46d2e2017-03-09 17:16:38 +01001335
Jan Cachb3092722018-01-31 12:46:16 +01001336Enforcing floating ip pool setings.
1337
1338Virtual network with flag external needs to be created before managing the floating ip pool.
1339Param vn_name is the name of the external network.
1340
1341.. code-block:: yaml
1342
1343 opencontrail:
1344 client:
1345 floating_ip_pools:
1346 pool1:
1347 vn_name: external-network
1348 vn_project: admin
1349 vn_domain: default-domain
1350 owner_access: 7
1351 global_access: 0
1352 list_of_projects:
1353 - [tenant1, 7]
1354 - [tenant2, 7]
1355 - [tenant3, 7]
1356 pool2:
1357 vn_name: floating-ips
1358 vn_project: admin
1359 vn_domain: default-domain
1360 owner_access: 7
1361 global_access: 0
1362 list_of_projects:
1363 - [tenant3, 7]
1364
1365
Pavel Cizinsky14eb00e2018-11-09 15:15:07 +01001366If you want to remove all shares from the ip floating pool, define only empty list in
Jan Cachb3092722018-01-31 12:46:16 +01001367list of projects, like this:
1368
1369.. code-block:: yaml
1370
1371 opencontrail:
1372 client:
1373 floating_ip_pools:
1374 pool1:
1375 vn_name: external-network
1376 vn_project: admin
1377 vn_domain: default-domain
1378 owner_access: 7
1379 global_access: 0
1380 list_of_projects: []
1381
1382
Michel Nederlof5364ab62017-12-11 15:02:25 +01001383Contrail DNS custom forwarders
1384------------------------------
1385
1386By default Contrail uses the /etc/resolv.conf file to determine the upstream DNS servers.
1387This can have some side-affects, like resolving internal DNS entries on you public instances.
1388
1389In order to overrule this default set, you can configure nameservers using pillar data.
1390The formula is then responsible for configuring and generating a alternate resolv.conf file.
1391
1392Note: this has been patched recently in the Contrail distribution of Mirantis:
1393https://github.com/Mirantis/contrail-controller/commit/ed9a25ccbcfebd7d079a93aecc5a1a7bf1265ea4
1394https://github.com/Mirantis/contrail-controller/commit/94c844cf2e9bcfcd48587aec03d10b869e737ade
1395
1396
1397To change forwarders for the default-dns option (which is handled by compute nodes):
1398
1399.. code-block:: yaml
1400
1401 compute:
1402 ....
1403 dns:
1404 forwarders:
1405 - 8.8.8.8
1406 - 8.8.4.4
1407 ....
1408
1409To change forwarders for vDNS zones (handled by control nodes):
1410
1411.. code-block:: yaml
1412
1413 control:
1414 ....
1415 dns:
1416 forwarders:
1417 - 8.8.8.8
1418 - 8.8.4.4
1419 ....
1420
Petr Jediný04bed9b2018-05-03 19:44:10 +02001421Contrail IF-MAP server configuration
1422------------------------------------
1423
1424Contrail 3.2 contains internal IF-MAP server implementation. This implementation can be enabled
1425by setting ``config:ifmap:engine`` to internal. Currently supported engines are ``internal`` and
1426``irond`` (default). The ``internal`` will configure contrail-api to run as a IF-MAP server in the
1427same process as contrail-api and will generate security certificates in specified folder.
1428
1429.. code-block:: yaml
1430
1431 config:
1432 ....
1433 ifmap:
1434 engine: internal
1435 cert_dir: /etc/contrail/ssl/certs/ # default
1436 basename_cert: ifmap.crt # default
1437 basename_key: ifmap.key # default
1438 ....
1439
1440To set static configuration of the IF-MAP server for contrail-control instead of using
1441discovery service, you can use ``control:ifmap:bind:host`` and ``port``. The static configuration
1442is triggered by existence of non-empty value of ``control:ifmap:bind`` key.
1443
1444.. code-block:: yaml
1445 control:
1446 ....
1447 ifmap
1448 bind:
1449 host: 127.0.0.1
1450 port: 8443
1451 ....
1452
Jan Cach2f99ae82018-10-03 19:50:09 +02001453Configure TCP_TW_RECYCLE in kernel
1454------------------------------------
Petr Jediný04bed9b2018-05-03 19:44:10 +02001455
Jan Cach2f99ae82018-10-03 19:50:09 +02001456Enable fast recycling of TIME-WAIT sockets. To enable set parameter to 1, which is
1457default value in formula. To turn off this option set parameter to 0:
1458
1459.. code-block:: yaml
1460
1461 opencontrail:
1462 ....
1463 common
1464 ....
1465 tcp_tw_recycle: 0
1466 ....
Michel Nederloff5bccda2017-11-20 13:31:38 +01001467
Anton Samoylov28ad4fa2018-10-02 14:45:41 +04001468Define extra states for contrail services health check
1469------------------------------------------------------
1470
1471Service health check procedure verifies that all available contrail services are in ``active``
1472state.
1473Additional states could be defined for every service as expected states for validation procedure.
1474
1475.. code-block:: yaml
1476
1477 config:
1478 ....
1479 services_extra_states:
1480 contrail-schema:
1481 - backup
1482 contrail-device-manager
1483 - backup
1484 contrail-svc-monitor:
1485 - backup
1486 ....
1487
1488``contrail-schema``, ``contrail-device-manager`` and ``contrail-svc-monitor`` config services already
1489have additional ``backup`` state by default.
1490
Svimba4c4d45a2019-05-03 15:49:08 +02001491Setup Sandesh rate limit
1492------------------------
1493Sandesh send rate limit can be used to throttle system logs transmitted per second. System logs are
1494dropped if the sending rate is exceeded.
1495
1496It is possible to use only global limit for all services of contrail component.
1497
1498.. code-block:: yaml
1499
1500 opencontrail:
1501 control:
1502 ....
1503 sandesh_send_rate_limits:
1504 global: 10
1505 ....
1506
1507
1508Global limit and limit for specific service can be defined together where specific service limit
1509has higher priority.
1510
1511.. code-block:: yaml
1512
1513 opencontrail:
1514 config:
1515 ....
1516 sandesh_send_rate_limits:
1517 global: 10
1518 config_api: 3
1519 schema: 5
1520 ....
1521
1522Only specific service limit can be defined. In this case other services of Contrail component
1523keep default value (0) of `sandesh_send_rate_limit`
1524
1525.. code-block:: yaml
1526
1527 opencontrail:
1528 collector:
1529 ....
1530 sandesh_send_rate_limits:
1531 collector: 100
1532 analytics-api: 50
1533 ....
1534
1535Full list:
1536
1537.. code-block:: yaml
1538
1539 opencontrail:
1540 control:
1541 ....
1542 sandesh_send_rate_limits:
1543 global: 100
1544 control: 10
1545 dns: 10
1546 nodemgr: 10
1547 ....
1548
1549 config:
1550 ....
1551 sandesh_send_rate_limits:
1552 global: 100
1553 config_api: 10
1554 schema: 10
1555 svc_monitor: 10
1556 device_manager: 10
1557 nodemgr: 10
1558 ....
1559
1560 collector:
1561 ....
1562 sandesh_send_rate_limits:
1563 global: 100
1564 collector: 10
1565 analytics_api: 10
1566 query_engine: 10
1567 alarm_gen: 10
1568 snmp_collector: 10
1569 topology: 10
1570 nodemgr: 10
1571 ....
1572
1573 compute:
1574 ....
1575 sandesh_send_rate_limits:
1576 global: 100
1577 agent: 10
1578 nodemgr: 10
1579 ....
1580
Svimbae72ef8b2019-06-05 11:45:02 +02001581Disable database writes of collector
1582------------------------------------
1583
1584Sandesh messages aren't written to analytics database by changing following parameters to `true`.
1585Default value all of these parametes is `false`. Is possible to change one or more parametes.
1586
1587.. code-block:: yaml
1588
1589 opencontrail:
1590 ....
1591 collector
1592 ....
1593 database:
1594 ....
1595 disable_all_writes: false
1596 disable_statistics_writes: true
1597 disable_message_writes: false
1598 ....
1599
1600
Anton Samoylov973116f2019-05-08 18:03:28 +04001601Define aging time for flow-records in seconds
1602---------------------------------------------
1603
1604Flows are aged out based on inactivity for a specific period of time. By default,
1605the timeout value is 180 seconds. This can be modified by configuring flow_cache_timeout for
1606contrail-vrouter-agent service:
1607
1608.. code-block:: yaml
1609
1610 opencontrail:
1611 ....
1612 compute
1613 ....
1614 flow_cache_timeout: 180
1615 ....
1616
Filip Pytloun27930402015-10-06 16:28:32 +02001617Usage
1618=====
1619
1620Basic installation
Ales Komarekad46d2e2017-03-09 17:16:38 +01001621------------------
Filip Pytloun27930402015-10-06 16:28:32 +02001622
1623Add control BGP
Ales Komarekad46d2e2017-03-09 17:16:38 +01001624
1625.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001626
1627 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
1628
Ales Komarekad46d2e2017-03-09 17:16:38 +01001629Install compute node
Filip Pytloun27930402015-10-06 16:28:32 +02001630
Ales Komarekad46d2e2017-03-09 17:16:38 +01001631.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001632
1633 yum install contrail-vrouter contrail-openstack-vrouter
1634
1635 salt-call state.sls nova,opencontrail
1636
1637Add virtual router
Filip Pytloun27930402015-10-06 16:28:32 +02001638
Ales Komarekad46d2e2017-03-09 17:16:38 +01001639.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +02001640
1641 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
1642
1643 /etc/sysconfig/network-scripts/ifcfg-bond0 -- comment GATEWAY,NETMASK,IPADDR
1644
1645 reboot
1646
Aleš Komáreka3314b22017-04-11 13:46:06 +02001647Debugging
1648---------
Filip Pytloun27930402015-10-06 16:28:32 +02001649
1650Display vhost XMPP connection status
1651
1652You should see the correct controller_ip and state should be established.
1653
1654 http://<compute-node>:8085/Snh_AgentXmppConnectionStatusReq?
1655
1656Display vrouter interface status
1657
1658When vrf_name = ---ERROR--- then something goes wrong
1659
1660 http://<compute-node>:8085/Snh_ItfReq?name=
1661
1662Display IF MAP table
1663
Vasyl Saienkob10b7202017-09-05 14:19:03 +03001664Look for neighbours, if VM has 2, it's ok
Filip Pytloun27930402015-10-06 16:28:32 +02001665
1666 http://<control-node>:8083/Snh_IFMapTableShowReq?table_name=
1667
1668Trace XMPP requests
1669
1670 http://<compute-node>:8085/Snh_SandeshTraceRequest?x=XmppMessageTrace