Modified TSDR HBase Installation Guide and corrected some formatting issues.
[docs.git] / manuals / getting-started-guide / src / main / asciidoc / general_installation.adoc
old mode 100644 (file)
new mode 100755 (executable)
index 3205235..4f911ec
-== Getting and Installing OpenDaylight Helium
+== Getting and Installing OpenDaylight Lithium
 
-=== Downloading the Karaf Distribution
+// 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
 
-// ==== Getting the Default Distribution
+=== Downloading and installing OpenDaylight Lithium
+The default distribution can be found on the OpenDaylight software download page:
+http://www.opendaylight.org/software/downloads
 
-The default distribution can be found on the OpenDaylight Software Download page here: http://www.opendaylight.org/software/downloads
+The Karaf distribution has no features enabled by default. However, you can install all the features.
 
-This distribution comes with no features enabled by default, but all
-features are able to be installed and run.
+NOTE: You cannot enable all the features at the same time.
 
-CAUTION: Not all features can be run at the same time without negative
-         consequences.
 
-// ==== Using the Custom Distribution Download Tool
+==== Running the karaf distribution
+To run the Karaf distribution:
 
-// Fill in info once this exists.
+. Unzip the zip file.
+. Navigate to the directory.
+. run `./bin/karaf`.
 
-=== Running the Karaf distribution
-
-. Unzip the zip file
-. cd into the directory
-. run ./bin/karaf
-
-For example:
+For Example:
 
 [frame="none"]
 |===
 a|
 ----
-$ ls distribution-karaf-0.2.0-Helium.zip 
-distribution-karaf-0.2.0-Helium.zip
-$ unzip distribution-karaf-0.2.0-Helium.zip 
-Archive:  distribution-karaf-0.2.0-Helium.zip
-   creating: distribution-karaf-0.2.0-Helium/
-   creating: distribution-karaf-0.2.0-Helium/configuration/
-   creating: distribution-karaf-0.2.0-Helium/data/
-   creating: distribution-karaf-0.2.0-Helium/data/tmp/
-   creating: distribution-karaf-0.2.0-Helium/deploy/
-   creating: distribution-karaf-0.2.0-Helium/etc/
-   creating: distribution-karaf-0.2.0-Helium/externalapps/
+$ 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/
 ...
