First full pass over the getting started guide
[docs.git] / manuals / getting-started-guide / src / main / asciidoc / release-notes.adoc
index c5ad9f23bea591f44d21d6e525215481cf844a1d..8c029e203c7b622ec7af4450e72d940031214ef9 100644 (file)
 == OpenDaylight Release Notes
 
-=== Key Features
-
-A list of the key functionality provided in OpenDaylight Helium can be found in the table in the <<_installing_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&#8217;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&#8217;s continuous operation.
-|==============================================
-////
 === Target Environment
 
-NOTE: If you are using Oracle, JDK version 1.7.0_45 or later is required.
-
 ==== For Execution
 
-The OpenDaylight controller source files are completely portable and only require a Java 7-compliant JVM to run.
+The OpenDaylight Karaf container, OSGi bundles, and Java class files
+are portable and should run on any Java 7- or Java 8-compliant JVM to
+run. Certain projects and certain features of some projects may have
+additional requirements. Those are noted in the project-specific
+release notes.
+
+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 the Oracle JDK, version 1.7.0_45 or later is required.
 
 ==== For Development
 
-Although the OpenDaylight controller is developed as a normal Java project, it makes heavy use of the Xtend language in some places. While development is possible with bare tools, we recommend you use Eclipse with the Xtend plugin.
+OpenDaylight is written primarily in Java project and primarily uses
+Maven as a build tool Consequently the two main requirements to develop
+projects within OpenDaylight are:
+
+* A Java 7- or Java 8-compliant JDK
+* Maven 3.1.1 or later
+
+Applications and tools built on top of OpenDaylight using it's REST
+APIs should have no special requirements beyond whatever is needed to
+run the application or tool and make the REST calls.
+
+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, there are two known limitations.
+Other than as noted in project-specific release notes, we know of the
+following limitations:
+
+. Migration from Helium to Lithium has not been extensively tested. The
+per-project release notes include migration and compatibility
+information when it is known. Broader support is anticipated in a later
+Lithium service release.
+. There are scales beyond which the controller has been unreliable when
+collecting flow statistics from OpenFlow switches. In tests, these
+issues became apparent when managing thousands of OpenFlow
+switches, however this may vary depending on deployment and use cases.
+
+=== Project-specific Release Notes
+
+For the release notes of individual projects, please see the following pages on the OpenDaylight Wiki.
+
+* https://wiki.opendaylight.org/view/AAA:Lithium_Release_Notes[Authentication, Authorization and Accounting (AAA)]
+* https://wiki.opendaylight.org/view/ALTO:Lithium:Release_Notes[ALTO]
+* https://wiki.opendaylight.org/view/BGP_LS_PCEP:Lithium_Release_Notes[BGP PCEP]
+* https://wiki.opendaylight.org/view/OpenDaylight_Controller:Lithium:Release_Notes[Controller]
+* https://wiki.opendaylight.org/view/CAPWAP:Lithium:Release_Notes[Control And Provisioning of Wireless Access Points (CAPWAP)]
+* https://wiki.opendaylight.org/view/DIDM:_Lithium_Release_Notes[Device Identification and Driver Management (DIDM)]
+* https://wiki.opendaylight.org/view/OpenDaylight_dlux:Lithium_Release_Notes[DLUX]
+* https://wiki.opendaylight.org/view/Group_Based_Policy_(GBP)/Releases/Lithium/Release_Notes[Group Based Policy (GPB)]
+* https://wiki.opendaylight.org/view/Iotdm:Lithium_Release_Notes[Internet of Things Data Management (IoTDM)]
+* https://wiki.opendaylight.org/view/L2_Switch:Lithium:Release_Notes[L2 Switch]
+* https://wiki.opendaylight.org/view/LACP:Lithium:Release_Notes[Link Aggregation Control Protocol (LACP)]
+* https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:Lithium_Release_Notes[LISP Flow Mapping]
+* https://wiki.opendaylight.org/view/Network_Intent_Composition:Lithium_Release_Notes[Network Intent Composition]
+* https://wiki.opendaylight.org/view/NeutronNorthbound:LithiumReleaseNotes[Neutron Northbound]
+* https://wiki.opendaylight.org/view/ODL_Root_Parent:Lithium_Release_Notes[ODL Root Parent]
+* https://wiki.opendaylight.org/view/OpFlex:Lithium_Release_Notes[OpFlex]
+* https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Lithium_Release_Notes[OpenFlow Plugin]
+* https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Release_Notes:Lithium_Release_Notes[OpenFlow Protocol Library]
+* https://wiki.opendaylight.org/view/OpenDaylight_OVSDB:Lithium_Release_Notes[OVSDB Integration]
+* https://wiki.opendaylight.org/view/PacketCablePCMM:LithiumReleaseNotes[Packet Cable/PCMM]
+* https://wiki.opendaylight.org/view/Persistence:Lithium_Release_Notes[Persistence]
+* https://wiki.opendaylight.org/view/Reservation:Lithium_Release_Notes[Reservation]
+* https://wiki.opendaylight.org/view/ODL-SDNi:Lithium_Release_Notes[SDN Interface Application]
+* https://wiki.opendaylight.org/view/SNBI_Lithium_Release_Notes[Secure Network Bootstrapping Infrastructure (SNBI)]
+* https://wiki.opendaylight.org/view/SNMP4SDN:Lithium_Release_Note[SNMP4SDN]
+* https://wiki.opendaylight.org/view/SNMP_Plugin:Lithium_Release_Notes[SNMP Plugin]
+* https://wiki.opendaylight.org/view/SXP:Lithium:Release_Notes[Secure tag eXchange Protocol (SXP)]
+* https://wiki.opendaylight.org/view/Service_Function_Chaining:Lithium_Release_Notes[Service Function Chaining (SFC)]
+* https://wiki.opendaylight.org/view/TCPMD5:Lithium_Release_Notes[TCP-MD5]
+* https://wiki.opendaylight.org/view/TSDR:Lithium:Release_Notes[Time Series Data Repository (TSDR)]
+* https://wiki.opendaylight.org/view/Table_Type_Patterns/Lithium/Release_Notes[Table Type Patterns (TTP)]
+* https://wiki.opendaylight.org/view/Topology_Processing_Framework:Lithium_Release_Notes[Topology Processing Framework]
+* https://wiki.opendaylight.org/view/USC:Lithium:Release_Notes[Universal Secure Channel (USC)]
+* https://wiki.opendaylight.org/view/Vpnservice:Lithium_Release_Notes[VPN Service]
+* https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):Lithium_Release_Notes[Virtual Tenant Network (VTN)]
+* https://wiki.opendaylight.org/view/YANG_Tools:Lithium:Release_Notes[YANG Tools]
+
+==== Projects without Release Notes
+
+The following projects participated in Lithium, but intentionally do not have release notes.
 
-. The Karaf distribution of OpenDaylight requires internet access when run for the first time.
-. There are scales beyond which the controller has been unreliable when collecting flow statistics from OpenFlow switches. In tests, theses issues became apparent when managing 10s of thousands of OpenFlow switches, however this may vary depending on deployment and use cases. Flow programming has been unaffected in our tests.
+* *Documentation Project* produced this and the other downloadable documentation
+* *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 - autorelease* was used to build the Lithium release artifacts and including the main release download.