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