Adding the feature table from Denise's GSG
[docs.git] / manuals / getting-started-guide / src / main / asciidoc / general_installation.adoc
index 2ab22a0ea0682ef9751bd62842845070dfe808b6..3b7c871bdfa9740ad708bef0da22e2ae48c129c2 100755 (executable)
@@ -1,27 +1,16 @@
-== Getting and Installing OpenDaylight Lithium
+== Getting and Installing OpenDaylight
 
-// Commenting out this section until we can actually provide some content.
-//
-// === System requirements and prerequisites
-// * *Hardware Requirements*: <To be added>
-//
-// * *Software Requirements*:
-// If you are using Oracle, JDK version 1.7.0_45 or later is required.
-//
-// ==== For Execution
-// The OpenDaylight controller source files are portable and require a Java 7-compliant JVM to run.
-//
-// ==== For Development
-// TBD
-
-=== Downloading and installing OpenDaylight Lithium
-The default distribution can be found on the OpenDaylight software download page:
-http://www.opendaylight.org/software/downloads
+=== Downloading and installing OpenDaylight
 
-The Karaf distribution has no features enabled by default. However, you can install all the features.
+The default distribution can be found on the OpenDaylight software
+download page: http://www.opendaylight.org/software/downloads
 
-NOTE: You cannot enable all the features at the same time.
+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
+<<_installing_the_components,below>>.
 
 ==== Running the karaf distribution
 To run the Karaf distribution:
@@ -36,22 +25,22 @@ For Example:
 |===
 a|
 ----
-$ ls distribution-karaf-0.3.0-Lithium.zip
-distribution-karaf-0.3.0-Lithium.zip
-$ unzip distribution-karaf-0.3.0-Lithium.zip
-Archive:  distribution-karaf-0.3.0-Lithium.zip
-   creating: distribution-karaf-0.3.0-Lithium/
-   creating: distribution-karaf-0.3.0-Lithium/configuration/
-   creating: distribution-karaf-0.3.0-Lithium/data/
-   creating: distribution-karaf-0.3.0-Lithium/data/tmp/
-   creating: distribution-karaf-0.3.0-Lithium/deploy/
-   creating: distribution-karaf-0.3.0-Lithium/etc/
-   creating: distribution-karaf-0.3.0-Lithium/externalapps/
+$ 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.3.0-Lithium/bin/start.bat
-  inflating: distribution-karaf-0.3.0-Lithium/bin/status.bat
-  inflating: distribution-karaf-0.3.0-Lithium/bin/stop.bat
-$ cd distribution-karaf-0.3.0-Lithium
+  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
 
     ________                       ________                .__  .__       .__     __
@@ -63,12 +52,15 @@ $ ./bin/karaf
 
 
 ----
-Press *tab* for a list of available commands and *[cmd] --help* for help on a specific command.
-Press *ctrl-d* or type *system:shutdown* or *logout* to shutdown OpenDaylight.
+* 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.
 |===
+
 === Installing the components
 
-The section describes a list of components in OpenDaylight Lithium and the relevant Karaf feature to install in order to enable that component.
+The section describes a list of components in OpenDaylight Beryllium and
+the relevant Karaf feature to install in order to enable that component.
 
 To install a feature use the following command:
 -----
@@ -86,36 +78,98 @@ Multiple features can be installed using the following command:
 feature:install <feature1-name> <feature2-name> ... <featureN-name>
 -----
 
-.Lithium Components
+.Beryllium Features
+
 [options="header",cols="18%,50%,18%,14%"]
 |====
