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