First full pass over the getting started guide 70/23470/2
authorColin Dixon <colin@colindixon.com>
Sat, 27 Jun 2015 03:14:52 +0000 (23:14 -0400)
committerColin Dixon <colin@colindixon.com>
Sat, 27 Jun 2015 03:17:53 +0000 (23:17 -0400)
Change-Id: I895c5a4248d46340fdd35ec68e9c45df41cf24eb
Signed-off-by: Colin Dixon <colin@colindixon.com>
manuals/getting-started-guide/src/main/asciidoc/bk-getting-started-guide.adoc
manuals/getting-started-guide/src/main/asciidoc/ch-introduction.adoc
manuals/getting-started-guide/src/main/asciidoc/general_installation.adoc
manuals/getting-started-guide/src/main/asciidoc/ovsdb/ovsdb-openstack-install.adoc
manuals/getting-started-guide/src/main/asciidoc/release-notes.adoc
manuals/getting-started-guide/src/main/asciidoc/tsdr/tsdr-h2-install.adoc
manuals/getting-started-guide/src/main/asciidoc/vtn/vtn-install.adoc

index b8fab12aae464880539ee6483332811a89bdc6df..aec6b0026255dda1b7b04b3b95d15d0c0c372e46 100644 (file)
@@ -63,14 +63,16 @@ include::release-notes.adoc[OpenDaylight Release Notes]
 
 include::general_installation.adoc[]
 
-include::vtn/vtn-install.adoc[]
-
 include::opflex/agent-ovs-install.adoc[]
 
 include::ovsdb/ovsdb-install.adoc[]
 
+include::tsdr/tsdr-h2-install.adoc[]
+
 include::tsdr/tsdr-hbase-install.adoc[]
 
+include::vtn/vtn-install.adoc[]
+
 :numbered!:
 
 //////////////////////////
index 4250320223fe91cb0fd386cc833740ae92e8693d..26d81f0df688bfe65ba3f56bb05a20ec3f9c62da 100755 (executable)
@@ -1,28 +1,31 @@
-== OpenDaylight Controller Overview
-The OpenDaylight project is a collaborative open source project that aims to accelerate adoption of Software-Defined Networking (SDN) 
-and Network Functions Virtualization (NFV) with a transparent approach that fosters new innovation and reduces risk. 
-
-OpenDaylight mainly consists of software designed to be run on top of a Java Virtual Machine (JVM) and can be run on any operating system
-and hardware as long as it supports Java. OpenDaylight is an implementation of the
-Software Defined Network (SDN) concept and makes use of the following third-party tools:
-
-* *Maven*: OpenDaylight uses Maven for easier build automation. Maven uses pom.xml
-(Project Object Model) to script the dependencies between bundles and also to describe
-which bundles to load and start.
-
-* *OSGi*: OSGi framework is the back-end of OpenDaylight as it allows dynamically
-loading bundles and packages JAR files, and binding bundles together for exchanging
-information.
-
-* *JAVA interfaces*: Java interfaces are usually generated by compiling the YANG project. Java interfaces are used for event listening, specifications, and forming
-patterns. This is the main way in which specific bundles implement call-back functions for events and also to indicate awareness of specific state.
-
-* *REST APIs*: Most of the REST APIs in OpenDaylight are defined using YANG tools and are RESTCONF APIs.
-
-* *Karaf*: TBD
-
-Add content related to Lithium (TBD)
-
-For a more detailed overview of the OpenDaylight controller, see the _OpenDaylight
-Developer Guide_
+[preface]
+== OpenDaylight Overview
+The OpenDaylight project is a collaborative open source project that
+aims to accelerate adoption of Software-Defined Networking (SDN) and
+Network Functions Virtualization (NFV) with a transparent approach that
+fosters new innovation.
+
+OpenDaylight mainly consists of software designed to be run on top of a
+Java Virtual Machine (JVM) and can be run on any operating system and
+hardware as there is a Java Runtime Environment (JRE) available for it.
+
+// TODO: uncomment the following lines when we have them to the point we think they're useful.
+// OpenDaylight makes use of the following third-party tools:
+//
+// * *Maven*: OpenDaylight uses Maven for easier build automation. Maven uses pom.xml
+// (Project Object Model) to script the dependencies between bundles.
+//
+// * *OSGi*: OSGi framework is the back-end of OpenDaylight as it allows dynamically
+// loading bundles and packages JAR files, and binding bundles together for exchanging
+// information.
+//
+// * *JAVA interfaces*: Java interfaces are usually generated by compiling the YANG project. Java interfaces are used for event listening, specifications, and forming
+// patterns. This is the main way in which specific bundles implement call-back functions for events and also to indicate awareness of specific state.
+//
+// * *REST APIs*: Most of the REST APIs in OpenDaylight are defined using YANG tools and are RESTCONF APIs.
+//
+// * *Karaf*: TBD
+
+For a more detailed information about OpenDaylight, see the and _OpenDaylight User Guie_, _OpenDaylight
+Developer Guide_.
 
