3 ***********************
4 Installing OpenDaylight
5 ***********************
7 You complete the following steps to install your networking environment, with
8 specific instructions provided in the subsections below.
10 Before detailing the instructions for these, we address the following:
11 Java Runtime Environment (JRE) and operating system information
13 Known issues and limitations
19 Downloading and installing OpenDaylight
20 ---------------------------------------
22 The default distribution can be found on the OpenDaylight software
23 download page: http://www.opendaylight.org/software/downloads
25 The Karaf distribution has no features enabled by default. However, all
26 of the features are available to be installed.
28 .. note:: For compatibility reasons, you cannot enable all the features
29 simultaneously. We try to document known incompatibilities in
30 the `Install the Karaf features`_ section below.
32 Running the karaf distribution
33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
35 To run the Karaf distribution:
37 #. Unzip the zip file.
38 #. Navigate to the directory.
39 #. run ``./bin/karaf``.
43 $ ls distribution-karaf-0.5.x-Boron.zip
44 distribution-karaf-0.5.x-Boron.zip
45 $ unzip distribution-karaf-0.5.x-Boron.zip
46 Archive: distribution-karaf-0.5.x-Boron.zip
47 creating: distribution-karaf-0.5.x-Boron/
48 creating: distribution-karaf-0.5.x-Boron/configuration/
49 creating: distribution-karaf-0.5.x-Boron/data/
50 creating: distribution-karaf-0.5.x-Boron/data/tmp/
51 creating: distribution-karaf-0.5.x-Boron/deploy/
52 creating: distribution-karaf-0.5.x-Boron/etc/
53 creating: distribution-karaf-0.5.x-Boron/externalapps/
55 inflating: distribution-karaf-0.5.x-Boron/bin/start.bat
56 inflating: distribution-karaf-0.5.x-Boron/bin/status.bat
57 inflating: distribution-karaf-0.5.x-Boron/bin/stop.bat
58 $ cd distribution-karaf-0.5.x-Boron
61 ________ ________ .__ .__ .__ __
62 \_____ \ ______ ____ ____ \______ \ _____ ___.__.\| \| \|__\| ____ \| \|___/ \|_
63 / \| \\____ \_/ __ \ / \ \| \| \\__ \< \| \|\| \| \| \|/ ___\\| \| \ __\
64 / \| \ \|_> > ___/\| \| \\| ` \/ __ \\___ \|\| \|_\| / /_/ > Y \ \|
65 \_______ / __/ \___ >___\| /_______ (____ / ____\|\|____/__\___ /\|___\| /__\|
66 \/\|__\| \/ \/ \/ \/\/ /_____/ \/
70 * Press ``tab`` for a list of available commands
71 * Typing ``[cmd] --help`` will show help for a specific command.
72 * Press ``ctrl-d`` or type ``system:shutdown`` or ``logout`` to shutdown OpenDaylight.
74 Install the Karaf features
75 ==========================
76 To install a feature, use the following command, where feature1 is the feature
77 name listed in the table below::
79 feature:install <feature1>
81 You can install multiple features using the following command::
84 feature:install <feature1> <feature2> ... <featureN-name>
86 .. note:: For compatibility reasons, you cannot enable all Karaf features
87 simultaneously. The table below documents feature installation names and
88 known incompatibilities.Compatibility values indicate the following:
90 * **all** - the feature can be run with other features.
91 * **self+all** - the feature can be installed with other features with a value of
92 **all**, but may interact badly with other features that have a value of
93 **self+all**. Not every combination has been tested.
97 To uninstall a feature, you must shut down OpenDaylight, delete the data
98 directory, and start OpenDaylight up again.
100 .. important:: Uninstalling a feature using the Karaf feature:uninstall command
101 is not supported and can cause unexpected and undesirable behavior.
103 Listing available features
104 --------------------------
105 To find the complete list of Karaf features, run the following command::
109 To list the installed Karaf features, run the following command::
113 Features to implement networking functionality provide release notes, which
114 you can find in the :ref:`proj_rel_notes` section.
116 Karaf running on Windows 10
117 ---------------------------
119 Windows 10 cannot be identify by Karaf (equinox).
120 Issue occurs during installation of karaf features e.g.::
122 opendaylight-user@root>feature:install odl-restconf
123 Error executing command: Can't install feature odl-restconf/0.0.0:
124 Could not start bundle mvn:org.fusesource.leveldbjni/leveldbjni-all/1.8-odl in feature(s) odl-akka-leveldb-0.7: The bundle "org.fusesource.leveldbjni.leveldbjni-all_1.8.0 [300]" could not be resolved. Reason: No match found for native code: META-INF/native/windows32/leveldbjni.dll; processor=x86; osname=Win32, META-INF/native/windows64/leveldbjni.dll; processor=x86-64; osname=Win32, META-INF/native/osx/libleveldbjni.jnilib; processor=x86; osname=macosx, META-INF/native/osx/libleveldbjni.jnilib; processor=x86-64; osname=macosx, META-INF/native/linux32/libleveldbjni.so; processor=x86; osname=Linux, META-INF/native/linux64/libleveldbjni.so; processor=x86-64; osname=Linux, META-INF/native/sunos64/amd64/libleveldbjni.so; processor=x86-64; osname=SunOS, META-INF/native/sunos64/sparcv9/libleveldbjni.so; processor=sparcv9; osname=SunOS
128 org.osgi.framework.os.name = Win32
132 etc/system.properties
134 The workaround and further info are in this thread:
135 http://stackoverflow.com/questions/35679852/karaf-exception-is-thrown-while-installing-org-fusesource-leveldbjni
138 Karaf OpenDaylight Features
139 ===========================
141 .. list-table:: Karaf OpenDaylight features
146 - Feature Description
151 - Enables authentication with support for federation using Apache Shiro
156 - Provides support for Border Gateway Protocol (including Link-State
157 Distribution) as a source of L3 topology information
162 - Provides support for BGP Monitoring Protocol as a monitoring station
167 - Device Identification and Driver Management
172 - Provides interfaces for streaming analytics
177 - Provides an intuitive graphical user interface for OpenDaylight
180 * - Fabric as a Service (Faas)
181 - Creates a common abstraction layer on top of a physical network so
182 northbound APIs or services can be more easiliy mapped onto the
183 physical network as a concrete device configuration
187 * - Group Based Policy
188 - Enables Endpoint Registry and Policy Repository REST APIs and associated
189 functionality for Group Based Policy with the default renderer for
191 - odl-groupbasedpolicy-ofoverlay
194 * - GBP User Interface
195 - Enables a web-based user interface for Group Based Policy
196 - odl-groupbasedpolicyi-ui
199 * - GBP FaaS renderer
200 - Enables the Fabric as a Service renderer for Group Based Policy
201 - odl-groupbasedpolicy-faas
204 * - GBP Neutron Support
205 - Provides OpenStack Neutron support using Group Based Policy
206 - odl-groupbasedpolicy-neutronmapper
210 - Provides L2 (Ethernet) forwarding across connected OpenFlow switches and
211 support for host tracking
212 - odl-l2switch-switch-ui
216 - Enables support for the Link Aggregation Control Protocol
220 * - LISP Flow Mapping
221 - Enables LISP control plane services including the mapping system
222 services REST API and LISP protocol SB plugin
223 - odl-lispflowmapping-msmr
227 - Provides intent mappings and implementation with CLI for legacy devices
228 - odl-nemo-cli-renderer
232 - Provides intent mapping and implementation for OpenFlow devices
233 - odl-nemo-openflow-renderer
237 - Enables portabilty and cooperation inside a single network by using a
238 client/server multi-controller architecture
243 - Provides support to manage NETCONF-enabled devices over SSH
244 - odl-netconf-connector-ssh
248 - Enables remote configuration of OpenFlow datapaths
252 * - OVSDB OpenStack Neutron
253 - OpenStack Network Virtualization using OpenDaylight's OVSDB support
254 - odl-ovsdb-openstack
258 - OVSDB MDSAL southbound plugin for Open_vSwitch schema
259 - odl-ovsdb-southbound-impl-ui
262 * - OVSDB HWVTEP Southbound
263 - OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema
264 - odl-ovsdb-hwvtepsouthbound-ui
267 * - OVSDB NetVirt SFC
268 - OVSDB NetVirt support for SFC
272 * - OpenFlow Flow Programming
273 - Enables discovery and control of OpenFlow switches and the topoology
275 - odl-openflowplugin-flow-services-ui
278 * - OpenFlow Table Type Patterns
279 - Allows OpenFlow Table Type Patterns to be manually associated with
285 - Enables flow-based dynamic QoS management of CMTS use in the DOCSIS
286 infrastructure and a policy server
287 - odl-packetcable-policy-server
291 - Enables support for PCEP
295 * - RESTCONF API Support
296 - Enables REST API access to the MD-SAL including the data store
301 - Provides support for interaction and sharing of state between
302 (non-clustered) OpenDaylight instances
303 - odl-sdninterfaceapp-all
307 - Supports implementing Service Function Chaining using Layer 2
313 - Supports implementing Service Function Chaining using LISP
318 - Supports implementing Service Function Chaining using REST CRUD
319 operations on network elements
324 - Supports implementing Service Function Chaining using VXLAN tunnels
329 - Enables monitoring and control of network elements via SNMP
334 - Enables OpenFlow-like control of network elements via SNMP
338 * - SSSD Federated Authentication
339 - Enables support for federated authentication using SSSD
340 - odl-aaa-sssd-plugin
343 * - Secure tag eXchange Protocol (SXP)
344 - Enables distribution of shared tags to network devices
348 * - Time Series Data Repository (TSDR)
349 - Enables support for collecting, storing and querying time series data.
350 TSDR supports the following collection data:
352 * OpenFlow statistics
355 * OpenFlow Controller metrics
360 TSDR supports the following data stores:
366 TSDR supports the default OpenDaylight RESTCONF and API interfaces and an
367 ElasticSearch interface for all data stores.
368 - odl-tsdr-core, odl-tsdr-hsqldb
371 * - TSDR Data Collectors
372 - TSDR collector features include support for collecting the following
375 * OpenFlow statistics
378 * OpenFlow Controller metrics
383 - * odl-tsdr-openflow-statistics-collector
384 * odl-tsdr-netflow-statistics-collector
385 * odl-tsdr-sflow-statistics-collector
386 * odl-tsdr-controller-metrics-collector
387 * odl-tsdr-snmp-data-collector
388 * odl-tsdr-syslog-collector
389 * odl-tsdr-restconf-collector
393 - TSDR enables support for the following data stores:
403 - TSDR supports the default OpenDaylight RESTCONF and ODL API interfaces
404 for queries to all data stores. It also supports an integrated ElasticSearch query.
405 - odl-tsdr-elasticsearch
408 * - Topology Processing Framework
409 - Enables merged and filtered views of network topologies
410 - odl-topoprocessing-framework
413 * - Unified Secure Channel (USC)
414 - Enables support for secure, remote connections to network devices
419 - Enables Virtual Tenant Network support
420 - odl-vtn-manager-rest
423 * - VTN Manager Neutron
424 - Enables OpenStack Neutron support of VTN Manager
425 - odl-vtn-manager-neutron
429 Other OpenDaylight features
430 ===========================
432 .. list-table:: Other OpenDaylight features
437 - Feature Description
442 - Provides OpFlex agent for Open vSwitch to enforce network policy, such
443 as GBP, for locally-attached virtual machines or containers
448 - Provides a developer toolkit for designing network-centric topology
454 Experimental OpenDaylight Features
455 ==================================
456 The following functionality is labeled as experimental in this OpenDaylight
457 release and should be used accordingly. In general, it is not supposed to be
458 used in production unless its limitations are well understood by those
461 .. list-table:: Other features
466 - Feature Description
471 - Enables configurable role-based authorization
476 - Enables support for Application-Layer Traffic Optimization
481 - Enables control of supported wireless APs
485 * - Clustered Authentication
486 - Enables the use of the MD-SAL clustered data store for the
487 authentication database
488 - odl-aaa-authn-mdsal-cluster
491 * - Controller Shield
492 - Provides controller security information to northbound applications
496 * - GBP IO Visor Renderer
497 - Provides support for rendering Group Based Policy to IO Visor
498 - odl-groupbasedpolicy-iovisor
501 * - Internet of Things Data Management
502 - Enables support for the oneM2M specification
506 * - LISP Flow Mapping OpenStack Network Virtualization
507 - Experimental support for OpenStack Neutron virtualization
508 - odl-lispflowmapping-neutron
511 * - Network Intent Composition (NIC)
512 - Provides abstraction layer for communcating network intents (including
513 a distributed intent mapping service REST API) using either Hazelcast
514 or the MD-SAL as the backing data store for intents
515 - odl-nic-core-hazelcast or odl-nic-core-mdsal
519 - Provides a Karaf CLI extension for intent CRUD operations and mapping
525 - Virtual Tenant Network renderer for Network Intent Composition
526 - odl-nic-renderer-vtn
530 - Group Based Policy renderer for Network Intent Composition
531 - odl-nic-renderer-gbp
534 * - NIC OpenFlow renderer
535 - OpenFlow renderer for Network Intent Composition
536 - odl-nic-renderer-of
539 * - NIC NEMO renderer
540 - NEtwork MOdeling renderer for Network Intent Composition
541 - odl-nic-renderer-nemo
549 * - Secure Networking Bootstrap
550 - Defines a SNBi domain and associated white lists of devices to be
551 accommodated to the domain
556 - Initiates the development of data models and APIs to facilitate
557 configuration and provisioning connectivity services for OpenDaylight
558 applications and services
563 - Allows subscriptions to be placed on targeted subtrees of YANG
564 datastores residing on remote devices to obviate the need for
565 OpenDaylight to make continuous fetch requests
569 Install support for REST APIs
570 =============================
571 Most components that offer REST APIs will automatically load the RESTCONF API
572 Support component, but if for whatever reason they seem to be missing, install
573 the “odl-restconf” feature to activate this support.