-| Component Name                   | Component Description | Karaf feature name | Compatibility
-| BGPCEP                           | Enables support for BGP LS PCEP | odl-bgpcep-all | all
-| Defense4All                      | Enable DDoS detection and protection | n/a | all
-| Group Based Policy               | Enable Endpoint Registry and Policy Repository REST APIs and associated functionality for the Group Based Policy Proof of Concept demonstration | odl-groupbasedpolicy-ofoverlay | self+all
-| L2 Switch                        | Provides L2 (Ethernet) forwarding across connected OppenFlow switches and support for host tracking | odl-l2switch-switch-ui                | self+all
-| LISP Flow Mapping                | Enable LISP control plane services including the mapping system services REST API and LISP protocol SB plugin | odl-lispflowmapping-all               | all
-| MD-SAL Clustering                | Provides support for operating a cluster of OpenDaylight instances | odl-mdsal-clustering                  | special
-| Netconf over SSH                 | Provides support to manage Netconf-enabled devices over SSH | odl-netconf-connector-ssh             | all
-| OpenFlow Flow Programming        | Enables discovery and control of OpenFlow switches and the topology between them | odl-openflowplugin-flow-services-ui   | all
-| OpenFlow Table Type Patterns     | Allows OpenFlow Table Type Patterns to be manually associated with network elements | odl-ttp-all                          |all
-| OVS Management                   | Enables OVS management using OVSDB plugin and its associated OVSDB northbound APIs | odl-ovsdb-all                        | all
-| OVSDB OpenStack Neutron          | OpenStack Network Virtualization using OpenDaylight's OVSDB support | odl-ovsdb-openstack                   | all
-| Packetcable PCMM                 | Enables flow-based dynamic QoS management of CMTS using in the DOCSIS infrastructure | odl-packetcable-all                   | all
-| Plugin to OpenContrail           | Provides OpenStack Neutron support via OpenContrail | odl-plugin2oc                         | self+all
-| RESTCONF API Support             | Enables REST API access to the MD-SAL including the data store | odl-restconf                          | all
-| SDN Interface                    | Provides support for interaction and sharing of state between (non-clustered) OpenDaylight instances | odl-sdninterfaceapp-all               | all
-| Secure Networking Bootstrap      | Defines a SNBI domain and associated white lists of devices to be accommodated to the domain | odl-snbi-all                          | all
-| Service Flow Chaining (SFC)      | Enables support for applying chains of network services to certain traffic | odl-sfc-all                           | all
-| SFC over LISP                    | Supports implementing SFC using LISP | odl-sfclisp                           | all
-| SFC over L2                      | Supports implementing SFC using Layer 2 forwarding | odl-sfcofl2                           | all
-| SFC over VXLAN                   | Supports implementing SFC using VXLAN via OVSDB | odl-ovsdb-ovssfc                      | self+all
-| SNMP4SDN                         | Enables monitoring and control of network elements via SNMP | odl-snmp4sdn-all                      | all
-| VTN Manager                      | Enables Virtual Tenant Network support | odl-vtn-manager-rest | self+all
-| VTN Manager Neutron              | Enables OpenStack Neutron support of VTN Manager | odl-vtn-manager-neutron | self+all
+| Feature Name  | Feature Description | Karaf feature name | Compatibility
+| Authentication | Enables authentication with support for federation using Apache Shiro | odl-aaa-shiro | all
+| BGP             | Provides support for Border Gateway Protocol (including Link-State Distribution) as a source of L3 topology information | odl-bgpcep-bgp | all
+| BMP            | Provides support for BGP Monitoring Protocol as a monitoring station    | odl-bgpcep-bmp     | all
+| DIDM                               | Device Identification and Driver Management | odl-didm-all | all
+| Centinel        | Provides interfaces for streaming analytics | odl-centinel-all | all
+| DLUX            | Provides an intuitive graphical user interface for OpenDaylight |  odl-dlux-all    | all
+| Fabric as a Service (FaaS) | Creates a common abstraction layer on top of a physical network so northbound APIs or services can be more easily mapped onto the physical network as a concrete device configuration.  |  odl-faas-all  | self+all
+| Group Based Policy (GBP)           | Enables Endpoint Registry and Policy Repository REST APIs and associated functionality for Group Based Policy with the default renderer for OpenFlow renderers | odl-groupbasedpolicy-ofoverlay | self+all
+| GBP User Interface                 | Enables a web-based user interface for Group Based Policy | odl-groupbasedpolicy-ui | all
+| GBP FaaS renderer                  | Enables the Fabric as a Service renderer for Group Based Policy | odl-groupbasedpolicy-faas | self+all
+| GBP Neutron Support                | Provides OpenStack Neutron support using Group Based Policy | odl-groupbasedpolicy-neutronmapper | all
+| L2 Switch                          | Provides L2 (Ethernet) forwarding across connected OpenFlow switches and support for host tracking | odl-l2switch-switch-ui | self+all
+| LACP                               | Enables support for the Link Aggregation Control Protocol | odl-lacp-ui | self+all
+| LISP Flow Mapping                  | Enables LISP control plane services including the mapping system services REST API and LISP protocol SB plugin | odl-lispflowmapping-msmr | all
+| NEMO CLI | Provides intent mapping and implementation with CLI for legacy devices    | odl-nemo-cli-renderer |  all
+| NEMO OpenFlow | Provides intent mapping and implementation for OpenFlow devices    | odl-nemo-openflow-renderer | self+all
+| NetIDE        | Enables portability and cooperation inside a single network by using a client/server multi-controller architecture    |    odl-netide-rest        | all
+| NETCONF over SSH                   | Provides support to manage NETCONF-enabled devices over SSH | odl-netconf-connector-ssh | all
+| OF-CONFIG            | Enables remote configuration of OpenFlow datapaths    | odl-of-config-rest     | all
+| OVSDB OpenStack Neutron            | OpenStack Network Virtualization using OpenDaylight's OVSDB support | odl-ovsdb-openstack | all
+| OVSDB Southbound | OVSDB MDSAL southbound plugin for the Open_vSwitch schema | odl-ovsdb-southbound-impl-ui | all
+| OVSDB HWVTEP Southbound | OVSDB MDSAL hwvtep southbound plugin for the hw_vtep schema | odl-ovsdb-hwvtepsouthbound-ui | all
+| OVSDB NetVirt SFC | OVSDB NetVirt support for SFC | odl-ovsdb-sfc-ui | all
+| OpenFlow Flow Programming          | Enables discovery and control of OpenFlow switches and the topology between them | odl-openflowplugin-flow-services-ui | all
+| OpenFlow Table Type Patterns       | Allows OpenFlow Table Type Patterns to be manually associated with network elements | odl-ttp-all | all
+| Packetcable PCMM                   | Enables flow-based dynamic QoS management of CMTS use in the DOCSIS infrastructure and a policy server | odl-packetcable-policy-server | self+all
+| PCEP |  Enables support for PCEP | odl-bgpcep-pcep | all
+| RESTCONF API Support               | Enables REST API access to the MD-SAL including the data store | odl-restconf | all
+| SDNinterface                      | Provides support for interaction and sharing of state between (non-clustered) OpenDaylight instances | odl-sdninterfaceapp-all | all
+| SFC over L2                        | Supports implementing Service Function Chaining using Layer 2 forwarding | odl-sfcofl2 | self+all
+| SFC over LISP                      | Supports implementing Service Function Chaining using LISP | odl-sfclisp | all
+| SFC over REST                      | Supports implementing Service Function Chaining using REST CRUD operations on network elements | odl-sfc-sb-rest | all
+| SFC over VXLAN                     | Supports implementing Service Function Chaining using VXLAN tunnels | odl-sfc-ovs | self+all
+| SNMP Plugin                        | Enables monitoring and control of network elements via SNMP | odl-snmp-plugin | all
+| SNMP4SDN                           | Enables OpenFlow-like control of network elements via SNMP | odl-snmp4sdn-all | all
+| SSSD Federated Authentication      | Enables support for federated authentication using SSSD | odl-aaa-sssd-plugin | all
+| Secure tag eXchange Protocol (SXP) | Enables distribution of shared tags to network devices | odl-sxp-controller | all
+| Time Series Data Repository (TSDR) | Enables support for storing and querying time series data with the default data collector for OpenFlow statistics the default data store for HSQLDB | odl-tsdr-hsqldb-all | all
+| TSDR Data Collectors               | Enables support for various TSDR data sources (collectors) including OpenFlow statistics, NetFlow statistics, SNMP data, Syslog, and OpenDaylight (controler) metrics | odl-tsdr-openflow-statistics-collector, odl-tsdr-netflow-statistics-collector, odl-tsdr-snmp-data-collector, odl-tsdr-syslog-collector, and/or odl-tsdr-controller-metrics-collector | all
+| TSDR Data Stores                   | Enables support for TSDR data stores including HSQLDB, HBase, and Cassandra | odl-tsdr-hsqldb, odl-tsdr-hbase, or odl-tsdr-cassandra | all
+| Topology Processing Framework      | Enables merged and filtered views of network topologies | odl-topoprocessing-framework | all
+| Unified Secure Channel (USC)       | Enables support for secure, remote connections to network devices | odl-usc-channel-ui | all
+| VPN Service                        | Enables support for OpenStack VPNaaS | odl-vpnservice-core | all
+| VTN Manager                        | Enables Virtual Tenant Network support | odl-vtn-manager-rest | self+all
+| VTN Manager Neutron                | Enables OpenStack Neutron support of VTN Manager | odl-vtn-manager-neutron | self+all
 |====
 
