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