blob: 945aed304456d10444102f0f9077062e270fe0c6 [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
Andreyeff77ac2017-08-25 12:14:06 -0500593Set up metadata secret for the Vrouter
594-------------------------------------
595
596In order to get cloud-init within the instance to properly fetch
597instance metadata, metadata_proxy_secret in the Vrouter agent config
598should match the value in nova.conf. The administrator should define
599it in the pillar:
600
601.. code-block:: yaml
602
603 opencontrail:
604 compute:
605 metadata:
606 secret: opencontrail
607
Jakub Pavlik735005f2016-02-26 15:54:53 +0100608Keystone v3
Aleš Komáreka3314b22017-04-11 13:46:06 +0200609-----------
Jakub Pavlik735005f2016-02-26 15:54:53 +0100610
Jakub Pavlik01fe5372016-05-20 11:23:28 +0200611To enable support for keystone v3 in opencontrail, there must be defined
612version for config and web role.
Jakub Pavlik735005f2016-02-26 15:54:53 +0100613
614.. code-block:: yaml
615
616 opencontrail:
617 config:
618 version: 2.2
619 enabled: true
620 ...
621 identity:
622 engine: keystone
623 version: '3'
624 ...
625
626 opencontrail:
627 web:
628 version: 2.2
629 enabled: true
630 ...
631 identity:
632 engine: keystone
633 version: '3'
634 ...
635
marco10cc2212016-04-03 14:21:54 +0200636Without Keystone
637----------------
638
639.. code-block:: yaml
640
641 opencontrail:
642 ...
643 common:
644 ...
645 identity:
646 engine: none
647 token: none
648 password: none
649 ...
650 config:
651 ...
652 identity:
653 engine: none
654 password: none
655 token: none
656 ...
657 web:
658 ...
659 identity:
660 engine: none
661 password: none
662 token: none
663 ...
marcof5461712016-04-04 20:49:36 +0200664
Aleš Komáreka3314b22017-04-11 13:46:06 +0200665Kubernetes support
666------------------
667
marcof5461712016-04-04 20:49:36 +0200668Kubernetes vrouter nodes
marcof5461712016-04-04 20:49:36 +0200669
670Vrouter configuration on a kubernetes node(s)
671
672.. code-block:: yaml
673
674 opencontrail:
675 ...
676 compute:
677 engine: kubernetes
678 ...
679
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100680vRouter with separated control plane
Jakub Pavlik0d1f67e2016-11-30 10:04:13 +0100681
682Separate XMPP traffic from dataplane interface.
683
684.. code-block:: yaml
685
686 opencontrail:
687 compute:
688 bind:
689 address: 172.16.0.50
690 ...
691
Petr Jediný439fab32017-07-10 14:33:09 +0200692Override RPF default in Contrail API
693------------------------------------
694
695From MCP1.1 with OpenContrail >= 3.1.1 you can override RPF default for newly
696created virtual networks. This can be useful for usecases like running
697Calico and K8S in overlay. The `override_rpf_default_by` has valid values
698`disable`, `enable`. If not defined, the configuration fallbacks to Contrail
699default - currently `enable`.
700
701.. code-block:: yaml
702
703 opencontrail:
704 ...
705 config:
706 override_rpf_default_by: 'disable'
707 ...
708
709
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200710Disable Contrail API authentication
711-----------------------------------
712
Petr Jediný78e6f422017-06-01 13:24:49 +0200713Contrail version must >= 3.0. It is useful especially for Keystone v3.
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200714
715.. code-block:: yaml
716
717 opencontrail:
718 ...
719 config:
720 multi_tenancy: false
721 ...
722
Petr Jediný78e6f422017-06-01 13:24:49 +0200723Switch from on demand to periodic keystone sync
724-----------------------------------------------
725
726This can be useful when you want to sync projects from OpenStack to Contrail
727automatically. The period of sync is 60s.
728
729.. code-block:: yaml
730
731 opencontrail:
732 ...
733 config:
734 identity:
735 sync_on_demand: false
736 ...
737
marco2502e052016-05-31 22:53:54 +0200738Cassandra listen interface
Petr Jedinýffbe2082017-03-07 00:56:47 +0100739--------------------------
marco2502e052016-05-31 22:53:54 +0200740
741.. code-block:: yaml
742
743 database:
744 ....
745 bind:
746 interface: eth0
747 port: 9042
748 rpc_port: 9160
749 ....
Jakub Pavlik6d90f362016-04-19 20:34:37 +0200750
Petr Jedinýffbe2082017-03-07 00:56:47 +0100751OpenContrail WebUI version >= 3.1.1
752-----------------------------------
Petr Jediný78e6f422017-06-01 13:24:49 +0200753For 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 +0100754
755For appropriate node at class level:
756
757.. code-block:: yaml
Aleš Komáreka3314b22017-04-11 13:46:06 +0200758
Petr Jedinýffbe2082017-03-07 00:56:47 +0100759 opencontrail:
760 ....
761 web:
762 database:
763 port: 9042
764 ....
765
766
Jakub Pavlik9a4de012016-12-14 13:23:55 +0100767RabbitMQ HA hosts
768------------------
769
770.. code-block:: yaml
771
772 opencontrail:
773 config:
774 message_queue:
775 engine: rabbitmq
776 members:
777 - host: 10.0.16.1
778 - host: 10.0.16.2
779 - host: 10.0.16.3
780 port: 5672
781
782.. code-block:: yaml
783
784 database:
785 ....
786 bind:
787 interface: eth0
788 port: 9042
789 rpc_port: 9160
790 ....
791
Jakub Pavlike3590062017-02-20 23:32:57 +0100792DPDK vRouter
793-------------
794
795.. code-block:: yaml
796
797 opencontrail:
798 compute:
799 dpdk:
800 enabled: true
Jakub Pavlik54761d82017-03-08 11:22:37 +0100801 taskset: "0x0000003C00003C"
802 socket_mem: "1024,1024"
Jakub Pavlike3590062017-02-20 23:32:57 +0100803 interface:
804 mac_address: 90:e2:ba:7c:22:e1
805 pci: 0000:81:00.1
806 ...
807
Ales Komarekad46d2e2017-03-09 17:16:38 +0100808Contrail client
809---------------
810
811Basic parameters with identity and host configs
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 identity:
818 user: admin
819 project: admin
820 password: adminpass
821 host: keystone_host
822 config:
823 host: contrail_api_host
824 port: contrail_api_ort
825
826Enforcing virtual routers
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 virtual_router:
834 cmp01:
835 ip_address: 172.16.0.11
836 dpdk_enabled: True
837 cmp02:
838 ip_address: 172.16.0.12
839 dpdk_enabled: True
840
841Enforcing control nodes
842
Petr Jediný78e6f422017-06-01 13:24:49 +0200843.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100844
845 opencontrail:
846 client:
847 ...
848 bgp_router:
849 ntw01:
850 type: control-node
851 ip_address: 172.16.0.11
852 nwt02:
853 type: control-node
854 ip_address: 172.16.0.12
855 nwt03:
856 type: control-node
857 ip_address: 172.16.0.13
858
859
860Enforcing edge BGP routers
861
Petr Jediný78e6f422017-06-01 13:24:49 +0200862.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100863
864 opencontrail:
865 client:
866 ...
867 bgp_router:
868 mx01:
869 type: router
870 ip_address: 172.16.0.21
871 asn: 64512
872 mx02:
873 type: router
874 ip_address: 172.16.0.22
875 asn: 64512
876
877Enforcing config nodes
878
Petr Jediný78e6f422017-06-01 13:24:49 +0200879.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100880
881 opencontrail:
882 client:
883 ...
884 config_node:
885 ctl01:
886 ip_address: 172.16.0.21
887 ctl02:
888 ip_address: 172.16.0.22
889
890Enforcing database nodes
891
Petr Jediný78e6f422017-06-01 13:24:49 +0200892.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100893
894 opencontrail:
895 client:
896 ...
897 database_node:
898 ntw01:
899 ip_address: 172.16.0.21
900 ntw02:
901 ip_address: 172.16.0.22
902
903Enforcing analytics nodes
904
Petr Jediný78e6f422017-06-01 13:24:49 +0200905.. code-block:: yaml
Ales Komarekad46d2e2017-03-09 17:16:38 +0100906
907 opencontrail:
908 client:
909 ...
910 analytics_node:
911 nal01:
912 ip_address: 172.16.0.31
913 nal02:
914 ip_address: 172.16.0.32
915
Petr Jediný5f3efe32017-05-26 17:55:09 +0200916Enforcing Link Local Services
917
918.. code-block:: yaml
919
920 opencontrail:
921 client:
922 ...
923 linklocal_service:
924 # example with dns name address (only one permited)
925 meta1:
926 lls_ip: 10.0.0.23
927 lls_port: 80
928 ipf_addresses: "meta.example.com"
929 ipf_port: 80
930 # example with multiple ip addresses
931 meta2:
932 lls_ip: 10.0.0.23
933 lls_port: 80
934 ipf_addresses:
935 - 10.10.10.10
936 - 10.20.20.20
937 - 10.30.30.30
938 ipf_port: 80
939 # example with one ip address
940 meta3:
941 lls_ip: 10.0.0.23
942 lls_port: 80
943 ipf_addresses:
944 - 10.10.10.10
945 ipf_port: 80
946 # example with name override
947 lls_meta4:
948 name: meta4
949 lls_ip: 10.0.0.23
950 lls_port: 80
951 ipf_addresses:
952 - 10.10.10.10
953 ipf_port: 80
954
Ales Komarekad46d2e2017-03-09 17:16:38 +0100955
Filip Pytloun27930402015-10-06 16:28:32 +0200956Usage
957=====
958
959Basic installation
Ales Komarekad46d2e2017-03-09 17:16:38 +0100960------------------
Filip Pytloun27930402015-10-06 16:28:32 +0200961
962Add control BGP
Ales Komarekad46d2e2017-03-09 17:16:38 +0100963
964.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200965
966 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
967
Ales Komarekad46d2e2017-03-09 17:16:38 +0100968Install compute node
Filip Pytloun27930402015-10-06 16:28:32 +0200969
Ales Komarekad46d2e2017-03-09 17:16:38 +0100970.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200971
972 yum install contrail-vrouter contrail-openstack-vrouter
973
974 salt-call state.sls nova,opencontrail
975
976Add virtual router
Filip Pytloun27930402015-10-06 16:28:32 +0200977
Ales Komarekad46d2e2017-03-09 17:16:38 +0100978.. code-block:: bash
Filip Pytloun27930402015-10-06 16:28:32 +0200979
980 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
981
982 /etc/sysconfig/network-scripts/ifcfg-bond0 -- comment GATEWAY,NETMASK,IPADDR
983
984 reboot
985
Aleš Komáreka3314b22017-04-11 13:46:06 +0200986Debugging
987---------
Filip Pytloun27930402015-10-06 16:28:32 +0200988
989Display vhost XMPP connection status
990
991You should see the correct controller_ip and state should be established.
992
993 http://<compute-node>:8085/Snh_AgentXmppConnectionStatusReq?
994
995Display vrouter interface status
996
997When vrf_name = ---ERROR--- then something goes wrong
998
999 http://<compute-node>:8085/Snh_ItfReq?name=
1000
1001Display IF MAP table
1002
1003Look for neighbours, if VM has 2, it's ok
1004
1005 http://<control-node>:8083/Snh_IFMapTableShowReq?table_name=
1006
1007Trace XMPP requests
1008
1009 http://<compute-node>:8085/Snh_SandeshTraceRequest?x=XmppMessageTrace
1010
Filip Pytlounf6b79d42017-02-02 13:02:03 +01001011
1012Documentation and Bugs
1013======================
1014
1015To learn how to install and update salt-formulas, consult the documentation
1016available online at:
1017
1018 http://salt-formulas.readthedocs.io/
1019
1020In the unfortunate event that bugs are discovered, they should be reported to
1021the appropriate issue tracker. Use Github issue tracker for specific salt
1022formula:
1023
1024 https://github.com/salt-formulas/salt-formula-opencontrail/issues
1025
1026For feature requests, bug reports or blueprints affecting entire ecosystem,
1027use Launchpad salt-formulas project:
1028
1029 https://launchpad.net/salt-formulas
1030
1031You can also join salt-formulas-users team and subscribe to mailing list:
1032
1033 https://launchpad.net/~salt-formulas-users
1034
1035Developers wishing to work on the salt-formulas projects should always base
1036their work on master branch and submit pull request against specific formula.
1037
1038 https://github.com/salt-formulas/salt-formula-opencontrail
1039
1040Any questions or feedback is always welcome so feel free to join our IRC
1041channel:
1042
1043 #salt-formulas @ irc.freenode.net