-In the table a compatibility value of *all* means that it can be run with other features. A value of *self+all* indicates that the feature can be installed with other features with a value of *all*, but not other features with a value of *self+all*.
+
+==== Other Beryllium features
+
+.Other Beryllium features
+[options="header",cols="18%,50%,18%,14%"]
+|====
+| Feature Name                     | Description | Feature name | Compatibility
+| OpFlex    | Provides OpFlex Agent for Open VSwitch to enforce network policy, such as GBP, for locally-attached virtual machines or containers    | n/a | all
+| NeXt            | Provides a developer toolkit for designing network-centric topology user interfaces | n/a | all
+|====
+
+
+==== Beryllium experimental features
+The following functionality is labeled as experimental in OpenDaylight Beryllium and should be used accordingly. In general, it is not supposed to be used in production unless its limitations are well understood by those deploying it.
+
+
+.Experimental Beryllium Features
+[options="header",cols="18%,50%,18%,14%"]
+|====
+| Feature Name                     | 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
+| GPB 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
+| Network Intent Composition (NIC) | Provides abstraction layer for communicating 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
+|====
 
 ==== Listing available features
 To find the complete list of Karaf features, run the following command:
@@ -160,16 +214,20 @@ support by installing the `odl-restconf` feature.
 //
 // TBD
 
