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