index 2ab22a0ea0682ef9751bd62842845070dfe808b6..45dabdacb691e6cd753e42e596ab66373b476b9f 100755 (executable)
@@ -1,27 +1,15 @@
 == Getting and Installing OpenDaylight Lithium
 
-// 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
+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, you can install all the features.
-
-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:
@@ -63,12 +51,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 Lithium and
+the relevant Karaf feature to install in order to enable that component.
 
 To install a feature use the following command:
 -----
@@ -89,33 +80,56 @@ feature:install <feature1-name> <feature2-name> ... <featureN-name>
 .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
-| 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
+| Component Name                     | Component Description | Karaf feature name | Compatibility
+| ALTO                               | Enable support for Application-Layer Traffic Optimization | odl-alto-all | self+all
+| BGP                                | Enables support for BGP | odl-bgpcep-bgp-all | all
+| CAPWAP                             | Enables control of supported wireless APs | odl-capwap-ac-rest | all
+| DIDM                               | Device Identification and Driver Management | odl-didm-identification-api, odl-didm-identification, and odl-didm-drivers-api | all
+| Group Based Policy                 | Enable Endpoint Registry and Policy Repository REST APIs and associated functionality for Group Based Policy | odl-groupbasedpolicy-ofoverlay | self+all
+| Internet of Things Data Management | Enables support for the oneM2M specification | odl-iotdm-onem2m | all
+| L2 Switch                          | Provides L2 (Ethernet) forwarding across connected OppenFlow switches and support for host tracking | odl-l2switch-switch-ui | self+all
+| LACP                               | Enable support for the Link Aggregation Control Protocol | odl-lacp-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
+| Network Intent Composition         | Enable support for high-level network control via intents | odl-nic-core | self+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 | self+all
+| OpFlex                             | Enables support for the OpFlex protocol | special (see user/developer guide) | 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
+| PCEP                               | Enables support for PCEP | odl-bgpcep-pcep-all | all
+| Packetcable PCMM                   | Enables flow-based dynamic QoS management of CMTS using in the DOCSIS infrastructure | odl-packetcable-all | self+all
+| Packetcable Policy Server          | Enables support for the PacketCable policy server | odl-packetcable-policy-server-all | 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
+| SFC over L2                        | Supports implementing SFC using Layer 2 forwarding | odl-sfcofl2 | self+all
+| SFC over LISP                      | Supports implementing SFC using LISP | odl-sfclisp | all
+| SFC over REST                      | Supports implementing SFC using REST CRUD operations on network elements | odl-sfc-sb-rest | all
+| SFC over VXLAN                     | Supports implementing SFC 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      | Enable support for federated authentication using SSSD | odl-aaa-sssd-plugin | 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
+| Secure tag eXchange Protocol (SXP) | Enables distribution of shared tags to network devices | odl-sxp-controller | all
+| Service Flow Chaining (SFC)        | Enables support for applying chains of network services to certain traffic | odl-sfc-all | all
+| Time Series Data Repository (TSDR) | Enables historical tracking of OpenFlow statistics | odl-tsdr-all | self+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*.
+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 may interact badly other features with a value of *self+all*.
+
+.Experimental Lithium Components
+[options="header",cols="18%,50%,18%,14%"]
+|====
+| Component Name                     | Component Description | Karaf feature name | Compatibility
+| Persistence                        | Enables saving of data to external databases | odl-persistence-api | self+all
+| Reservation                        | Enables bandwidth calendaring using the TL1 protocol | odl-reservation-models | all
+|====
 
 ==== Listing available features
 To find the complete list of Karaf features, run the following command:
