blob: da9d0b4c9ce13f24284deeab9a1c257d13775463 [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
59 host: 127.0.0.1
60 port: 35357
61 token: token
62 password: password
63 network:
64 engine: neutron
65 host: 127.0.0.1
66 port: 9696
67 config:
68 version: 2.2
69 enabled: true
70 network:
71 engine: neutron
72 host: 127.0.0.1
73 port: 9696
74 discovery:
75 host: 127.0.0.1
76 analytics:
77 host: 127.0.0.1
78 bind:
79 address: 127.0.0.1
80 message_queue:
81 engine: rabbitmq
82 host: 127.0.0.1
83 port: 5672
84 database:
85 members:
86 - host: 127.0.0.1
87 port: 9160
88 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +020089 members:
90 - host: 127.0.0.1
91 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +010092 identity:
93 engine: keystone
94 version: '2.0'
95 region: RegionOne
96 host: 127.0.0.1
97 port: 35357
98 user: admin
99 password: password
100 token: token
101 tenant: admin
102 members:
103 - host: 127.0.0.1
104 id: 1
105 control:
106 version: 2.2
107 enabled: true
108 bind:
109 address: 127.0.0.1
110 discovery:
111 host: 127.0.0.1
112 master:
113 host: 127.0.0.1
114 members:
115 - host: 127.0.0.1
116 id: 1
117 collector:
118 version: 2.2
119 enabled: true
120 bind:
121 address: 127.0.0.1
122 master:
123 host: 127.0.0.1
124 discovery:
125 host: 127.0.0.1
126 data_ttl: 2
127 database:
128 members:
129 - host: 127.0.0.1
130 port: 9160
131 database:
132 version: 2.2
133 cassandra:
134 version: 2
135 enabled: true
136 minimum_disk: 10
137 name: 'Contrail'
138 original_token: 0
Dmitry Stremkovskiy2a079c72017-07-12 23:11:18 +0300139 compaction_throughput_mb_per_sec: 16
Dmitry Stremkovskiy71b310a2017-08-11 20:39:11 +0300140 concurrent_compactors: 1
Jiri Konecny463dee52016-03-03 11:08:46 +0100141 data_dirs:
142 - /var/lib/cassandra
143 id: 1
144 discovery:
145 host: 127.0.0.1
146 bind:
147 host: 127.0.0.1
148 port: 9042
149 rpc_port: 9160
150 members:
151 - host: 127.0.0.1
152 id: 1
153 web:
154 version: 2.2
155 enabled: True
156 bind:
157 address: 127.0.0.1
158 analytics:
159 host: 127.0.0.1
160 master:
161 host: 127.0.0.1
162 cache:
163 engine: redis
164 host: 127.0.0.1
165 port: 6379
166 members:
167 - host: 127.0.0.1
168 id: 1
169 identity:
170 engine: keystone
171 version: '2.0'
172 host: 127.0.0.1
173 port: 35357
174 user: admin
175 password: password
176 token: token
177 tenant: admin
178
179
180All-in-one cluster
181~~~~~~~~~~~~~~~~~~
182
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200183Config, control, analytics, database, web -- altogether, clustered on multiple
184nodes.
Jiri Konecny463dee52016-03-03 11:08:46 +0100185
186.. code-block:: yaml
187
188 opencontrail:
189 common:
190 version: 2.2
191 source:
192 engine: pkg
193 address: http://mirror.robotice.cz/contrail-havana/
194 identity:
195 engine: keystone
196 host: 127.0.0.1
197 port: 35357
198 token: token
199 password: password
200 network:
201 engine: neutron
202 host: 127.0.0.1
203 port: 9696
204 config:
205 version: 2.2
206 enabled: true
207 network:
208 engine: neutron
209 host: 127.0.0.1
210 port: 9696
211 discovery:
212 host: 127.0.0.1
213 analytics:
214 host: 127.0.0.1
215 bind:
216 address: 127.0.0.1
217 message_queue:
218 engine: rabbitmq
219 host: 127.0.0.1
220 port: 5672
221 database:
222 members:
223 - host: 127.0.0.1
224 port: 9160
225 - host: 127.0.0.1
226 port: 9160
227 - host: 127.0.0.1
228 port: 9160
229 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +0200230 members:
231 - host: 127.0.0.1
232 port: 11211
233 - host: 127.0.0.1
234 port: 11211
235 - host: 127.0.0.1
236 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +0100237 identity:
238 engine: keystone
239 version: '2.0'
240 region: RegionOne
241 host: 127.0.0.1
242 port: 35357
243 user: admin
244 password: password
245 token: token
246 tenant: admin
247 members:
248 - host: 127.0.0.1
249 id: 1
250 - host: 127.0.0.1
251 id: 2
252 - host: 127.0.0.1
253 id: 3
254 control:
255 version: 2.2
256 enabled: true
257 bind:
258 address: 127.0.0.1
259 discovery:
260 host: 127.0.0.1
261 master:
262 host: 127.0.0.1
263 members:
264 - host: 127.0.0.1
265 id: 1
266 - host: 127.0.0.1
267 id: 2
268 - host: 127.0.0.1
269 id: 3
270 collector:
271 version: 2.2
272 enabled: true
273 bind:
274 address: 127.0.0.1
275 master:
276 host: 127.0.0.1
277 discovery:
278 host: 127.0.0.1
279 data_ttl: 1
280 database:
281 members:
282 - host: 127.0.0.1
283 port: 9160
284 - host: 127.0.0.1
285 port: 9160
286 - host: 127.0.0.1
287 port: 9160
288 database:
289 version: 2.2
290 cassandra:
291 version: 2
292 enabled: true
293 name: 'Contrail'
294 minimum_disk: 10
295 original_token: 0
296 data_dirs:
297 - /var/lib/cassandra
298 id: 1
299 discovery:
300 host: 127.0.0.1
301 bind:
302 host: 127.0.0.1
303 port: 9042
304 rpc_port: 9160
305 members:
306 - host: 127.0.0.1
307 id: 1
308 - host: 127.0.0.1
309 id: 2
310 - host: 127.0.0.1
311 id: 3
312 web:
313 version: 2.2
314 enabled: True
315 bind:
316 address: 127.0.0.1
317 master:
318 host: 127.0.0.1
319 analytics:
320 host: 127.0.0.1
321 cache:
322 engine: redis
323 host: 127.0.0.1
324 port: 6379
325 members:
326 - host: 127.0.0.1
327 id: 1
328 - host: 127.0.0.1
329 id: 2
330 - host: 127.0.0.1
331 id: 3
332 identity:
333 engine: keystone
334 version: '2.0'
335 host: 127.0.0.1
336 port: 35357
337 user: admin
338 password: password
339 token: token
340 tenant: admin
341
342
343Separated analytics from control and config
344~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
345
346Config, control, database, web.
347
348.. code-block:: yaml
349
350 opencontrail:
351 common:
352 version: 2.2
353 identity:
354 engine: keystone
355 host: 127.0.0.1
356 port: 35357
357 token: token
358 password: password
359 network:
360 engine: neutron
361 host: 127.0.0.1
362 port: 9696
363 config:
364 version: 2.2
365 enabled: true
366 network:
367 engine: neutron
368 host: 127.0.0.1
369 port: 9696
370 discovery:
371 host: 127.0.0.1
372 analytics:
373 host: 127.0.0.1
374 bind:
375 address: 127.0.0.1
376 message_queue:
377 engine: rabbitmq
378 host: 127.0.0.1
379 port: 5672
380 database:
381 members:
382 - host: 127.0.0.1
383 port: 9160
384 - host: 127.0.0.1
385 port: 9160
386 - host: 127.0.0.1
387 port: 9160
388 cache:
Jakub Pavlikd1a059e2016-07-13 23:08:33 +0200389 members:
390 - host: 127.0.0.1
391 port: 11211
392 - host: 127.0.0.1
393 port: 11211
394 - host: 127.0.0.1
395 port: 11211
Jiri Konecny463dee52016-03-03 11:08:46 +0100396 identity:
397 engine: keystone
398 version: '2.0'
399 region: RegionOne
400 host: 127.0.0.1
401 port: 35357
402 user: admin
403 password: password
404 token: token
405 tenant: admin
406 members:
407 - host: 127.0.0.1
408 id: 1
409 - host: 127.0.0.1
410 id: 2
411 - host: 127.0.0.1
412 id: 3
413 control:
414 version: 2.2
415 enabled: true
416 bind:
417 address: 127.0.0.1
418 discovery:
419 host: 127.0.0.1
420 master:
421 host: 127.0.0.1
422 members:
423 - host: 127.0.0.1
424 id: 1
425 - host: 127.0.0.1
426 id: 2
427 - host: 127.0.0.1
428 id: 3
429 database:
430 version: 127.0.0.1
431 cassandra:
432 version: 2
433 enabled: true
434 name: 'Contrail'
435 minimum_disk: 10
436 original_token: 0
437 data_dirs:
438 - /var/lib/cassandra
439 id: 1
440 discovery:
441 host: 127.0.0.1
442 bind:
443 host: 127.0.0.1
444 port: 9042
445 rpc_port: 9160
446 members:
447 - host: 127.0.0.1
448 id: 1
449 - host: 127.0.0.1
450 id: 2
451 - host: 127.0.0.1
452 id: 3
453 web:
454 version: 2.2
455 enabled: True
456 bind:
457 address: 127.0.0.1
458 analytics:
459 host: 127.0.0.1
460 master:
461 host: 127.0.0.1
462 cache:
463 engine: redis
464 host: 127.0.0.1
465 port: 6379
466 members:
467 - host: 127.0.0.1
468 id: 1
469 - host: 127.0.0.1
470 id: 2
471 - host: 127.0.0.1
472 id: 3
473 identity:
474 engine: keystone
475 version: '2.0'
476 host: 127.0.0.1
477 port: 35357
478 user: admin
479 password: password
480 token: token
481 tenant: admin
482
Jiri Konecny463dee52016-03-03 11:08:46 +0100483Analytic nodes
Jiri Konecny463dee52016-03-03 11:08:46 +0100484
485Analytics and database on an analytic node(s)
486
487.. code-block:: yaml
488
489 opencontrail:
490 common:
491 version: 2.2
492 identity:
493 engine: keystone
494 host: 127.0.0.1
495 port: 35357
496 token: token
497 password: password
498 network:
499 engine: neutron
500 host: 127.0.0.1
501 port: 9696
502 collector:
503 version: 2.2
504 enabled: true
505 bind:
506 address: 127.0.0.1
507 master:
508 host: 127.0.0.1
509 discovery:
510 host: 127.0.0.1
511 data_ttl: 1
512 database:
513 members:
514 - host: 127.0.0.1
515 port: 9160
516 - host: 127.0.0.1
517 port: 9160
518 - host: 127.0.0.1
519 port: 9160
520 database:
521 version: 2.2
522 cassandra:
523 version: 2
524 enabled: true
525 name: 'Contrail'
526 minimum_disk: 10
527 original_token: 0
528 data_dirs:
529 - /var/lib/cassandra
530 id: 1
531 discovery:
532 host: 127.0.0.1
533 bind:
534 host: 127.0.0.1
535 port: 9042
536 rpc_port: 9160
537 members:
538 - host: 127.0.0.1
539 id: 1
540 - host: 127.0.0.1
541 id: 2
542 - host: 127.0.0.1
543 id: 3
544
545
546Compute nodes
Aleš Komáreka3314b22017-04-11 13:46:06 +0200547-------------
Jiri Konecny463dee52016-03-03 11:08:46 +0100548
549Vrouter configuration on a compute node(s)
550
551.. code-block:: yaml
552
553 opencontrail:
554 common:
555 version: 2.2
556 identity:
557 engine: keystone
558 host: 127.0.0.1
559 port: 35357
560 token: token
561 password: password
562 network:
563 engine: neutron
564 host: 127.0.0.1
565 port: 9696
566 compute:
567 version: 2.2
568 enabled: True
Dmitry Stremkovskiy0cb5c562017-07-26 00:32:51 +0300569 hostname: node-12.domain.tld
Jiri Konecny463dee52016-03-03 11:08:46 +0100570 discovery:
571 host: 127.0.0.1
572 interface:
573 address: 127.0.0.1
574 dev: eth0
575 gateway: 127.0.0.1
576 mask: /24
577 dns: 127.0.0.1
578 mtu: 9000
579
Petr Jediný5f3008a2017-07-31 15:04:05 +0200580
581Compute nodes with gateway_mode
582-------------------------------
583
584Gateway mode: can be server/ vcpe (default is none)
585
586.. code-block:: yaml
587
588 opencontrail:
589 compute:
590 gateway_mode: server
591
592
Jakub Pavlik735005f2016-02-26 15:54:53 +0100593Keystone v3
Aleš Komáreka3314b22017-04-11 13:46:06 +0200594-----------
Jakub Pavlik735005f2016-02-26 15:54:53 +0100595
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200596To enable support for keystone v3 in opencontrail, there must be defined
597version for config and web role.
Jakub Pavlik735005f2016-02-26 15:54:53 +0100598
599.. code-block:: yaml
600
601 opencontrail:
602 config:
603 version: 2.2
604 enabled: true
605 ...
606 identity:
607 engine: keystone
608 version: '3'
609 ...
610
611 opencontrail:
612 web:
613 version: 2.2
614 enabled: true
615 ...
616 identity:
617 engine: keystone
618 version: '3'
619 ...
620
marco10cc2212016-04-03 14:21:54 +0200621Without Keystone
622----------------
623
624.. code-block:: yaml
625
626 opencontrail:
627 ...
628 common:
629 ...
630 identity:
631 engine: none
632 token: none
633 password: none
634 ...
635 config:
636 ...
637 identity:
638 engine: none
639 password: none
640 token: none
641 ...
642 web:
643 ...
644 identity:
645 engine: none
646 password: none
647 token: none
648 ...
marcof5461712016-04-04 20:49:36 +0200649
Aleš Komáreka3314b22017-04-11 13:46:06 +0200650Kubernetes support
651------------------
652
marcof5461712016-04-04 20:49:36 +0200653Kubernetes vrouter nodes
marcof5461712016-04-04 20:49:36 +0200654
655Vrouter configuration on a kubernetes node(s)
656
657.. code-block:: yaml
658
659 opencontrail:
660 ...
661 compute:
662 engine: kubernetes
663 ...
664
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100665vRouter with separated control plane
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100666
667Separate XMPP traffic from dataplane interface.
668
669.. code-block:: yaml
670
671 opencontrail:
672 compute:
673 bind:
674 address: 172.16.0.50
675 ...
676
Petr Jediný439fab32017-07-10 14:33:09 +0200677Override RPF default in Contrail API
678------------------------------------
679
680From MCP1.1 with OpenContrail >= 3.1.1 you can override RPF default for newly
681created virtual networks. This can be useful for usecases like running
682Calico and K8S in overlay. The `override_rpf_default_by` has valid values
683`disable`, `enable`. If not defined, the configuration fallbacks to Contrail
684default - currently `enable`.
685
686.. code-block:: yaml
687
688 opencontrail:
689 ...
690 config:
691 override_rpf_default_by: 'disable'
692 ...
693
694
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200695Disable Contrail API authentication
696-----------------------------------
697
Petr Jediný78e6f422017-06-01 13:24:49 +0200698Contrail version must >= 3.0. It is useful especially for Keystone v3.
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200699
700.. code-block:: yaml
701
702 opencontrail:
703 ...
704 config:
705 multi_tenancy: false
706 ...
707
Petr Jediný78e6f422017-06-01 13:24:49 +0200708Switch from on demand to periodic keystone sync
709-----------------------------------------------
710
711This can be useful when you want to sync projects from OpenStack to Contrail
712automatically. The period of sync is 60s.
713
714.. code-block:: yaml
715
716 opencontrail:
717 ...
718 config:
719 identity:
720 sync_on_demand: false
721 ...
722
marco2502e052016-05-31 22:53:54 +0200723Cassandra listen interface
Petr Jedinýffbe2082017-03-07 00:56:47 +0100724--------------------------
marco2502e052016-05-31 22:53:54 +0200725
726.. code-block:: yaml
727
728 database:
729 ....
730 bind:
731 interface: eth0
732 port: 9042
733 rpc_port: 9160
734 ....
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200735
Petr Jedinýffbe2082017-03-07 00:56:47 +0100736OpenContrail WebUI version >= 3.1.1
737-----------------------------------
Petr Jediný78e6f422017-06-01 13:24:49 +0200738For 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 +0100739
740For appropriate node at class level:
741
742.. code-block:: yaml
Aleš Komáreka3314b22017-04-11 13:46:06 +0200743
Petr Jedinýffbe2082017-03-07 00:56:47 +0100744 opencontrail:
745 ....
746 web:
747 database:
748 port: 9042
749 ....
750
751
Jakub Pavlik9a4de012016-12-14 13:23:55 +0100752RabbitMQ HA hosts
753------------------
754
755.. code-block:: yaml
756
757 opencontrail:
758 config:
759 message_queue:
760 engine: rabbitmq
761 members:
762 - host: 10.0.16.1
763 - host: 10.0.16.2
764 - host: 10.0.16.3
765 port: 5672
766
767.. code-block:: yaml
768
769 database:
770 ....
771 bind:
772 interface: eth0
773 port: 9042
774 rpc_port: 9160
775 ....
776
Jakub Pavlike3590062017-02-20 23:32:57 +0100777DPDK vRouter
778-------------
779
780.. code-block:: yaml
781
782 opencontrail:
783 compute:
784 dpdk:
785 enabled: true
Jakub Pavlik54761d82017-03-08 11:22:37 +0100786 taskset: "0x0000003C00003C"
787 socket_mem: "1024,1024"
Jakub Pavlike3590062017-02-20 23:32:57 +0100788 interface:
789 mac_address: 90:e2:ba:7c:22:e1
790 pci: 0000:81:00.1
791 ...
792
Ales Komarekad46d2e2017-03-09 17:16:38 +0100793Contrail client
794---------------
795
796Basic parameters with identity and host configs
797
Petr Jediný78e6f422017-06-01 13:24:49 +0200798.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100799
800 opencontrail:
801 client:
802 identity:
803 user: admin
804 project: admin
805 password: adminpass
806 host: keystone_host
807 config:
808 host: contrail_api_host
809 port: contrail_api_ort
810
811Enforcing virtual routers
812
Petr Jediný78e6f422017-06-01 13:24:49 +0200813.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100814
815 opencontrail:
816 client:
817 ...
818 virtual_router:
819 cmp01:
820 ip_address: 172.16.0.11
821 dpdk_enabled: True
822 cmp02:
823 ip_address: 172.16.0.12
824 dpdk_enabled: True
825
826Enforcing control nodes
827
Petr Jediný78e6f422017-06-01 13:24:49 +0200828.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100829
830 opencontrail:
831 client:
832 ...
833 bgp_router:
834 ntw01:
835 type: control-node
836 ip_address: 172.16.0.11
837 nwt02:
838 type: control-node
839 ip_address: 172.16.0.12
840 nwt03:
841 type: control-node
842 ip_address: 172.16.0.13
843
844
845Enforcing edge BGP routers
846
Petr Jediný78e6f422017-06-01 13:24:49 +0200847.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100848
849 opencontrail:
850 client:
851 ...
852 bgp_router:
853 mx01:
854 type: router
855 ip_address: 172.16.0.21
856 asn: 64512
857 mx02:
858 type: router
859 ip_address: 172.16.0.22
860 asn: 64512
861
862Enforcing config nodes
863
Petr Jediný78e6f422017-06-01 13:24:49 +0200864.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100865
866 opencontrail:
867 client:
868 ...
869 config_node:
870 ctl01:
871 ip_address: 172.16.0.21
872 ctl02:
873 ip_address: 172.16.0.22
874
875Enforcing database nodes
876
Petr Jediný78e6f422017-06-01 13:24:49 +0200877.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100878
879 opencontrail:
880 client:
881 ...
882 database_node:
883 ntw01:
884 ip_address: 172.16.0.21
885 ntw02:
886 ip_address: 172.16.0.22
887
888Enforcing analytics nodes
889
Petr Jediný78e6f422017-06-01 13:24:49 +0200890.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100891
892 opencontrail:
893 client:
894 ...
895 analytics_node:
896 nal01:
897 ip_address: 172.16.0.31
898 nal02:
899 ip_address: 172.16.0.32
900
Petr Jediný5f3efe32017-05-26 17:55:09 +0200901Enforcing Link Local Services
902
903.. code-block:: yaml
904
905 opencontrail:
906 client:
907 ...
908 linklocal_service:
909 # example with dns name address (only one permited)
910 meta1:
911 lls_ip: 10.0.0.23
912 lls_port: 80
913 ipf_addresses: "meta.example.com"
914 ipf_port: 80
915 # example with multiple ip addresses
916 meta2:
917 lls_ip: 10.0.0.23
918 lls_port: 80
919 ipf_addresses:
920 - 10.10.10.10
921 - 10.20.20.20
922 - 10.30.30.30
923 ipf_port: 80
924 # example with one ip address
925 meta3:
926 lls_ip: 10.0.0.23
927 lls_port: 80
928 ipf_addresses:
929 - 10.10.10.10
930 ipf_port: 80
931 # example with name override
932 lls_meta4:
933 name: meta4
934 lls_ip: 10.0.0.23
935 lls_port: 80
936 ipf_addresses:
937 - 10.10.10.10
938 ipf_port: 80
939
Ales Komarekad46d2e2017-03-09 17:16:38 +0100940
Filip Pytloun27930402015-10-06 16:28:32 +0200941Usage
942=====
943
944Basic installation
Ales Komarekad46d2e2017-03-09 17:16:38 +0100945------------------
Filip Pytloun27930402015-10-06 16:28:32 +0200946
947Add control BGP
Ales Komarekad46d2e2017-03-09 17:16:38 +0100948
949.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200950
951 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
952
Ales Komarekad46d2e2017-03-09 17:16:38 +0100953Install compute node
Filip Pytloun27930402015-10-06 16:28:32 +0200954
Ales Komarekad46d2e2017-03-09 17:16:38 +0100955.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200956
957 yum install contrail-vrouter contrail-openstack-vrouter
958
959 salt-call state.sls nova,opencontrail
960
961Add virtual router
Filip Pytloun27930402015-10-06 16:28:32 +0200962
Ales Komarekad46d2e2017-03-09 17:16:38 +0100963.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200964
965 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
966
967 /etc/sysconfig/network-scripts/ifcfg-bond0 -- comment GATEWAY,NETMASK,IPADDR
968
969 reboot
970
Aleš Komáreka3314b22017-04-11 13:46:06 +0200971Debugging
972---------
Filip Pytloun27930402015-10-06 16:28:32 +0200973
974Display vhost XMPP connection status
975
976You should see the correct controller_ip and state should be established.
977
978 http://<compute-node>:8085/Snh_AgentXmppConnectionStatusReq?
979
980Display vrouter interface status
981
982When vrf_name = ---ERROR--- then something goes wrong
983
984 http://<compute-node>:8085/Snh_ItfReq?name=
985
986Display IF MAP table
987
988Look for neighbours, if VM has 2, it's ok
989
990 http://<control-node>:8083/Snh_IFMapTableShowReq?table_name=
991
992Trace XMPP requests
993
994 http://<compute-node>:8085/Snh_SandeshTraceRequest?x=XmppMessageTrace
995
Filip Pytlounf6b79d42017-02-02 13:02:03 +0100996
997Documentation and Bugs
998======================
999
1000To learn how to install and update salt-formulas, consult the documentation
1001available online at:
1002
1003 http://salt-formulas.readthedocs.io/
1004
1005In the unfortunate event that bugs are discovered, they should be reported to
1006the appropriate issue tracker. Use Github issue tracker for specific salt
1007formula:
1008
1009 https://github.com/salt-formulas/salt-formula-opencontrail/issues
1010
1011For feature requests, bug reports or blueprints affecting entire ecosystem,
1012use Launchpad salt-formulas project:
1013
1014 https://launchpad.net/salt-formulas
1015
1016You can also join salt-formulas-users team and subscribe to mailing list:
1017
1018 https://launchpad.net/~salt-formulas-users
1019
1020Developers wishing to work on the salt-formulas projects should always base
1021their work on master branch and submit pull request against specific formula.
1022
1023 https://github.com/salt-formulas/salt-formula-opencontrail
1024
1025Any questions or feedback is always welcome so feel free to join our IRC
1026channel:
1027
1028 #salt-formulas @ irc.freenode.net