blob: 561e7854fe51054f42954c57fc479a8174eefbb3 [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
Jakub Pavlik735005f2016-02-26 15:54:53 +0100579Keystone v3
Aleš Komáreka3314b22017-04-11 13:46:06 +0200580-----------
Jakub Pavlik735005f2016-02-26 15:54:53 +0100581
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200582To enable support for keystone v3 in opencontrail, there must be defined
583version for config and web role.
Jakub Pavlik735005f2016-02-26 15:54:53 +0100584
585.. code-block:: yaml
586
587 opencontrail:
588 config:
589 version: 2.2
590 enabled: true
591 ...
592 identity:
593 engine: keystone
594 version: '3'
595 ...
596
597 opencontrail:
598 web:
599 version: 2.2
600 enabled: true
601 ...
602 identity:
603 engine: keystone
604 version: '3'
605 ...
606
marco10cc2212016-04-03 14:21:54 +0200607Without Keystone
608----------------
609
610.. code-block:: yaml
611
612 opencontrail:
613 ...
614 common:
615 ...
616 identity:
617 engine: none
618 token: none
619 password: none
620 ...
621 config:
622 ...
623 identity:
624 engine: none
625 password: none
626 token: none
627 ...
628 web:
629 ...
630 identity:
631 engine: none
632 password: none
633 token: none
634 ...
marcof5461712016-04-04 20:49:36 +0200635
Aleš Komáreka3314b22017-04-11 13:46:06 +0200636Kubernetes support
637------------------
638
marcof5461712016-04-04 20:49:36 +0200639Kubernetes vrouter nodes
marcof5461712016-04-04 20:49:36 +0200640
641Vrouter configuration on a kubernetes node(s)
642
643.. code-block:: yaml
644
645 opencontrail:
646 ...
647 compute:
648 engine: kubernetes
649 ...
650
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100651vRouter with separated control plane
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100652
653Separate XMPP traffic from dataplane interface.
654
655.. code-block:: yaml
656
657 opencontrail:
658 compute:
659 bind:
660 address: 172.16.0.50
661 ...
662
Petr Jediný439fab32017-07-10 14:33:09 +0200663Override RPF default in Contrail API
664------------------------------------
665
666From MCP1.1 with OpenContrail >= 3.1.1 you can override RPF default for newly
667created virtual networks. This can be useful for usecases like running
668Calico and K8S in overlay. The `override_rpf_default_by` has valid values
669`disable`, `enable`. If not defined, the configuration fallbacks to Contrail
670default - currently `enable`.
671
672.. code-block:: yaml
673
674 opencontrail:
675 ...
676 config:
677 override_rpf_default_by: 'disable'
678 ...
679
680
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200681Disable Contrail API authentication
682-----------------------------------
683
Petr Jediný78e6f422017-06-01 13:24:49 +0200684Contrail version must >= 3.0. It is useful especially for Keystone v3.
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200685
686.. code-block:: yaml
687
688 opencontrail:
689 ...
690 config:
691 multi_tenancy: false
692 ...
693
Petr Jediný78e6f422017-06-01 13:24:49 +0200694Switch from on demand to periodic keystone sync
695-----------------------------------------------
696
697This can be useful when you want to sync projects from OpenStack to Contrail
698automatically. The period of sync is 60s.
699
700.. code-block:: yaml
701
702 opencontrail:
703 ...
704 config:
705 identity:
706 sync_on_demand: false
707 ...
708
marco2502e052016-05-31 22:53:54 +0200709Cassandra listen interface
Petr Jedinýffbe2082017-03-07 00:56:47 +0100710--------------------------
marco2502e052016-05-31 22:53:54 +0200711
712.. code-block:: yaml
713
714 database:
715 ....
716 bind:
717 interface: eth0
718 port: 9042
719 rpc_port: 9160
720 ....
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200721
Petr Jedinýffbe2082017-03-07 00:56:47 +0100722OpenContrail WebUI version >= 3.1.1
723-----------------------------------
Petr Jediný78e6f422017-06-01 13:24:49 +0200724For 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 +0100725
726For appropriate node at class level:
727
728.. code-block:: yaml
Aleš Komáreka3314b22017-04-11 13:46:06 +0200729
Petr Jedinýffbe2082017-03-07 00:56:47 +0100730 opencontrail:
731 ....
732 web:
733 database:
734 port: 9042
735 ....
736
737
Jakub Pavlik9a4de012016-12-14 13:23:55 +0100738RabbitMQ HA hosts
739------------------
740
741.. code-block:: yaml
742
743 opencontrail:
744 config:
745 message_queue:
746 engine: rabbitmq
747 members:
748 - host: 10.0.16.1
749 - host: 10.0.16.2
750 - host: 10.0.16.3
751 port: 5672
752
753.. code-block:: yaml
754
755 database:
756 ....
757 bind:
758 interface: eth0
759 port: 9042
760 rpc_port: 9160
761 ....
762
Jakub Pavlike3590062017-02-20 23:32:57 +0100763DPDK vRouter
764-------------
765
766.. code-block:: yaml
767
768 opencontrail:
769 compute:
770 dpdk:
771 enabled: true
Jakub Pavlik54761d82017-03-08 11:22:37 +0100772 taskset: "0x0000003C00003C"
773 socket_mem: "1024,1024"
Jakub Pavlike3590062017-02-20 23:32:57 +0100774 interface:
775 mac_address: 90:e2:ba:7c:22:e1
776 pci: 0000:81:00.1
777 ...
778
Ales Komarekad46d2e2017-03-09 17:16:38 +0100779Contrail client
780---------------
781
782Basic parameters with identity and host configs
783
Petr Jediný78e6f422017-06-01 13:24:49 +0200784.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100785
786 opencontrail:
787 client:
788 identity:
789 user: admin
790 project: admin
791 password: adminpass
792 host: keystone_host
793 config:
794 host: contrail_api_host
795 port: contrail_api_ort
796
797Enforcing virtual routers
798
Petr Jediný78e6f422017-06-01 13:24:49 +0200799.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100800
801 opencontrail:
802 client:
803 ...
804 virtual_router:
805 cmp01:
806 ip_address: 172.16.0.11
807 dpdk_enabled: True
808 cmp02:
809 ip_address: 172.16.0.12
810 dpdk_enabled: True
811
812Enforcing control nodes
813
Petr Jediný78e6f422017-06-01 13:24:49 +0200814.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100815
816 opencontrail:
817 client:
818 ...
819 bgp_router:
820 ntw01:
821 type: control-node
822 ip_address: 172.16.0.11
823 nwt02:
824 type: control-node
825 ip_address: 172.16.0.12
826 nwt03:
827 type: control-node
828 ip_address: 172.16.0.13
829
830
831Enforcing edge BGP routers
832
Petr Jediný78e6f422017-06-01 13:24:49 +0200833.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100834
835 opencontrail:
836 client:
837 ...
838 bgp_router:
839 mx01:
840 type: router
841 ip_address: 172.16.0.21
842 asn: 64512
843 mx02:
844 type: router
845 ip_address: 172.16.0.22
846 asn: 64512
847
848Enforcing config nodes
849
Petr Jediný78e6f422017-06-01 13:24:49 +0200850.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100851
852 opencontrail:
853 client:
854 ...
855 config_node:
856 ctl01:
857 ip_address: 172.16.0.21
858 ctl02:
859 ip_address: 172.16.0.22
860
861Enforcing database 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 database_node:
869 ntw01:
870 ip_address: 172.16.0.21
871 ntw02:
872 ip_address: 172.16.0.22
873
874Enforcing analytics 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 analytics_node:
882 nal01:
883 ip_address: 172.16.0.31
884 nal02:
885 ip_address: 172.16.0.32
886
Petr Jediný5f3efe32017-05-26 17:55:09 +0200887Enforcing Link Local Services
888
889.. code-block:: yaml
890
891 opencontrail:
892 client:
893 ...
894 linklocal_service:
895 # example with dns name address (only one permited)
896 meta1:
897 lls_ip: 10.0.0.23
898 lls_port: 80
899 ipf_addresses: "meta.example.com"
900 ipf_port: 80
901 # example with multiple ip addresses
902 meta2:
903 lls_ip: 10.0.0.23
904 lls_port: 80
905 ipf_addresses:
906 - 10.10.10.10
907 - 10.20.20.20
908 - 10.30.30.30
909 ipf_port: 80
910 # example with one ip address
911 meta3:
912 lls_ip: 10.0.0.23
913 lls_port: 80
914 ipf_addresses:
915 - 10.10.10.10
916 ipf_port: 80
917 # example with name override
918 lls_meta4:
919 name: meta4
920 lls_ip: 10.0.0.23
921 lls_port: 80
922 ipf_addresses:
923 - 10.10.10.10
924 ipf_port: 80
925
Ales Komarekad46d2e2017-03-09 17:16:38 +0100926
Filip Pytloun27930402015-10-06 16:28:32 +0200927Usage
928=====
929
930Basic installation
Ales Komarekad46d2e2017-03-09 17:16:38 +0100931------------------
Filip Pytloun27930402015-10-06 16:28:32 +0200932
933Add control BGP
Ales Komarekad46d2e2017-03-09 17:16:38 +0100934
935.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200936
937 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
938
Ales Komarekad46d2e2017-03-09 17:16:38 +0100939Install compute node
Filip Pytloun27930402015-10-06 16:28:32 +0200940
Ales Komarekad46d2e2017-03-09 17:16:38 +0100941.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200942
943 yum install contrail-vrouter contrail-openstack-vrouter
944
945 salt-call state.sls nova,opencontrail
946
947Add virtual router
Filip Pytloun27930402015-10-06 16:28:32 +0200948
Ales Komarekad46d2e2017-03-09 17:16:38 +0100949.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200950
951 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
952
953 /etc/sysconfig/network-scripts/ifcfg-bond0 -- comment GATEWAY,NETMASK,IPADDR
954
955 reboot
956
Aleš Komáreka3314b22017-04-11 13:46:06 +0200957Debugging
958---------
Filip Pytloun27930402015-10-06 16:28:32 +0200959
960Display vhost XMPP connection status
961
962You should see the correct controller_ip and state should be established.
963
964 http://<compute-node>:8085/Snh_AgentXmppConnectionStatusReq?
965
966Display vrouter interface status
967
968When vrf_name = ---ERROR--- then something goes wrong
969
970 http://<compute-node>:8085/Snh_ItfReq?name=
971
972Display IF MAP table
973
974Look for neighbours, if VM has 2, it's ok
975
976 http://<control-node>:8083/Snh_IFMapTableShowReq?table_name=
977
978Trace XMPP requests
979
980 http://<compute-node>:8085/Snh_SandeshTraceRequest?x=XmppMessageTrace
981
Filip Pytlounf6b79d42017-02-02 13:02:03 +0100982
983Documentation and Bugs
984======================
985
986To learn how to install and update salt-formulas, consult the documentation
987available online at:
988
989 http://salt-formulas.readthedocs.io/
990
991In the unfortunate event that bugs are discovered, they should be reported to
992the appropriate issue tracker. Use Github issue tracker for specific salt
993formula:
994
995 https://github.com/salt-formulas/salt-formula-opencontrail/issues
996
997For feature requests, bug reports or blueprints affecting entire ecosystem,
998use Launchpad salt-formulas project:
999
1000 https://launchpad.net/salt-formulas
1001
1002You can also join salt-formulas-users team and subscribe to mailing list:
1003
1004 https://launchpad.net/~salt-formulas-users
1005
1006Developers wishing to work on the salt-formulas projects should always base
1007their work on master branch and submit pull request against specific formula.
1008
1009 https://github.com/salt-formulas/salt-formula-opencontrail
1010
1011Any questions or feedback is always welcome so feel free to join our IRC
1012channel:
1013
1014 #salt-formulas @ irc.freenode.net