@@ -163,9 +177,9 @@ support by installing the `odl-restconf` feature.
 === 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.
+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 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
+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.
index b85ebb08a02bdc1c58eb50f1ad83bbbf5fa29cbd..514d27f6439b1f8bd3fc2746abbe1cef265fdb31 100644 (file)
@@ -1,4 +1,4 @@
-== OVSDB Openstack Installation Guide
+== OVSDB OpenStack Installation Guide
 
 === Overview
 This guide is geared towards installing OpenDaylight to use the OVSDB project to provide Neutron support for OpenStack.
@@ -9,7 +9,7 @@ For information on OVS, see http://openvswitch.org/[Open vSwitch].
 With OpenStack within the SDN context, controllers and applications interact using two channels: OpenFlow and OVSDB. OpenFlow addresses the forwarding-side of the OVS functionality. OVSDB, on the other hand, addresses the management-plane.
 A simple and concise overview of Open Virtual Switch Database (OVSDB) is available at: http://networkstatic.net/getting-started-ovsdb/
 
-=== Pre Requisites for Installing OVSDB Openstack
+=== Pre Requisites for Installing OVSDB OpenStack
 * JRE 1.7+
 * A distribution of OpenDaylight
 
@@ -18,7 +18,7 @@ A simple and concise overview of Open Virtual Switch Database (OVSDB) is availab
 http://www.opendaylight.org/software/downloads[Download OpenDaylight]
 
 
-=== Installing OVSDB Openstack
+=== Installing OVSDB OpenStack
 . Extract the OpenDaylight distribution somewhere.
 . Navigate to the /bin/ directory
 . Execute the karaf binary file, that should bring up the OpenDaylight console
@@ -46,9 +46,9 @@ logs relating to odl-ovsdb-openstack.
 
 ==== Troubleshooting
 There is no easy way to troubleshoot an installation of odl-ovsdb-openstack. Perhaps a combination of
-log:display | grep -i ovsdb in karaf, Open vSwitch commands (ovs-vsctl) and openstack logs will be useful but will not
+log:display | grep -i ovsdb in karaf, Open vSwitch commands (ovs-vsctl) and OpenStack logs will be useful but will not
 explain everything.
 
-=== Uninstalling OVSDB Openstack
+=== Uninstalling OVSDB OpenStack
 . Shutdown the karaf instance: system:shutdown
 . Remove what is in the /data folder of the OpenDaylight Distribution.
index f97f8d6e2a0f646905c065c1efea164178135991..8c029e203c7b622ec7af4450e72d940031214ef9 100644 (file)
@@ -1,23 +1,5 @@
 == OpenDaylight Release Notes
 
-=== Key Features
-
-A list of the key functionality provided in OpenDaylight Helium can be found in the table in the <<_installing_the_components,section below>>.
-
-////
-The following table describes the key features provided by OpenDaylight Helium.
-
-[cols="2",option="headers"]
-|==============================================
-| *Feature* | *Description*
-|  Maven support | Used to simplify build automation.
-| OSGi framework | Serves as the controller's back-end, allowing it to dynamically load bundles, package JAR files, and bind bundles together when exchanging information.
-| Java interface support | Used by specific bundles to implement call-back functions for events and indicate the awareness of specific states.
-| Model- Driven Service Abstraction Layer (MD-SAL) | Allows the controller to support multiple protocols (such as BGP-LS and OpenFlow) on the southbound interface. Also provides consistent services for modules and applications (which is where the business logic is embedded).
-| Switch Manager | Once a network element has been discovered, its details (such as device type, software version, etc.) are stored by the Switch Manager.
-| High Availability (HA) | The controller supports cluster-based HA, allowing you to connect multiple controllers and configure them to act as one in order to ensure the controller's continuous operation.
-|==============================================
-////
 === Target Environment
 
 ==== For Execution
@@ -28,17 +10,19 @@ run. Certain projects and certain features of some projects may have
 additional requirements. Those are noted in the project-specific
 release notes.
 
