3 Installing OpenDaylight
4 =======================
6 You complete the following steps to install your networking environment, with
7 specific instructions provided in the subsections below.
9 Before detailing the instructions for these, we address the following:
10 Java Runtime Environment (JRE) and operating system information
12 Known issues and limitations
18 Downloading and installing OpenDaylight
19 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21 The default distribution can be found on the OpenDaylight software
22 download page: http://www.opendaylight.org/software/downloads
24 The Karaf distribution has no features enabled by default. However, all
25 of the features are available to be installed.
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.
31 Running the karaf distribution
32 """"""""""""""""""""""""""""""
34 To run the Karaf distribution:
36 #. Unzip the zip file.
37 #. Navigate to the directory.
38 #. run ``./bin/karaf``.
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/
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
60 ________ ________ .__ .__ .__ __
61 \_____ \ ______ ____ ____ \______ \ _____ ___.__.\| \| \|__\| ____ \| \|___/ \|_
62 / \| \\____ \_/ __ \ / \ \| \| \\__ \< \| \|\| \| \| \|/ ___\\| \| \ __\
63 / \| \ \|_> > ___/\| \| \\| ` \/ __ \\___ \|\| \|_\| / /_/ > Y \ \|
64 \_______ / __/ \___ >___\| /_______ (____ / ____\|\|____/__\___ /\|___\| /__\|
65 \/\|__\| \/ \/ \/ \/\/ /_____/ \/
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.
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::
78 feature:install <feature1>
80 You can install multiple features using the following command::
83 feature:install <feature1> <feature2> ... <featureN-name>
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:
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.
96 To uninstall a feature, you must shut down OpenDaylight, delete the data
97 directory, and start OpenDaylight up again.
99 .. important:: Uninstalling a feature using the Karaf feature:uninstall command
100 is not supported and can cause unexpected and undesirable behavior.
102 Listing available features
103 ^^^^^^^^^^^^^^^^^^^^^^^^^^
104 To find the complete list of Karaf features, run the following command::
108 To list the installed Karaf features, run the following command::
112 Features to implement networking functionality provide release notes, which
113 you can find in the :ref:`proj_rel_notes` section.
118 .. list-table:: Beryllium features
123 - Feature Description
128 - Enables authentication with support for federation using Apache Shiro
133 - Provides support for Border Gateway Protocol (including Link-State
134 Distribution) as a source of L3 topology information
139 - Provides support for BGP Monitoring Protocol as a monitoring station
144 - Device Identification and Driver Management
149 - Provides interfaces for streaming analytics
154 - Provides an intuitive graphical user interface for OpenDaylight
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
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
168 - odl-groupbasedpolicy-ofoverlay
171 * - GBP User Interface
172 - Enables a web-based user interface for Group Based Policy
173 - odl-groupbasedpolicyi-ui
176 * - GBP FaaS renderer
177 - Enables the Fabric as a Service renderer for Group Based Policy
178 - odl-groupbasedpolicy-faas
181 * - GBP Neutron Support
182 - Provides OpenStack Neutron support using Group Based Policy
183 - odl-groupbasedpolicy-neutronmapper
187 - Provides L2 (Ethernet) forwarding across connected OpenFlow switches and
188 support for host tracking
189 - odl-l2switch-switch-ui
193 - Enables support for the Link Aggregation Control Protocol
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
204 - Provides intent mappings and implementation with CLI for legacy devices
205 - odl-nemo-cli-renderer
209 - Provides intent mapping and implementation for OpenFlow devices
210 - odl-nemo-openflow-renderer
214 - Enables portabilty and cooperation inside a single network by using a
215 client/server multi-controller architecture
220 - Provides support to manage NETCONF-enabled devices over SSH
221 - odl-netconf-connector-ssh
225 - Enables remote configuration of OpenFlow datapaths
229 * - OVSDB OpenStack Neutron
230 - OpenStack Network Virtualization using OpenDaylight's OVSDB support
231 - odl-ovsdb-openstack
235 - OVSDB MDSAL southbound plugin for Open_vSwitch schema
236 - odl-ovsdb-southbound-impl-ui
239 * - OVSDB HWVTEP Southbound
240 - OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema
241 - odl-ovsdb-hwvtepsouthbound-ui
244 * - OVSDB NetVirt SFC
245 - OVSDB NetVirt support for SFC
249 * - OpenFlow Flow Programming
250 - Enables discovery and control of OpenFlow switches and the topoology
252 - odl-openflowplugin-flow-services-ui
255 * - OpenFlow Table Type Patterns
256 - Allows OpenFlow Table Type Patterns to be manually associated with
262 - Enables flow-based dynamic QoS management of CMTS use in the DOCSIS
263 infrastructure and a policy server
264 - odl-packetcable-policy-server
268 - Enables support for PCEP
272 * - RESTCONF API Support
273 - Enables REST API access to the MD-SAL including the data store
278 - Provides support for interaction and sharing of state between
279 (non-clustered) OpenDaylight instances
280 - odl-sdninterfaceapp-all
284 - Supports implementing Service Function Chaining using Layer 2
290 - Supports implementing Service Function Chaining using LISP
295 - Supports implementing Service Function Chaining using REST CRUD
296 operations on network elements
301 - Supports implementing Service Function Chaining using VXLAN tunnels
306 - Enables monitoring and control of network elements via SNMP
311 - Enables OpenFlow-like control of network elements via SNMP
315 * - SSSD Federated Authentication
316 - Enables support for federated authentication using SSSD
317 - odl-aaa-sssd-plugin
320 * - Secure tag eXchange Protocol (SXP)
321 - Enables distribution of shared tags to network devices
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
329 - odl-tsdr-hsqldb-all
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
344 - Enables support for TSDR data stores including HSQLDB, HBase, and
346 - odl-tsdr-hsqldb, odl-tsdr-hbase, or odl-tsdr-cassandra
349 * - Topology Processing Framework
350 - Enables merged and filtered views of network topologies
351 - odl-topoprocessing-framework
354 * - Unified Secure Channel (USC)
355 - Enables support for secure, remote connections to network devices
360 - Enables support for OpenStack VPNaaS
361 - odl-vpnservice-core
365 - Enables Virtual Tenant Network support
366 - odl-vtn-manager-rest
369 * - VTN Manager Neutron
370 - Enables OpenStack Neutron support of VTN Manager
371 - odl-vtn-manager-neutron
375 Other Beryllium features
376 ------------------------
378 .. list-table:: Other Beryllium features
383 - Feature Description
388 - Provides OpFlex agent for Open vSwitch to enforce network policy, such
389 as GBP, for locally-attached virtual machines or containers
394 - Provides a developer toolkit for designing network-centric topology
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
407 .. list-table:: Other Beryllium features
412 - Feature Description
417 - Enables configurable role-based authorization
422 - Enables support for Application-Layer Traffic Optimization
427 - Enables control of supported wireless APs
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
437 * - Controller Shield
438 - Provides controller security information to northbound applications
442 * - GBP IO Visor Renderer
443 - Provides support for rendering Group Based Policy to IO Visor
444 - odl-groupbasedpolicy-iovisor
447 * - Internet of Things Data Management
448 - Enables support for the oneM2M specification
452 * - LISP Flow Mapping OpenStack Network Virtualization
453 - Experimental support for OpenStack Neutron virtualization
454 - odl-lispflowmapping-neutron
457 * - Messaging4Transport
458 - Introduces an AMQP Northbound to MD-SAL
459 - odl-messaging4transport
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
470 - Provides a Karaf CLI extension for intent CRUD operations and mapping
476 - Virtual Tenant Network renderer for Network Intent Composition
477 - odl-nic-renderer-vtn
481 - Group Based Policy renderer for Network Intent Composition
482 - odl-nic-renderer-gbp
485 * - NIC OpenFlow renderer
486 - OpenFlow renderer for Network Intent Composition
487 - odl-nic-renderer-of
490 * - NIC NEMO renderer
491 - NEtwork MOdeling renderer for Network Intent Composition
492 - odl-nic-renderer-nemo
500 * - Secure Networking Bootstrap
501 - Defines a SNBi domain and associated white lists of devices to be
502 accommodated to the domain
507 - Initiates the development of data models and APIs to facilitate
508 configuration and provisioning connectivity services for OpenDaylight
509 applications and services
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
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.