+.. _install_odl:
+
Installing OpenDaylight
=======================
Install OpenDaylight
--------------------
+Downloading and installing OpenDaylight
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The default distribution can be found on the OpenDaylight software
+download page: http://www.opendaylight.org/software/downloads
+
+The Karaf distribution has no features enabled by default. However, all
+of the features are available to be installed.
+
+.. note:: For compatibility reasons, you cannot enable all the features
+ simultaneously. We try to document known incompatibilities in
+ the `Install the Karaf features`_ section below.
+
+Running the karaf distribution
+""""""""""""""""""""""""""""""
+
+To run the Karaf distribution:
+
+#. Unzip the zip file.
+#. Navigate to the directory.
+#. run ``./bin/karaf``.
+
+For Example::
+
+ $ ls distribution-karaf-0.4.0-Beryllium.zip
+ distribution-karaf-0.4.0-Beryllium.zip
+ $ unzip distribution-karaf-0.4.0-Beryllium.zip
+ Archive: distribution-karaf-0.4.0-Beryllium.zip
+ creating: distribution-karaf-0.4.0-Beryllium/
+ creating: distribution-karaf-0.4.0-Beryllium/configuration/
+ creating: distribution-karaf-0.4.0-Beryllium/data/
+ creating: distribution-karaf-0.4.0-Beryllium/data/tmp/
+ creating: distribution-karaf-0.4.0-Beryllium/deploy/
+ creating: distribution-karaf-0.4.0-Beryllium/etc/
+ creating: distribution-karaf-0.4.0-Beryllium/externalapps/
+ ...
+ inflating: distribution-karaf-0.4.0-Beryllium/bin/start.bat
+ inflating: distribution-karaf-0.4.0-Beryllium/bin/status.bat
+ inflating: distribution-karaf-0.4.0-Beryllium/bin/stop.bat
+ $ cd distribution-karaf-0.4.0-Beryllium
+ $ ./bin/karaf
+
+ ________ ________ .__ .__ .__ __
+ \_____ \ ______ ____ ____ \______ \ _____ ___.__.\| \| \|__\| ____ \| \|___/ \|_
+ / \| \\____ \_/ __ \ / \ \| \| \\__ \< \| \|\| \| \| \|/ ___\\| \| \ __\
+ / \| \ \|_> > ___/\| \| \\| ` \/ __ \\___ \|\| \|_\| / /_/ > Y \ \|
+ \_______ / __/ \___ >___\| /_______ (____ / ____\|\|____/__\___ /\|___\| /__\|
+ \/\|__\| \/ \/ \/ \/\/ /_____/ \/
+
+
+
+* Press ``tab`` for a list of available commands
+* Typing ``[cmd] --help`` will show help for a specific command.
+* Press ``ctrl-d`` or type ``system:shutdown`` or ``logout`` to shutdown OpenDaylight.
+
Install the Karaf features
--------------------------
To install a feature, use the following command, where feature1 is the feature
simultaneously. The table below documents feature installation names and
known incompatibilities.Compatibility values indicate the following:
-* *all* - the feature can be run with other features.
-* *self+all* - the feature can be installed with other features with a value of
- *all*, but may interact badly with other features that have a value of
- *self+all*. Not every combination has been tested.
+* **all** - the feature can be run with other features.
+* **self+all** - the feature can be installed with other features with a value of
+ **all**, but may interact badly with other features that have a value of
+ **self+all**. Not every combination has been tested.
Uninstalling features
^^^^^^^^^^^^^^^^^^^^^
feature:list -i
-Features to implement networking functionality provide release notes you can
-access on the OpenDaylight Wiki: https://wiki.opendaylight.org/view/Project_list
-
-* Authentication, Authorization and Accounting (AAA_)
-* ALTO_
-* BGPCEP_
-* Controller_
-* Control And Provisioning of Wireless Access Points (CAPWAP_)
-* Identification and Driver Management (DIDM_)
-* DLUX_
-* FaaS_
-* Group_Based_Policy_ (GPB)
-* Internet of Things Data Management (IoTDM_)
-* L2_Switch_
-* Link Aggregation Control Protocol (LACP_)
-* LISP_Flow_Mapping_
-* MDSAL_
-* NEMO_
-* NETCONF_
-* NetIDE_
-* NeXt_
-* Network Intent Composition (NIC_)
-* Neutron_Northbound_
-* OF-Config_
-* OpFlex_
-* OpenFlow_Plugin_
-* OpenFlow_Protocol_Library_
-* OVSDB_Netvirt_
-* Packet_Cable_ / PCMM
-* SDN_Interface_Application_
-* Secure Network Bootstrapping Infrastructure (SNBI_)
-* SNMP4SDN_
-* SNMP_Plugin_
-* Secure tag eXchange Protocol (SXP_)
-* Service Function Chaining (SFC_)
-* TCPMD5_
-* Time Series Data Repository (TSDR_)
-* Table Type Patterns (TTP_)
-* Topology_Processing_Framework_
-* Unified Secure Channel (USC_)
-* VPN_Service_
-* Virtual Tenant Network (VTN_)
-* YANG_Tools_
-
-Projects without Release Notes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The following projects participated in Beryllium, but intentionally do not have
-release notes:
-
-* The Documentation Project produced this and the other downloadable
- documentation.
-* The Integration Group hosted the OpenDaylight-wide tests and main release
- distribution.
-* Controller Core Functionality Tutorials provided a single test suite
- (dsbenchmark) that was used as part of integration testing
-* Release Engineering used autorelease to build the Beryllium release artifacts,
- including the main release download.
+Features to implement networking functionality provide release notes, which
+you can find in the :ref:`proj_rel_notes` section.
Beryllium features
------------------
used in production unless its limitations are well understood by those
deploying it.
-.. image:: images/be-exp-features-1.png
+.. list-table:: Other Beryllium features
+ :widths: 10 25 10 5
+ :header-rows: 1
+
+ * - Feature Name
+ - Feature Description
+ - Karaf feature name
+ - Compatibility
+
+ * - Authorization
+ - Enables configurable role-based authorization
+ - odl-aaa-authz
+ - all
+
+ * - ALTO
+ - Enables support for Application-Layer Traffic Optimization
+ - odl-alto-core
+ - self+all
+
+ * - CAPWAP
+ - Enables control of supported wireless APs
+ - odl-capwap-ac-rest
+ - all
+
+ * - Clustered Authentication
+ - Enables the use of the MD-SAL clustered data store for the
+ authentication database
+ - odl-aaa-authn-mdsal-cluster
+ - all
+
+ * - Controller Shield
+ - Provides controller security information to northbound applications
+ - odl-usecplugin
+ - all
+
+ * - GBP IO Visor Renderer
+ - Provides support for rendering Group Based Policy to IO Visor
+ - odl-groupbasedpolicy-iovisor
+ - all
+
+ * - Internet of Things Data Management
+ - Enables support for the oneM2M specification
+ - odl-iotdm-onem2m
+ - all
+
+ * - LISP Flow Mapping OpenStack Network Virtualization
+ - Experimental support for OpenStack Neutron virtualization
+ - odl-lispflowmapping-neutron
+ - self+all
+
+ * - Messaging4Transport
+ - Introduces an AMQP Northbound to MD-SAL
+ - odl-messaging4transport
+ - all
-.. image:: images/be-exp-features-2.png
+ * - Network Intent Composition (NIC)
+ - Provides abstraction layer for communcating network intents (including
+ a distributed intent mapping service REST API) using either Hazelcast
+ or the MD-SAL as the backing data store for intents
+ - odl-nic-core-hazelcast or odl-nic-core-mdsal
+ - all
+
+ * - NIC Console
+ - Provides a Karaf CLI extension for intent CRUD operations and mapping
+ service operations
+ - odl-nic-console
+ - all
+
+ * - NIC VTN renderer
+ - Virtual Tenant Network renderer for Network Intent Composition
+ - odl-nic-renderer-vtn
+ - self+all
+
+ * - NIC GBP renderer
+ - Group Based Policy renderer for Network Intent Composition
+ - odl-nic-renderer-gbp
+ - self+all
+
+ * - NIC OpenFlow renderer
+ - OpenFlow renderer for Network Intent Composition
+ - odl-nic-renderer-of
+ - self+all
+
+ * - NIC NEMO renderer
+ - NEtwork MOdeling renderer for Network Intent Composition
+ - odl-nic-renderer-nemo
+ - self+all
+
+ * - OVSDB NetVirt UI
+ - OVSDB DLUX UI
+ - odl-ovsdb-ui
+ - all
+
+ * - Secure Networking Bootstrap
+ - Defines a SNBi domain and associated white lists of devices to be
+ accommodated to the domain
+ - odl-snbi-all
+ - self+all
+
+ * - UNI Manager
+ - Initiates the development of data models and APIs to facilitate
+ configuration and provisioning connectivity services for OpenDaylight
+ applications and services
+ - odl-unimgr
+ - all
+
+ * - YANG PUBSUB
+ - Allows subscriptions to be placed on targeted subtrees of YANG
+ datastores residing on remote devices to obviate the need for
+ OpenDaylight to make continuous fetch requests
+ - odl-yangpush-rest
+ - all
Install support for REST APIs
-----------------------------
Most components that offer REST APIs will automatically load the RESTCONF API
Support component, but if for whatever reason they seem to be missing, install
the “odl-restconf” feature to activate this support.
-
-
-Install the DLUX interface
---------------------------
-OpenDaylight’s DLUX web interface draws information from topology and host
-databases to display information about the topology of the network, flow
-statistics, and host locations.
-
-To integrate with OpenDaylight you must enable the DLUX Karaf feature. Each
-feature can be enabled or disabled separately. Ensure that you have created a
-topology and enabled the MD-SAL feature in the Karaf distribution before you
-use DLUX for network management. For more information about enabling the Karaf
-features for DLUX, refer to Enable_DLUX_Feature_.
-
-MD-SAL clustering
------------------
-In the Beryllium release and newer, the odl-mdsal-broker installs MD-SAL
-clustering automatically.
-
-.. _Enable_DLUX_Feature: https://wiki.opendaylight.org/view/DLUX:Beryllium_System_Test_Plan#Enabling_The_Feature
-
-
-.. _AAA: https://wiki.opendaylight.org/view/AAA:Beryllium_Release_Notes
-.. _ALTO: https://wiki.opendaylight.org/view/ALTO:Beryllium:Release_Notes
-.. _BGPCEP: https://wiki.opendaylight.org/view/BGP_LS_PCEP:Beryllium_Release_Notes
-.. _CAPWAP: https://wiki.opendaylight.org/view/CAPWAP:Beryllium:Release_Notes
-.. _Controller: https://wiki.opendaylight.org/view/OpenDaylight_Controller:Beryllium:Release_Notes
-.. _DIDM: https://wiki.opendaylight.org/view/DIDM:_Beryllium_Release_Notes
-.. _DLUX: https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Beryllium:Release_Notes
-.. _FaaS: https://wiki.opendaylight.org/view/FaaS:Beryllium_Release_Notes
-.. _Group_Based_Policy: https://wiki.opendaylight.org/view/Group_Based_Policy_(GBP)/Releases/Beryllium:Beryllium_Release_Notes
-.. _IoTDM: https://wiki.opendaylight.org/view/Iotdm:Beryllium_Release_Notes
-.. _L2_Switch: https://wiki.opendaylight.org/view/L2_Switch:Beryllium:Release_Notes
-.. _LACP: https://wiki.opendaylight.org/view/LACP:Beryllium:Release_Notes
-.. _LISP_Flow_Mapping: https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:Beryllium_Release_Notes
-.. _MDSAL: https://wiki.opendaylight.org/view/MD-SAL:Beryllium:Release_Notes
-.. _NEMO: https://wiki.opendaylight.org/view/NEMO:Beryllium:Release_Notes
-.. _NETCONF: https://wiki.opendaylight.org/view/OpenDaylight_NETCONF:Beryllium_Release_Notes
-.. _NetIDE: https://wiki.opendaylight.org/view/NetIDE:Release_Notes
-.. _NeXt: https://wiki.opendaylight.org/view/NeXt:Beryllium_Release_Notes
-.. _NIC: https://wiki.opendaylight.org/view/Network_Intent_Composition:Release_Notes
-.. _Neutron_Northbound: https://wiki.opendaylight.org/view/NeutronNorthbound:Beryllium:Release_Notes
-.. _OF-Config: https://wiki.opendaylight.org/view/OF-CONFIG:Beryllium:Release_Notes
-.. _OpFlex: https://wiki.opendaylight.org/view/OpFlex:Beryllium_Release_Notes
-.. _OpenFlow_Plugin: https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Beryllium_Release_Notes
-.. _OpenFlow_Protocol_Library: https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Release_Notes:Beryllium_Release_Notes
-.. _OVSDB_Netvirt: https://wiki.opendaylight.org/view/OpenDaylight_OVSDB:Beryllium_Release_Notes
-.. _Packet_Cable: https://wiki.opendaylight.org/view/PacketCablePCMM:BerylliumReleaseNotes
-.. _SDN_Interface_Application: https://wiki.opendaylight.org/view/ODL-SDNi:Beryllium_Release_Notes
-.. _SNBI: https://wiki.opendaylight.org/view/SNBI_Berrylium_Release_Notes
-.. _SNMP4SDN: https://wiki.opendaylight.org/view/SNMP4SDN:Beryllium_Release_Note
-.. _SNMP_Plugin: https://wiki.opendaylight.org/view/SNMP_Plugin:SNMP_Plugin:Beryllium_Release_Notes
-.. _SXP: https://wiki.opendaylight.org/view/SXP:Beryllium:Release_Notes
-.. _SFC: https://wiki.opendaylight.org/view/Service_Function_Chaining:Beryllium_Release_Notes
-.. _TCPMD5: https://wiki.opendaylight.org/view/TCPMD5:Beryllium_Release_Notes
-.. _TSDR: https://wiki.opendaylight.org/view/TSDR:Beryllium:Release_Notes
-.. _TTP: https://wiki.opendaylight.org/view/Table_Type_Patterns/Beryllium/Release_Notes
-.. _Topology_Processing_Framework: https://wiki.opendaylight.org/view/Topology_Processing_Framework:BERYLLIUM_Release_Notes
-.. _USC: https://wiki.opendaylight.org/view/USC:Beryllium:Release_Notes
-.. _VPN_Service: https://wiki.opendaylight.org/view/Vpnservice:Beryllium_Release_Notes
-.. _VTN: https://wiki.opendaylight.org/view/VTN:Beryllium:Release_Notes
-.. _YANG_Tools: https://wiki.opendaylight.org/view/YANG_Tools:Beryllium:Release_Notes