-// TODO: Do we want to call out specific projects that have other requirements?
-// * TCP-MD5 requires 64-bit Linux
-// * TSDR requirements for HBase?
-// * SFC requirements for OVS (also lots of Linux I think)
-// * SXP depends on TCP-MD5
-// * SNBI for Linux, Docker, C and other things
-// * OpFlex for lots of things
-// * DLUX many things for development, what browsers?
-// * AAA if you using SSSD which comes with Centos/RHEL
+Projects and features which have known additional requirements are:
+* TCP-MD5 requires 64-bit Linux
+* TSDR has extended requirements for external databases
+* Persistence has extended requirements for external databases
+* SFC requires addition features for certain configurations
+* SXP depends on TCP-MD5 on thus requires 64-bit Linux
+* SNBI has requirements for Linux and Docker
+* OpFlex requires Linux
+* DLUX requires a modern web browser to view the UI
+* AAA when using federation has additional requirements for external tools
+* VTN has components which require Linux
 
-NOTE: If you are using Oracle, JDK version 1.7.0_45 or later is required.
+NOTE: If you are using the Oracle JDK, version 1.7.0_45 or later is required.
 
 ==== For Development
 
@@ -57,6 +41,10 @@ In some places, OpenDaylight makes use of the Xtend language. While
 Maven will download the appropriate tools to build this, additional
 plugins may be required for IDE support.
 
+The projects with additional requirements for execution typically have
+similar or more extensive additional requirements for development. See
+the project-specific release notes for details.
+
 === Known Issues and Limitations
 
 Other than as noted in project-specific release notes, we know of the
index 0283cf373bbffc7d10d65fd72593e07e8308e84f..7f3747ac4093676dadcc2f434b69a505a3d52984 100644 (file)
@@ -1,6 +1,6 @@
 == TSDR H2 Default Datastore Installation Guide
 This document is for the user to install the artifacts that are needed
-for using Time Series Data Repository (TSDR) functionality in the ODL Controller by enabling the default JPA (H2) Datastore. TSDR is new functionality added in OpenDayLight in Lithium Release. 
+for using Time Series Data Repository (TSDR) functionality in the ODL Controller by enabling the default JPA (H2) Datastore. TSDR is new functionality added in OpenDaylight in Lithium Release. 
 
 === Overview
 In Lithium Release the time deries data records of OpenFlow statistics are collected periodically and stored in a persistent store. For non-production usage, the bundled default JPA based datastore (H2) is utilized based on odl-tsdr-all feature installation. The TSDR records get persisted in H2 store in <install folder>/tsdr/ folder by default.  
@@ -12,7 +12,7 @@ There are no additional pre-requisites for TSDR based on default datastore
 No additional steps required for preparation of installing TSDR feature 
 
 === Installing TSDR with default H2 datastore 
-Once Opendaylight distribution is up, from karaf console install the TSDR feature with default datastore (JPA based datastore H2 store used) can be installed by 
+Once OpenDaylight distribution is up, from karaf console install the TSDR feature with default datastore (JPA based datastore H2 store used) can be installed by 
 
 feature:install odl-tsdr-all 
 
index 49a15f513d742254a708aa23c07e0341029c959c..c14b7640d48167e3f9a92b594bc7bd727bd93d04 100644 (file)
@@ -16,7 +16,7 @@ It is implemented as two major components
 * <<_vtn_coordinator,VTN Coordinator>>
 
 ==== VTN Manager
-An OpenDaylight Controller Plugin that interacts with other modules to implement the components of the VTN model. It also provides a REST interface to configure VTN components in ODL controller. VTN Manager is implemented as one plugin to the OpenDaylight controller. This provides a REST interface to create/update/delete VTN components. The user command in VTN Coordinator is translated as REST API to VTN Manager by the ODC Driver component. In addition to the above mentioned role, it also provides an implementation to the Openstack L2 Network Functions API.
+An OpenDaylight Controller Plugin that interacts with other modules to implement the components of the VTN model. It also provides a REST interface to configure VTN components in ODL controller. VTN Manager is implemented as one plugin to the OpenDaylight controller. This provides a REST interface to create/update/delete VTN components. The user command in VTN Coordinator is translated as REST API to VTN Manager by the ODC Driver component. In addition to the above mentioned role, it also provides an implementation to the OpenStack L2 Network Functions API.
 
 ==== VTN Coordinator