-  inflating: distribution-karaf-0.2.0-Helium/bin/start.bat  
-  inflating: distribution-karaf-0.2.0-Helium/bin/status.bat  
-  inflating: distribution-karaf-0.2.0-Helium/bin/stop.bat
-$ cd distribution-karaf-0.2.0-Helium
-$ ./bin/karaf 
-
-    ________                       ________                .__  .__       .__     __       
-    \_____  \ ______   ____   ____ \______ \ _____  ___.__.\|  \| \|__\| ____ \|  \|___/  \|_     
-     /   \|   \\____ \_/ __ \ /    \ \|    \|  \\__  \<   \|  \|\|  \| \|  \|/ ___\\|  \|  \   __\    
-    /    \|    \  \|_> >  ___/\|   \|  \\|    `   \/ __ \\___  \|\|  \|_\|  / /_/  >   Y  \  \|      
-    \_______  /   __/ \___  >___\|  /_______  (____  / ____\|\|____/__\___  /\|___\|  /__\|      
-            \/\|__\|        \/     \/        \/     \/\/            /_____/      \/          
+  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
+$ ./bin/karaf
 
+    ________                       ________                .__  .__       .__     __
+    \_____  \ ______   ____   ____ \______ \ _____  ___.__.\|  \| \|__\| ____ \|  \|___/  \|_
+     /   \|   \\____ \_/ __ \ /    \ \|    \|  \\__  \<   \|  \|\|  \| \|  \|/ ___\\|  \|  \   __\
+    /    \|    \  \|_> >  ___/\|   \|  \\|    `   \/ __ \\___  \|\|  \|_\|  / /_/  >   Y  \  \|
+    \_______  /   __/ \___  >___\|  /_______  (____  / ____\|\|____/__\___  /\|___\|  /__\|
+            \/\|__\|        \/     \/        \/     \/\/            /_____/      \/
 
-Hit '<tab>' for a list of available commands
-and '[cmd] --help' for help on a specific command.
-Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.
 
-opendaylight-user@root>
 ----
+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.
 |===
+=== Installing the components
 
-=== Installing 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 following table describes a list of components in OpenDaylight Helium and the relevant Karaf feature to install in order to enable that component. To install a feature use the +feature:install+ Karaf command, for example:
+To install a feature use the following command:
+-----
+feature:install
+-----
+For Example:
 
 -----
 feature:install <feature-name>
 -----
 
-Multiple features can be installed in the same command:
+Multiple features can be installed using the following command:
 
 -----
 feature:install <feature1-name> <feature2-name> ... <featureN-name>
 -----
 
-.Helium Components
+.Lithium Components
 [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
+|====
+| 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
+| 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                 | Provide support to manage Netconf-enabled devices over SSH | odl-netconf-connector-ssh             | all
+| 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                   | Enable OVS management using OVSDB plugin and its associated OVSDB northbound APIs | odl-ovsdb-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                 | Enable flow-based dynamic QoS management of CMTS using in the DOCSIS infrastructure | odl-packetcable-all                   | 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      | Define a SNBI domain and associated white lists of devices to be accommodated to the domain | odl-snbi-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 including support for OpenStack Neutron | odl-vtn-manager-all                   | self+all
-|=======================
-
-In the table a compatibility value of "all" means that it can be run with any other features. A value of "self+all" indicates that the feature can be installed with anything with a value of "all", but not any other features with a value of "self+all".
-
-==== Installing the DLUX Web Interface
-
-The OpenDaylight Web Interface, DLUX, draws information from the OpenFlow Flow Programming and L2 Switch components to display information about the topology of the network, flow statistics, host locations and the like. It will automatically be installed when you install either of these components.
-
-==== Installing 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, you can activate this support by installing the +odl-restconf+ feature.
+|====
 
-==== Installing MD-SAL Clustering
+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*.
 
-The MD-SAL clustering feature is noted to have "special" compatibility. It *must* be installed first, before any other features. That is, the first command run at the Karaf CLI should be:
-
-----
-feature:install odl-mdsal-clustering
-----
-
-==== Listing Available and Installed Karaf Features
-
-Note, that this is not an exhaustive list of Karaf features, however you can find a full list by running the following command at the Karaf CLI:
+==== Listing available features
+To find the complete list of Karaf features, run the following command:
 
 ----
 feature:list
 ----
 
-To just list the installed Karaf features, run the command:
+To list the installed Karaf features, run the following command:
 
 ----
 feature:list -i
 ----
 
-=== Project-Specific Installation Instructions
-
-The Defense4All and Yang Tools projects provide project-specific installation instructions here. Other projects can either be installed by simply installing the appropriate Karaf feature(s) or, in some cases, further instructions can be found in the User Guide or Developer Guide.
+// Commenting out this section until we can actually provide some content.
+//
+// === Verifying your installation
+// TBD
+
+=== Installing 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, you can activate this
+support by installing the `odl-restconf` feature.
+
+// Commenting out this section until we can actually provide a tutorial that a
+// user could follow
+//
+// === Making RESTCONF calls
+// RESTCONF is a protocol that provides a programmatic interface over HTTP to access data that is defin
+// ed in a YANG model and stored in data stores defined in the NETCONF protocol.
+// RESTCONF protocol is implemented in `sal-rest-connector` artifact that is packed with the Karaf bundle.
+// For more information on the RESTCONF protocol, refer to http://tools.ietf.org/html/draft-bierman-net
+// conf-restconf-02
+//
+// RESTCONF allows access to datastores in the controller.
+// The datastores available are:
+//
+// * config - contains data inserted using controller
+// * operational - contains other data
+//
+// ==== Making a RESCONF call using cURL
+//
+// 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
+
+=== Installing MD-SAL clustering
+The MD-SAL clustering feature has "special" compatibility criteria. You *must*
+install clustering, before other features are installed. To install clustering,
+run the following command on the Karaf CLI console:
 
-=== Further Information
+----
+feature:install odl-mdsal-clustering
+----
 
-Further information can be found in the User Guide and Developer Guide, which should be available in the same location as this guide.
+// Commenting out this section until we can actually provide a tutorial that
+// walks through getting everything set up. Maybe we should just point to the
+// L2 Switch docs?
+//
+// === Getting started with OpenFlow and Mininet
+//
+// ==== Downloading and installing Mininet
+//
+// Mininet downloads are available at: http://mininet.org
+//
+// The OVS version must be 2.1 or earlier.
+//
+// The instructions for installation are available at: http://mininet.org.
+//
+// ===== Verifying mininet installation
+// To verify your mininet installation run the following command:
+// `test=pingall`
+//
+// ----
+// odluser@odl-vm:~\$ sudo mn --test=pingall
+// *** Creating network
+// *** Adding controller
+// *** Adding hosts:
+// h1 h2
+// *** Adding switches:
+// s1
+// *** Adding links:
+// (h1, s1) (h2, s1)
+// *** Configuring hosts
+// h1 h2
+// *** Starting controller
+// *** Starting 1 switches
+// s1 OVSswitch opts:
+// *** Ping: testing ping reachability
+// h1 -> h2
+// h2 -> h1
+// *** Results: 0% dropped (2/2 received)
+// *** Stopping 1 switches
+// s1 ..
+// *** Stopping 2 hosts
+// h1 h2
+// *** Stopping 1 controllers
+// c0
+// *** Done
+// completed in 0.541 seconds
+// ----
+//
+// ==== Enabling the OpenFlow plugin and L2 Switch
+//
+// To enable these features, run:
+//
+// ----
+// feature:install odl-l2switch-switch-ui
+// ----
+//
+// This will install the OpenFlow plugin and the L2 Switch application.
+//
+// ==== Running Mininet using OpenDaylight as the controller
+//
+// TODO