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.
115 Karaf running on Windows 10
116 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
118 Windows 10 cannot be identify by Karaf (equinox).
119 Issue occurs during installation of karaf features e.g.::
121 opendaylight-user@root>feature:install odl-restconf
122 Error executing command: Can't install feature odl-restconf/0.0.0:
123 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
127 org.osgi.framework.os.name = Win32
131 etc/system.properties
133 The workaround and further info are in this thread:
134 http://stackoverflow.com/questions/35679852/karaf-exception-is-thrown-while-installing-org-fusesource-leveldbjni
140 .. list-table:: Beryllium features
145 - Feature Description
150 - Enables authentication with support for federation using Apache Shiro
155 - Provides support for Border Gateway Protocol (including Link-State
156 Distribution) as a source of L3 topology information
161 - Provides support for BGP Monitoring Protocol as a monitoring station
166 - Device Identification and Driver Management
171 - Provides interfaces for streaming analytics
176 - Provides an intuitive graphical user interface for OpenDaylight
179 * - Fabric as a Service (Faas)
180 - Creates a common abstraction layer on top of a physical network so
181 northbound APIs or services can be more easiliy mapped onto the
182 physical network as a concrete device configuration
186 * - Group Based Policy
187 - Enables Endpoint Registry and Policy Repository REST APIs and associated
188 functionality for Group Based Policy with the default renderer for
190 - odl-groupbasedpolicy-ofoverlay
193 * - GBP User Interface
194 - Enables a web-based user interface for Group Based Policy
195 - odl-groupbasedpolicyi-ui
198 * - GBP FaaS renderer
199 - Enables the Fabric as a Service renderer for Group Based Policy
200 - odl-groupbasedpolicy-faas
203 * - GBP Neutron Support
204 - Provides OpenStack Neutron support using Group Based Policy
205 - odl-groupbasedpolicy-neutronmapper
209 - Provides L2 (Ethernet) forwarding across connected OpenFlow switches and
210 support for host tracking
211 - odl-l2switch-switch-ui
215 - Enables support for the Link Aggregation Control Protocol
219 * - LISP Flow Mapping
220 - Enables LISP control plane services including the mapping system
221 services REST API and LISP protocol SB plugin
222 - odl-lispflowmapping-msmr
226 - Provides intent mappings and implementation with CLI for legacy devices
227 - odl-nemo-cli-renderer
231 - Provides intent mapping and implementation for OpenFlow devices
232 - odl-nemo-openflow-renderer
236 - Enables portabilty and cooperation inside a single network by using a
237 client/server multi-controller architecture
242 - Provides support to manage NETCONF-enabled devices over SSH
243 - odl-netconf-connector-ssh
247 - Enables remote configuration of OpenFlow datapaths
251 * - OVSDB OpenStack Neutron
252 - OpenStack Network Virtualization using OpenDaylight's OVSDB support
253 - odl-ovsdb-openstack
257 - OVSDB MDSAL southbound plugin for Open_vSwitch schema
258 - odl-ovsdb-southbound-impl-ui
261 * - OVSDB HWVTEP Southbound
262 - OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema
263 - odl-ovsdb-hwvtepsouthbound-ui
266 * - OVSDB NetVirt SFC
267 - OVSDB NetVirt support for SFC
271 * - OpenFlow Flow Programming
272 - Enables discovery and control of OpenFlow switches and the topoology
274 - odl-openflowplugin-flow-services-ui
277 * - OpenFlow Table Type Patterns
278 - Allows OpenFlow Table Type Patterns to be manually associated with
284 - Enables flow-based dynamic QoS management of CMTS use in the DOCSIS
285 infrastructure and a policy server
286 - odl-packetcable-policy-server
290 - Enables support for PCEP
294 * - RESTCONF API Support
295 - Enables REST API access to the MD-SAL including the data store
300 - Provides support for interaction and sharing of state between
301 (non-clustered) OpenDaylight instances
302 - odl-sdninterfaceapp-all
306 - Supports implementing Service Function Chaining using Layer 2
312 - Supports implementing Service Function Chaining using LISP
317 - Supports implementing Service Function Chaining using REST CRUD
318 operations on network elements
323 - Supports implementing Service Function Chaining using VXLAN tunnels
328 - Enables monitoring and control of network elements via SNMP
333 - Enables OpenFlow-like control of network elements via SNMP
337 * - SSSD Federated Authentication
338 - Enables support for federated authentication using SSSD
339 - odl-aaa-sssd-plugin
342 * - Secure tag eXchange Protocol (SXP)
343 - Enables distribution of shared tags to network devices
347 * - Time Series Data Repository (TSDR)
348 - Enables support for storing and querying time series data with the
349 default data collector for OpenFlow statistics the default data store
351 - odl-tsdr-hsqldb-all
354 * - TSDR Data Collectors
355 - Enables support for various TSDR data sources (collectors) including
356 OpenFlow statistics, NetFlow statistics, NetFlow statistics, SNMP data,
357 Syslog, and OpenDaylight (controller) metrics
358 - odl-tsdr-openflow-statistics-collector,
359 odl-tsdr-netflow-statistics-collector,
360 odl-tsdr-snmp-data-collector,
361 odl-tsdr-syslog-collector,
362 odl-tsdr-controller-metrics-collector
366 - Enables support for TSDR data stores including HSQLDB, HBase, and
368 - odl-tsdr-hsqldb, odl-tsdr-hbase, or odl-tsdr-cassandra
371 * - Topology Processing Framework
372 - Enables merged and filtered views of network topologies
373 - odl-topoprocessing-framework
376 * - Unified Secure Channel (USC)
377 - Enables support for secure, remote connections to network devices
382 - Enables support for OpenStack VPNaaS
383 - odl-vpnservice-core
387 - Enables Virtual Tenant Network support
388 - odl-vtn-manager-rest
391 * - VTN Manager Neutron
392 - Enables OpenStack Neutron support of VTN Manager
393 - odl-vtn-manager-neutron
397 Other Beryllium features
398 ------------------------
400 .. list-table:: Other Beryllium features
405 - Feature Description
410 - Provides OpFlex agent for Open vSwitch to enforce network policy, such
411 as GBP, for locally-attached virtual machines or containers
416 - Provides a developer toolkit for designing network-centric topology
422 Experimental Beryllium Features
423 -------------------------------
424 The following functionality is labeled as experimental in OpenDaylight
425 Beryllium and should be used accordingly. In general, it is not supposed to be
426 used in production unless its limitations are well understood by those
429 .. list-table:: Other Beryllium features
434 - Feature Description
439 - Enables configurable role-based authorization
444 - Enables support for Application-Layer Traffic Optimization
449 - Enables control of supported wireless APs
453 * - Clustered Authentication
454 - Enables the use of the MD-SAL clustered data store for the
455 authentication database
456 - odl-aaa-authn-mdsal-cluster
459 * - Controller Shield
460 - Provides controller security information to northbound applications
464 * - GBP IO Visor Renderer
465 - Provides support for rendering Group Based Policy to IO Visor
466 - odl-groupbasedpolicy-iovisor
469 * - Internet of Things Data Management
470 - Enables support for the oneM2M specification
474 * - LISP Flow Mapping OpenStack Network Virtualization
475 - Experimental support for OpenStack Neutron virtualization
476 - odl-lispflowmapping-neutron
479 * - Messaging4Transport
480 - Introduces an AMQP Northbound to MD-SAL
481 - odl-messaging4transport
484 * - Network Intent Composition (NIC)
485 - Provides abstraction layer for communcating network intents (including
486 a distributed intent mapping service REST API) using either Hazelcast
487 or the MD-SAL as the backing data store for intents
488 - odl-nic-core-hazelcast or odl-nic-core-mdsal
492 - Provides a Karaf CLI extension for intent CRUD operations and mapping
498 - Virtual Tenant Network renderer for Network Intent Composition
499 - odl-nic-renderer-vtn
503 - Group Based Policy renderer for Network Intent Composition
504 - odl-nic-renderer-gbp
507 * - NIC OpenFlow renderer
508 - OpenFlow renderer for Network Intent Composition
509 - odl-nic-renderer-of
512 * - NIC NEMO renderer
513 - NEtwork MOdeling renderer for Network Intent Composition
514 - odl-nic-renderer-nemo
522 * - Secure Networking Bootstrap
523 - Defines a SNBi domain and associated white lists of devices to be
524 accommodated to the domain
529 - Initiates the development of data models and APIs to facilitate
530 configuration and provisioning connectivity services for OpenDaylight
531 applications and services
536 - Allows subscriptions to be placed on targeted subtrees of YANG
537 datastores residing on remote devices to obviate the need for
538 OpenDaylight to make continuous fetch requests
542 Install support for REST APIs
543 -----------------------------
544 Most components that offer REST APIs will automatically load the RESTCONF API
545 Support component, but if for whatever reason they seem to be missing, install
546 the “odl-restconf” feature to activate this support.