-=== Installing the DLUX web interface
-
-The OpenDaylight web interface; DLUX, draws information from topology and host databases to display information about the topology of the network,
-flow statistics, host locations. You can either use DLUX as a stand-alone plug-in or integrate with the Opendaylight controller.
-To install DLUX as a standalone application, refer to  https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Setup_and_Run
-To integrate with Opendaylight Controller you must enable DLUX Karaf feature. You can enable AD-SAL, MD-SAL and various other bundles within Karaf depending on the features you
-would like to access using DLUX. Each feature can be enabled or disabled separately.
-[Important]
-Ensure that you have created a topology and enabled 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 https://wiki.opendaylight.org/view/OpenDaylight_DLUX:DLUX_Karaf_Feature
+// Commenting this out as it appears to be out of date and there is already
+// information about installing and using DLUX above.
+//
+//=== Installing the DLUX web interface
+//
+//The OpenDaylight web interface; DLUX, draws information from topology and host databases to display information about the topology of the network,
+//flow statistics, host locations. You can either use DLUX as a stand-alone plug-in or integrate with OpenDaylight.
+//To install DLUX as a standalone application, refer to  https://wiki.opendaylight.org/view/OpenDaylight_DLUX:Setup_and_Run
+//To integrate with OpenDaylight you must enable DLUX Karaf feature. You can enable AD-SAL, MD-SAL and various other bundles within Karaf depending on the features you
+//would like to access using DLUX. Each feature can be enabled or disabled separately.
+//
+//[IMPORTANT]
+//Ensure that you have created a topology and enabled 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 https://wiki.opendaylight.org/view/OpenDaylight_DLUX:DLUX_Karaf_Feature
 
 === Installing MD-SAL clustering
 The MD-SAL clustering feature has "special" compatibility criteria. You *must*