e62e3195494a5e00830d28aa4818359fd439d366
[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, odl-tsdr-syslog-collector,
337         odl-tsdr-controller-metrics-collector
338       - all
339
340
341 .. image:: images/be-features-3.png
342
343 Other Beryllium features
344 ------------------------
345 .. image:: images/be-nonfeatures.png
346
347 Experimental Beryllium Features
348 -------------------------------
349 The following functionality is labeled as experimental in OpenDaylight
350 Beryllium and should be used accordingly. In general, it is not supposed to be
351 used in production unless its limitations are well understood by those
352 deploying it.
353
354 .. image:: images/be-exp-features-1.png
355
356 .. image:: images/be-exp-features-2.png
357
358 Install support for REST APIs
359 -----------------------------
360 Most components that offer REST APIs will automatically load the RESTCONF API
361 Support component, but if for whatever reason they seem to be missing, install
362 the “odl-restconf” feature to activate this support.
363
364
365 Install the DLUX interface
366 --------------------------
367 OpenDaylight’s DLUX web interface draws information from topology and host
368 databases to display information about the topology of the network, flow
369 statistics, and host locations.
370
371 To integrate with OpenDaylight you must enable the DLUX Karaf feature. Each
372 feature can be enabled or disabled separately. Ensure that you have created a
373 topology and enabled the MD-SAL feature in the Karaf distribution before you
374 use DLUX for network management. For more information about enabling the Karaf
375 features for DLUX, refer to Enable_DLUX_Feature_.
376
377 MD-SAL clustering
378 -----------------
379 In the Beryllium release and newer, the odl-mdsal-broker installs MD-SAL
380 clustering automatically.
381
382 .. _Enable_DLUX_Feature: https://wiki.opendaylight.org/view/DLUX:Beryllium_System_Test_Plan#Enabling_The_Feature
383
384
385 .. _AAA: https://wiki.opendaylight.org/view/AAA:Beryllium_Release_Notes
386 .. _ALTO: https://wiki.opendaylight.org/view/ALTO:Beryllium:Release_Notes
387 .. _BGPCEP: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Beryllium_Release_Notes
388 .. _CAPWAP: https://wiki.opendaylight.org/view/CAPWAP:Beryllium:Release_Notes
389 .. _Controller: https://wiki.opendaylight.org/view/OpenDaylight_Controller:Beryllium:Release_Notes
390 .. _DIDM: https://wiki.opendaylight.org/view/DIDM:_Beryllium_Release_Notes
391 .. _DLUX: https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Beryllium:Release_Notes
392 .. _FaaS: https://wiki.opendaylight.org/view/FaaS:Beryllium_Release_Notes
393 .. _Group_Based_Policy: https://wiki.opendaylight.org/view/Group_Based_Policy_(GBP)/Releases/Beryllium:Beryllium_Release_Notes
394 .. _IoTDM: https://wiki.opendaylight.org/view/Iotdm:Beryllium_Release_Notes
395 .. _L2_Switch: https://wiki.opendaylight.org/view/L2_Switch:Beryllium:Release_Notes
396 .. _LACP: https://wiki.opendaylight.org/view/LACP:Beryllium:Release_Notes
397 .. _LISP_Flow_Mapping: https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:Beryllium_Release_Notes
398 .. _MDSAL: https://wiki.opendaylight.org/view/MD-SAL:Beryllium:Release_Notes
399 .. _NEMO: https://wiki.opendaylight.org/view/NEMO:Beryllium:Release_Notes
400 .. _NETCONF: https://wiki.opendaylight.org/view/OpenDaylight_NETCONF:Beryllium_Release_Notes
401 .. _NetIDE: https://wiki.opendaylight.org/view/NetIDE:Release_Notes
402 .. _NeXt: https://wiki.opendaylight.org/view/NeXt:Beryllium_Release_Notes
403 .. _NIC: https://wiki.opendaylight.org/view/Network_Intent_Composition:Release_Notes
404 .. _Neutron_Northbound: https://wiki.opendaylight.org/view/NeutronNorthbound:Beryllium:Release_Notes
405 .. _OF-Config: https://wiki.opendaylight.org/view/OF-CONFIG:Beryllium:Release_Notes
406 .. _OpFlex: https://wiki.opendaylight.org/view/OpFlex:Beryllium_Release_Notes
407 .. _OpenFlow_Plugin: https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Beryllium_Release_Notes
408 .. _OpenFlow_Protocol_Library: https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Release_Notes:Beryllium_Release_Notes
409 .. _OVSDB_Netvirt: https://wiki.opendaylight.org/view/OpenDaylight_OVSDB:Beryllium_Release_Notes
410 .. _Packet_Cable: https://wiki.opendaylight.org/view/PacketCablePCMM:BerylliumReleaseNotes
411 .. _SDN_Interface_Application: https://wiki.opendaylight.org/view/ODL-SDNi:Beryllium_Release_Notes
412 .. _SNBI: https://wiki.opendaylight.org/view/SNBI_Berrylium_Release_Notes
413 .. _SNMP4SDN: https://wiki.opendaylight.org/view/SNMP4SDN:Beryllium_Release_Note
414 .. _SNMP_Plugin: https://wiki.opendaylight.org/view/SNMP_Plugin:SNMP_Plugin:Beryllium_Release_Notes
415 .. _SXP: https://wiki.opendaylight.org/view/SXP:Beryllium:Release_Notes
416 .. _SFC: https://wiki.opendaylight.org/view/Service_Function_Chaining:Beryllium_Release_Notes
417 .. _TCPMD5: https://wiki.opendaylight.org/view/TCPMD5:Beryllium_Release_Notes
418 .. _TSDR: https://wiki.opendaylight.org/view/TSDR:Beryllium:Release_Notes
419 .. _TTP: https://wiki.opendaylight.org/view/Table_Type_Patterns/Beryllium/Release_Notes
420 .. _Topology_Processing_Framework: https://wiki.opendaylight.org/view/Topology_Processing_Framework:BERYLLIUM_Release_Notes
421 .. _USC: https://wiki.opendaylight.org/view/USC:Beryllium:Release_Notes
422 .. _VPN_Service: https://wiki.opendaylight.org/view/Vpnservice:Beryllium_Release_Notes
423 .. _VTN: https://wiki.opendaylight.org/view/VTN:Beryllium:Release_Notes
424 .. _YANG_Tools: https://wiki.opendaylight.org/view/YANG_Tools:Beryllium:Release_Notes