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 .. note:: Please take a look at the :ref:`security_deployment_recommendations`
75 and following sections under :ref:`security_considerations` if you're
76 planning on running OpenDaylight outside of an isolated test lab
79 Install the Karaf features
80 ==========================
81 To install a feature, use the following command, where feature1 is the feature
82 name listed in the table below::
84 feature:install <feature1>
86 You can install multiple features using the following command::
89 feature:install <feature1> <feature2> ... <featureN-name>
91 .. note:: For compatibility reasons, you cannot enable all Karaf features
92 simultaneously. The table below documents feature installation names and
93 known incompatibilities.Compatibility values indicate the following:
95 * **all** - the feature can be run with other features.
96 * **self+all** - the feature can be installed with other features with a value of
97 **all**, but may interact badly with other features that have a value of
98 **self+all**. Not every combination has been tested.
100 Uninstalling features
101 ---------------------
102 To uninstall a feature, you must shut down OpenDaylight, delete the data
103 directory, and start OpenDaylight up again.
105 .. important:: Uninstalling a feature using the Karaf feature:uninstall command
106 is not supported and can cause unexpected and undesirable behavior.
108 Listing available features
109 --------------------------
110 To find the complete list of Karaf features, run the following command::
114 To list the installed Karaf features, run the following command::
118 Features to implement networking functionality provide release notes, which
119 you can find in the :ref:`proj_rel_notes` section.
121 Karaf running on Windows 10
122 ---------------------------
124 Windows 10 cannot be identify by Karaf (equinox).
125 Issue occurs during installation of karaf features e.g.::
127 opendaylight-user@root>feature:install odl-restconf
128 Error executing command: Can't install feature odl-restconf/0.0.0:
129 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
133 org.osgi.framework.os.name = Win32
137 etc/system.properties
139 The workaround and further info are in this thread:
140 http://stackoverflow.com/questions/35679852/karaf-exception-is-thrown-while-installing-org-fusesource-leveldbjni
143 Karaf OpenDaylight Features
144 ===========================
146 .. list-table:: Karaf OpenDaylight features
151 - Feature Description
156 - Enables authentication with support for federation using Apache Shiro
161 - Provides support for Border Gateway Protocol (including Link-State
162 Distribution) as a source of L3 topology information
167 - Provides support for BGP Monitoring Protocol as a monitoring station
172 - Device Identification and Driver Management
177 - Provides interfaces for streaming analytics
182 - Provides an intuitive graphical user interface for OpenDaylight
185 * - Fabric as a Service (Faas)
186 - Creates a common abstraction layer on top of a physical network so
187 northbound APIs or services can be more easiliy mapped onto the
188 physical network as a concrete device configuration
192 * - Group Based Policy
193 - Enables Endpoint Registry and Policy Repository REST APIs and associated
194 functionality for Group Based Policy with the default renderer for
196 - odl-groupbasedpolicy-ofoverlay
199 * - GBP User Interface
200 - Enables a web-based user interface for Group Based Policy
201 - odl-groupbasedpolicyi-ui
204 * - GBP FaaS renderer
205 - Enables the Fabric as a Service renderer for Group Based Policy
206 - odl-groupbasedpolicy-faas
209 * - GBP Neutron Support
210 - Provides OpenStack Neutron support using Group Based Policy
211 - odl-groupbasedpolicy-neutronmapper
215 - Provides L2 (Ethernet) forwarding across connected OpenFlow switches and
216 support for host tracking
217 - odl-l2switch-switch-ui
221 - Enables support for the Link Aggregation Control Protocol
225 * - LISP Flow Mapping
226 - Enables LISP control plane services including the mapping system
227 services REST API and LISP protocol SB plugin
228 - odl-lispflowmapping-msmr
232 - Provides intent mappings and implementation with CLI for legacy devices
233 - odl-nemo-cli-renderer
237 - Provides intent mapping and implementation for OpenFlow devices
238 - odl-nemo-openflow-renderer
242 - Enables portabilty and cooperation inside a single network by using a
243 client/server multi-controller architecture
248 - Provides support to manage NETCONF-enabled devices over SSH
249 - odl-netconf-connector-ssh
253 - Enables remote configuration of OpenFlow datapaths
257 * - OVSDB OpenStack Neutron
258 - OpenStack Network Virtualization using OpenDaylight's OVSDB support
259 - odl-ovsdb-openstack
263 - OVSDB MDSAL southbound plugin for Open_vSwitch schema
264 - odl-ovsdb-southbound-impl-ui
267 * - OVSDB HWVTEP Southbound
268 - OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema
269 - odl-ovsdb-hwvtepsouthbound-ui
272 * - OVSDB NetVirt SFC
273 - OVSDB NetVirt support for SFC
277 * - OpenFlow Flow Programming
278 - Enables discovery and control of OpenFlow switches and the topoology
280 - odl-openflowplugin-flow-services-ui
283 * - OpenFlow Table Type Patterns
284 - Allows OpenFlow Table Type Patterns to be manually associated with
290 - Enables flow-based dynamic QoS management of CMTS use in the DOCSIS
291 infrastructure and a policy server
292 - odl-packetcable-policy-server
296 - Enables support for PCEP
300 * - RESTCONF API Support
301 - Enables REST API access to the MD-SAL including the data store
306 - Provides support for interaction and sharing of state between
307 (non-clustered) OpenDaylight instances
308 - odl-sdninterfaceapp-all
312 - Supports implementing Service Function Chaining using Layer 2
318 - Supports implementing Service Function Chaining using LISP
323 - Supports implementing Service Function Chaining using REST CRUD
324 operations on network elements
329 - Supports implementing Service Function Chaining using VXLAN tunnels
334 - Enables monitoring and control of network elements via SNMP
339 - Enables OpenFlow-like control of network elements via SNMP
343 * - SSSD Federated Authentication
344 - Enables support for federated authentication using SSSD
345 - odl-aaa-sssd-plugin
348 * - Secure tag eXchange Protocol (SXP)
349 - Enables distribution of shared tags to network devices
353 * - Time Series Data Repository (TSDR)
354 - Enables support for collecting, storing and querying time series data.
355 TSDR supports the following collection data:
357 * OpenFlow statistics
360 * OpenFlow Controller metrics
365 TSDR supports the following data stores:
371 TSDR supports the default OpenDaylight RESTCONF and API interfaces and an
372 ElasticSearch interface for all data stores.
373 - odl-tsdr-core, odl-tsdr-hsqldb
376 * - TSDR Data Collectors
377 - TSDR collector features include support for collecting the following
380 * OpenFlow statistics
383 * OpenFlow Controller metrics
388 - * odl-tsdr-openflow-statistics-collector
389 * odl-tsdr-netflow-statistics-collector
390 * odl-tsdr-sflow-statistics-collector
391 * odl-tsdr-controller-metrics-collector
392 * odl-tsdr-snmp-data-collector
393 * odl-tsdr-syslog-collector
394 * odl-tsdr-restconf-collector
398 - TSDR enables support for the following data stores:
408 - TSDR supports the default OpenDaylight RESTCONF and ODL API interfaces
409 for queries to all data stores. It also supports an integrated ElasticSearch query.
410 - odl-tsdr-elasticsearch
413 * - Topology Processing Framework
414 - Enables merged and filtered views of network topologies
415 - odl-topoprocessing-framework
418 * - Unified Secure Channel (USC)
419 - Enables support for secure, remote connections to network devices
424 - Enables Virtual Tenant Network support
425 - odl-vtn-manager-rest
428 * - VTN Manager Neutron
429 - Enables OpenStack Neutron support of VTN Manager
430 - odl-vtn-manager-neutron
434 Other OpenDaylight features
435 ===========================
437 .. list-table:: Other OpenDaylight features
442 - Feature Description
447 - Provides OpFlex agent for Open vSwitch to enforce network policy, such
448 as GBP, for locally-attached virtual machines or containers
453 - Provides a developer toolkit for designing network-centric topology
459 Experimental OpenDaylight Features
460 ==================================
461 The following functionality is labeled as experimental in this OpenDaylight
462 release and should be used accordingly. In general, it is not supposed to be
463 used in production unless its limitations are well understood by those
466 .. list-table:: Other features
471 - Feature Description
476 - Enables configurable role-based authorization
481 - Enables support for Application-Layer Traffic Optimization
486 - Enables control of supported wireless APs
490 * - Clustered Authentication
491 - Enables the use of the MD-SAL clustered data store for the
492 authentication database
493 - odl-aaa-authn-mdsal-cluster
496 * - Controller Shield
497 - Provides controller security information to northbound applications
501 * - GBP IO Visor Renderer
502 - Provides support for rendering Group Based Policy to IO Visor
503 - odl-groupbasedpolicy-iovisor
506 * - Internet of Things Data Management
507 - Enables support for the oneM2M specification
511 * - LISP Flow Mapping OpenStack Network Virtualization
512 - Experimental support for OpenStack Neutron virtualization
513 - odl-lispflowmapping-neutron
516 * - Network Intent Composition (NIC)
517 - Provides abstraction layer for communcating network intents (including
518 a distributed intent mapping service REST API) using either Hazelcast
519 or the MD-SAL as the backing data store for intents
520 - odl-nic-core-hazelcast or odl-nic-core-mdsal
524 - Provides a Karaf CLI extension for intent CRUD operations and mapping
530 - Virtual Tenant Network renderer for Network Intent Composition
531 - odl-nic-renderer-vtn
535 - Group Based Policy renderer for Network Intent Composition
536 - odl-nic-renderer-gbp
539 * - NIC OpenFlow renderer
540 - OpenFlow renderer for Network Intent Composition
541 - odl-nic-renderer-of
544 * - NIC NEMO renderer
545 - NEtwork MOdeling renderer for Network Intent Composition
546 - odl-nic-renderer-nemo
554 * - Secure Networking Bootstrap
555 - Defines a SNBi domain and associated white lists of devices to be
556 accommodated to the domain
561 - Initiates the development of data models and APIs to facilitate
562 configuration and provisioning connectivity services for OpenDaylight
563 applications and services
568 - Allows subscriptions to be placed on targeted subtrees of YANG
569 datastores residing on remote devices to obviate the need for
570 OpenDaylight to make continuous fetch requests
574 Install support for REST APIs
575 =============================
576 Most components that offer REST APIs will automatically load the RESTCONF API
577 Support component, but if for whatever reason they seem to be missing, install
578 the “odl-restconf” feature to activate this support.