1f46d0d8b252a32a0ed73ac47bfe65dd0889efd1
[docs.git] / docs / getting-started-guide / installing_opendaylight.rst
1 Installing OpenDaylight
2 =======================
3
4 You complete the following steps to install your networking environment, with
5 specific instructions provided in the subsections below.
6
7 Before detailing the instructions for these, we address the following:
8 Java Runtime Environment (JRE) and operating system information
9 Target environment
10 Known issues and limitations
11
12
13 Install OpenDaylight
14 --------------------
15
16 Install the Karaf features
17 --------------------------
18 To install a feature, use the following command, where feature1 is the feature
19 name listed in the table below::
20
21     feature:install <feature1>
22
23 You can install multiple features using the following command::
24
25
26     feature:install <feature1> <feature2> ... <featureN-name>
27
28 .. note:: For compatibility reasons, you cannot enable all Karaf features
29    simultaneously. The table below documents feature installation names and
30    known incompatibilities.Compatibility values indicate the following:
31
32 * *all* - the feature can be run with other features.
33 * *self+all* - the feature can be installed with other features with a value of
34   *all*, but may interact badly with other features that have a value of
35   *self+all*. Not every combination has been tested.
36
37 Uninstalling features
38 ^^^^^^^^^^^^^^^^^^^^^
39 To uninstall a feature, you must shut down OpenDaylight, delete the data
40 directory, and start OpenDaylight up again.
41
42 .. important:: Uninstalling a feature using the Karaf feature:uninstall command
43    is not supported and can cause unexpected and undesirable behavior.
44
45 Listing available features
46 ^^^^^^^^^^^^^^^^^^^^^^^^^^
47 To find the complete list of Karaf features, run the following command::
48
49     feature:list
50
51 To list the installed Karaf features, run the following command::
52
53     feature:list -i
54
55 Features to implement networking functionality provide release notes you can
56 access on the OpenDaylight Wiki: https://wiki.opendaylight.org/view/Project_list
57
58 * Authentication, Authorization and Accounting (AAA_)
59 * ALTO_
60 * BGPCEP_
61 * Controller_
62 * Control And Provisioning of Wireless Access Points (CAPWAP_)
63 * Identification and Driver Management (DIDM_)
64 * DLUX_
65 * FaaS_
66 * Group_Based_Policy_ (GPB)
67 * Internet of Things Data Management (IoTDM_)
68 * L2_Switch_
69 * Link Aggregation Control Protocol (LACP_)
70 * LISP_Flow_Mapping_
71 * MDSAL_
72 * NEMO_
73 * NETCONF_
74 * NetIDE_
75 * NeXt_
76 * Network Intent Composition (NIC_)
77 * Neutron_Northbound_
78 * OF-Config_
79 * OpFlex_
80 * OpenFlow_Plugin_
81 * OpenFlow_Protocol_Library_
82 * OVSDB_Netvirt_
83 * Packet_Cable_ / PCMM
84 * SDN_Interface_Application_
85 * Secure Network Bootstrapping Infrastructure (SNBI_)
86 * SNMP4SDN_
87 * SNMP_Plugin_
88 * Secure tag eXchange Protocol (SXP_)
89 * Service Function Chaining (SFC_)
90 * TCPMD5_
91 * Time Series Data Repository (TSDR_)
92 * Table Type Patterns (TTP_)
93 * Topology_Processing_Framework_
94 * Unified Secure Channel (USC_)
95 * VPN_Service_
96 * Virtual Tenant Network (VTN_)
97 * YANG_Tools_
98
99 Projects without Release Notes
100 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
101 The following projects participated in Beryllium, but intentionally do not have
102 release notes:
103
104 * The Documentation Project produced this and the other downloadable
105   documentation.
106 * The Integration Group hosted the OpenDaylight-wide tests and main release
107   distribution.
108 * Controller Core Functionality Tutorials provided a single test suite
109   (dsbenchmark) that was used as part of integration testing
110 * Release Engineering used autorelease to build the Beryllium release artifacts,
111   including the main release download.
112
113 Beryllium features
114 ------------------
115
116 .. list-table:: Beryllium features
117     :widths: 10 25 10 5
118     :header-rows: 1
119
120     * - Feature Name
121       - Feature Description
122       - Karaf feature name
123       - Compatibility
124
125     * - Authentication
126       - Enables authentication with support for federation using Apache Shiro
127       - odl-aaa-shiro
128       - all
129
130     * - BGP
131       - Provides support for Border Gateway Protocol (including Link-State
132         Distribution) as a source of L3 topology information
133       - odl-bgpcep-bgp
134       - all
135
136     * - BMP
137       - Provides support for BGP Monitoring Protocol as a monitoring station
138       - odl-bgpcep-bmp
139       - all
140
141     * - DIDM
142       - Device Identification and Driver Management
143       - odl-didm-all
144       - all
145
146     * - Centinel
147       - Provides interfaces for streaming analytics
148       - odl-centinel-all
149       - all
150
151     * - DLUX
152       - Provides an intuitive graphical user interface for OpenDaylight
153       - odl-dlux-all
154       - all
155     * - Fabric as a Service (Faas)
156       - Creates a common abstraction layer on top of a physical network so
157         northbound APIs or services can be more easiliy mapped onto the
158         physical network as a concrete device configuration
159       - odl-faas-all
160       - all
161
162     * - Group Based Policy
163       - Enables Endpoint Registry and Policy Repository REST APIs and associated
164         functionality for Group Based Policy with the default renderer for
165         OpenFlow renderers
166       - odl-groupbasedpolicy-ofoverlay
167       - all
168
169     * - GBP User Interface
170       - Enables a web-based user interface for Group Based Policy
171       - odl-groupbasedpolicyi-ui
172       - all
173
174     * - GBP FaaS renderer
175       - Enables the Fabric as a Service renderer for Group Based Policy
176       - odl-groupbasedpolicy-faas
177       - self+all
178
179     * - GBP Neutron Support
180       - Provides OpenStack Neutron support using Group Based Policy
181       - odl-groupbasedpolicy-neutronmapper
182       - all
183
184     * - L2 Switch
185       - Provides L2 (Ethernet) forwarding across connected OpenFlow switches and
186         support for host tracking
187       - odl-l2switch-switch-ui
188       - self+all
189
190     * - LACP
191       - Enables support for the Link Aggregation Control Protocol
192       - odl-lacp-ui
193       - self+all
194
195     * - LISP Flow Mapping
196       - Enables LISP control plane services including the mapping system
197         services REST API and LISP protocol SB plugin
198       - odl-lispflowmapping-msmr
199       - all
200
201     * - NEMO CLI
202       - Provides intent mappings and implementation with CLI for legacy devices
203       - odl-nemo-cli-renderer
204       - all
205
206     * - NEMO OpenFlow
207       - Provides intent mapping and implementation for OpenFlow devices
208       - odl-nemo-openflow-renderer
209       - self+all
210
211     * - NetIDE
212       - Enables portabilty and cooperation inside a single network by using a
213         client/server multi-controller architecture
214       - odl-netide-rest
215       - all
216
217     * - NETCONF over SSH
218       - Provides support to manage NETCONF-enabled devices over SSH
219       - odl-netconf-connector-ssh
220       - all
221
222     * - OF-CONFIG
223       - Enables remote configuration of OpenFlow datapaths
224       - odl-of-config-rest
225       - all
226
227     * - OVSDB OpenStack Neutron
228       - OpenStack Network Virtualization using OpenDaylight's OVSDB support
229       - odl-ovsdb-openstack
230       - all
231
232     * - OVSDB Southbound
233       - OVSDB MDSAL southbound plugin for Open_vSwitch schema
234       - odl-ovsdb-southbound-impl-ui
235       - all
236
237     * - OVSDB HWVTEP Southbound
238       - OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema
239       - odl-ovsdb-hwvtepsouthbound-ui
240       - all
241
242     * - OVSDB NetVirt SFC
243       - OVSDB NetVirt support for SFC
244       - odl-ovsdb-sfc-ui
245       - all
246
247     * - OpenFlow Flow Programming
248       - Enables discovery and control of OpenFlow switches and the topoology
249         between them
250       - odl-openflowplugin-flow-services-ui
251       - all
252
253     * - OpenFlow Table Type Patterns
254       - Allows OpenFlow Table Type Patterns to be manually associated with
255         network elements
256       - odl-ttp-all
257       - all
258
259     * - Packetcable PCMM
260       - Enables flow-based dynamic QoS management of CMTS use in the DOCSIS
261         infrastructure and a policy server
262       - odl-packetcable-policy-server
263       - self+all
264
265     * - PCEP
266       - Enables support for PCEP
267       - odl-bgpcep-pcep
268       - all
269
270     * - RESTCONF API Support
271       - Enables REST API access to the MD-SAL including the data store
272       - odl-restconf
273       - all
274
275     * - SDNinterface
276       - Provides support for interaction and sharing of state between
277         (non-clustered) OpenDaylight instances
278       - odl-sdninterfaceapp-all
279       - all
280
281     * - SFC over L2
282       - Supports implementing Service Function Chaining using Layer 2
283         forwarding
284       - odl-sfcofl2
285       - self+all
286
287     * - SFC over LISP
288       - Supports implementing Service Function Chaining using LISP
289       - odl-sfclisp
290       - all
291
292     * - SFC over REST
293       - Supports implementing Service Function Chaining using REST CRUD
294         operations on network elements
295       - odl-sfc-sb-rest
296       - all
297
298     * - SFC over VXLAN
299       - Supports implementing Service Function Chaining using VXLAN tunnels
300       - odl-sfc-ovs
301       - self+all
302
303     * - SNMP Plugin
304       - Enables monitoring and control of network elements via SNMP
305       - odl-snmp-plugin
306       - all
307
308     * - SNMP4SDN
309       - Enables OpenFlow-like control of network elements via SNMP
310       - odl-snmp4sdn-all
311       - all
312
313     * - SSSD Federated Authentication
314       - Enables support for federated authentication using SSSD
315       - odl-aaa-sssd-plugin
316       - all
317
318     * - Secure tag eXchange Protocol (SXP)
319       - Enables distribution of shared tags to network devices
320       - odl-sxp-controller
321       - all
322
323     * - Time Series Data Repository (TSDR)
324       - Enables support for storing and querying time series data with the
325         default data collector for OpenFlow statistics the default data store
326         for HSQLDB
327       - odl-tsdr-hsqldb-all
328       - all
329
330     * - TSDR Data Collectors
331       - Enables support for various TSDR data sources (collectors) including
332         OpenFlow statistics, NetFlow statistics, NetFlow statistics, SNMP data,
333         Syslog, and OpenDaylight (controller) metrics
334       - odl-tsdr-openflow-statistics-collector,
335         odl-tsdr-netflow-statistics-collector,
336         odl-tsdr-snmp-data-collector,
337         odl-tsdr-syslog-collector,
338         odl-tsdr-controller-metrics-collector
339       - all
340
341     * - TSDR Data Stores
342       - Enables support for TSDR data stores including HSQLDB, HBase, and
343         Cassandra
344       - odl-tsdr-hsqldb, odl-tsdr-hbase, or odl-tsdr-cassandra
345       - all
346
347     * - Topology Processing Framework
348       - Enables merged and filtered views of network topologies
349       - odl-topoprocessing-framework
350       - all
351
352     * - Unified Secure Channel (USC)
353       - Enables support for secure, remote connections to network devices
354       - odl-usc-channel-ui
355       - all
356
357     * - VPN Service
358       - Enables support for OpenStack VPNaaS
359       - odl-vpnservice-core
360       - all
361
362     * - VTN Manager
363       - Enables Virtual Tenant Network support
364       - odl-vtn-manager-rest
365       - self+all
366
367     * - VTN Manager Neutron
368       - Enables OpenStack Neutron support of VTN Manager
369       - odl-vtn-manager-neutron
370       - self+all
371
372
373 Other Beryllium features
374 ------------------------
375
376 .. list-table:: Other Beryllium features
377     :widths: 10 25 10 5
378     :header-rows: 1
379
380     * - Feature Name
381       - Feature Description
382       - Karaf feature name
383       - Compatibility
384
385     * - OpFlex
386       - Provides OpFlex agent for Open vSwitch to enforce network policy, such
387         as GBP, for locally-attached virtual machines or containers
388       - n/a
389       - all
390
391     * - NeXt
392       - Provides a developer toolkit for designing network-centric topology
393         user interfaces
394       - n/a
395       - all
396
397
398 Experimental Beryllium Features
399 -------------------------------
400 The following functionality is labeled as experimental in OpenDaylight
401 Beryllium and should be used accordingly. In general, it is not supposed to be
402 used in production unless its limitations are well understood by those
403 deploying it.
404
405 .. list-table:: Other Beryllium features
406     :widths: 10 25 10 5
407     :header-rows: 1
408
409     * - Feature Name
410       - Feature Description
411       - Karaf feature name
412       - Compatibility
413
414     * - Authorization
415       - Enables configurable role-based authorization
416       - odl-aaa-authz
417       - all
418
419     * - ALTO
420       - Enables support for Application-Layer Traffic Optimization
421       - odl-alto-core
422       - self+all
423
424     * - CAPWAP
425       - Enables control of supported wireless APs
426       - odl-capwap-ac-rest
427       - all
428
429     * - Clustered Authentication
430       - Enables the use of the MD-SAL clustered data store for the
431         authentication database
432       - odl-aaa-authn-mdsal-cluster
433       - all
434
435     * - Controller Shield
436       - Provides controller security information to northbound applications
437       - odl-usecplugin
438       - all
439
440     * - GBP IO Visor Renderer
441       - Provides support for rendering Group Based Policy to IO Visor
442       - odl-groupbasedpolicy-iovisor
443       - all
444
445     * - Internet of Things Data Management
446       - Enables support for the oneM2M specification
447       - odl-iotdm-onem2m
448       - all
449
450     * - LISP Flow Mapping OpenStack Network Virtualization
451       - Experimental support for OpenStack Neutron virtualization
452       - odl-lispflowmapping-neutron
453       - self+all
454
455     * - Messaging4Transport
456       - Introduces an AMQP Northbound to MD-SAL
457       - odl-messaging4transport
458       - all
459
460     * - Network Intent Composition (NIC)
461       - Provides abstraction layer for communcating network intents (including
462         a distributed intent mapping service REST API) using either Hazelcast
463         or the MD-SAL as the backing data store for intents
464       - odl-nic-core-hazelcast or odl-nic-core-mdsal
465       - all
466
467     * - NIC Console
468       - Provides a Karaf CLI extension for intent CRUD operations and mapping
469         service operations
470       - odl-nic-console
471       - all
472
473     * - NIC VTN renderer
474       - Virtual Tenant Network renderer for Network Intent Composition
475       - odl-nic-renderer-vtn
476       - self+all
477
478     * - NIC GBP renderer
479       - Group Based Policy renderer for Network Intent Composition
480       - odl-nic-renderer-gbp
481       - self+all
482
483     * - NIC OpenFlow renderer
484       - OpenFlow renderer for Network Intent Composition
485       - odl-nic-renderer-of
486       - self+all
487
488     * - NIC NEMO renderer
489       - NEtwork MOdeling renderer for Network Intent Composition
490       - odl-nic-renderer-nemo
491       - self+all
492
493     * - OVSDB NetVirt UI
494       - OVSDB DLUX UI
495       - odl-ovsdb-ui
496       - all
497
498     * - Secure Networking Bootstrap
499       - Defines a SNBi domain and associated white lists of devices to be
500         accommodated to the domain
501       - odl-snbi-all
502       - self+all
503
504     * - UNI Manager
505       - Initiates the development of data models and APIs to facilitate
506         configuration and provisioning connectivity services for OpenDaylight
507         applications and services
508       - odl-unimgr
509       - all
510
511     * - YANG PUBSUB
512       - Allows subscriptions to be placed on targeted subtrees of YANG
513         datastores residing on remote devices to obviate the need for
514         OpenDaylight to make continuous fetch requests
515       - odl-yangpush-rest
516       - all
517
518 Install support for REST APIs
519 -----------------------------
520 Most components that offer REST APIs will automatically load the RESTCONF API
521 Support component, but if for whatever reason they seem to be missing, install
522 the “odl-restconf” feature to activate this support.
523
524
525 Install the DLUX interface
526 --------------------------
527 OpenDaylight’s DLUX web interface draws information from topology and host
528 databases to display information about the topology of the network, flow
529 statistics, and host locations.
530
531 To integrate with OpenDaylight you must enable the DLUX Karaf feature. Each
532 feature can be enabled or disabled separately. Ensure that you have created a
533 topology and enabled the MD-SAL feature in the Karaf distribution before you
534 use DLUX for network management. For more information about enabling the Karaf
535 features for DLUX, refer to Enable_DLUX_Feature_.
536
537 MD-SAL clustering
538 -----------------
539 In the Beryllium release and newer, the odl-mdsal-broker installs MD-SAL
540 clustering automatically.
541
542 .. _Enable_DLUX_Feature: https://wiki.opendaylight.org/view/DLUX:Beryllium_System_Test_Plan#Enabling_The_Feature
543
544
545 .. _AAA: https://wiki.opendaylight.org/view/AAA:Beryllium_Release_Notes
546 .. _ALTO: https://wiki.opendaylight.org/view/ALTO:Beryllium:Release_Notes
547 .. _BGPCEP: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Beryllium_Release_Notes
548 .. _CAPWAP: https://wiki.opendaylight.org/view/CAPWAP:Beryllium:Release_Notes
549 .. _Controller: https://wiki.opendaylight.org/view/OpenDaylight_Controller:Beryllium:Release_Notes
550 .. _DIDM: https://wiki.opendaylight.org/view/DIDM:_Beryllium_Release_Notes
551 .. _DLUX: https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Beryllium:Release_Notes
552 .. _FaaS: https://wiki.opendaylight.org/view/FaaS:Beryllium_Release_Notes
553 .. _Group_Based_Policy: https://wiki.opendaylight.org/view/Group_Based_Policy_(GBP)/Releases/Beryllium:Beryllium_Release_Notes
554 .. _IoTDM: https://wiki.opendaylight.org/view/Iotdm:Beryllium_Release_Notes
555 .. _L2_Switch: https://wiki.opendaylight.org/view/L2_Switch:Beryllium:Release_Notes
556 .. _LACP: https://wiki.opendaylight.org/view/LACP:Beryllium:Release_Notes
557 .. _LISP_Flow_Mapping: https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:Beryllium_Release_Notes
558 .. _MDSAL: https://wiki.opendaylight.org/view/MD-SAL:Beryllium:Release_Notes
559 .. _NEMO: https://wiki.opendaylight.org/view/NEMO:Beryllium:Release_Notes
560 .. _NETCONF: https://wiki.opendaylight.org/view/OpenDaylight_NETCONF:Beryllium_Release_Notes
561 .. _NetIDE: https://wiki.opendaylight.org/view/NetIDE:Release_Notes
562 .. _NeXt: https://wiki.opendaylight.org/view/NeXt:Beryllium_Release_Notes
563 .. _NIC: https://wiki.opendaylight.org/view/Network_Intent_Composition:Release_Notes
564 .. _Neutron_Northbound: https://wiki.opendaylight.org/view/NeutronNorthbound:Beryllium:Release_Notes
565 .. _OF-Config: https://wiki.opendaylight.org/view/OF-CONFIG:Beryllium:Release_Notes
566 .. _OpFlex: https://wiki.opendaylight.org/view/OpFlex:Beryllium_Release_Notes
567 .. _OpenFlow_Plugin: https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Beryllium_Release_Notes
568 .. _OpenFlow_Protocol_Library: https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Release_Notes:Beryllium_Release_Notes
569 .. _OVSDB_Netvirt: https://wiki.opendaylight.org/view/OpenDaylight_OVSDB:Beryllium_Release_Notes
570 .. _Packet_Cable: https://wiki.opendaylight.org/view/PacketCablePCMM:BerylliumReleaseNotes
571 .. _SDN_Interface_Application: https://wiki.opendaylight.org/view/ODL-SDNi:Beryllium_Release_Notes
572 .. _SNBI: https://wiki.opendaylight.org/view/SNBI_Berrylium_Release_Notes
573 .. _SNMP4SDN: https://wiki.opendaylight.org/view/SNMP4SDN:Beryllium_Release_Note
574 .. _SNMP_Plugin: https://wiki.opendaylight.org/view/SNMP_Plugin:SNMP_Plugin:Beryllium_Release_Notes
575 .. _SXP: https://wiki.opendaylight.org/view/SXP:Beryllium:Release_Notes
576 .. _SFC: https://wiki.opendaylight.org/view/Service_Function_Chaining:Beryllium_Release_Notes
577 .. _TCPMD5: https://wiki.opendaylight.org/view/TCPMD5:Beryllium_Release_Notes
578 .. _TSDR: https://wiki.opendaylight.org/view/TSDR:Beryllium:Release_Notes
579 .. _TTP: https://wiki.opendaylight.org/view/Table_Type_Patterns/Beryllium/Release_Notes
580 .. _Topology_Processing_Framework: https://wiki.opendaylight.org/view/Topology_Processing_Framework:BERYLLIUM_Release_Notes
581 .. _USC: https://wiki.opendaylight.org/view/USC:Beryllium:Release_Notes
582 .. _VPN_Service: https://wiki.opendaylight.org/view/Vpnservice:Beryllium_Release_Notes
583 .. _VTN: https://wiki.opendaylight.org/view/VTN:Beryllium:Release_Notes
584 .. _YANG_Tools: https://wiki.opendaylight.org/view/YANG_Tools:Beryllium:Release_Notes