+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei
+
============
Introduction
============
-The OPNFV project provides different kinds of output to its users:
-
-1. **Target Software Platform**
-
- This provides the software which will run as NFVI and VIM in an actual NFV deployment
- It is an integrated solution of several other open source projects, e.g. OpenStack,
- Linux, ODL.
-
-2. **Deployment Tools**
-
- So called installers help the user deploy target software on his hardware.
- OPNFV provides multiple options to do this.
-
-3. **Test Cases and Framework**
-
- The target software platform can be verified and evaluated using these testcases.
- Their goal is to show that the deployed platform is usable to run VNFs.
-
-4. **Documentation**
-
- OPNFV provides the necessary documents describing target software platform, deployment
- tools, tests, etc. in their architecture and usage.
-
-5. **Requirements**
-
- OPNFV community works on requirements of open source projects used in OPNFV to
- make these projects better suitable for NFV telco carrier use cases.
- These requirements are described in requirement documents and also forwarded
- to the "upstream" projects in the format required by these projects.
-
-6. **Community Labs**
-
- OPNFV creates lab environments not only for development of OPNFV, but also to help
- build the NFV ecosystem. OPNFV labs follow a defined structure and configuration.
- Some of the labs have their dedicated tasks in the development environment, some of
- the labs will be provided for open use.
-
-**OPNFV Releases**
+OPNFV is an integration effort that takes outputs from several open source communities to build a NFV platform. This task of integration leads to providing different kinds of output to its users.
+
+First of all there is of course the **target software platform**, which is a integrated solution
+of a set of components/building blocks of the ETSI ISG NFV reference architecture.
+In the Brahmaputra release, this is limited to the NFVI and VIM blocks.
+OPNFV users will be able to deploy their VNFs there using some MANO solution.
+The target software platform is integrated from a set of other open source components,
+of which the biggest ones are OpenStack and SDN controllers. There are multiple combinations
+possible and a subset is provided and tested by the Brahmaputra release. These subsets
+are called here scenarios.
+
+Besides the target software platform, OPNFV provides a set of tools that helps the user
+deploy this target software platform on a set of servers. These tools are called
+**installers**. Brahmaputra provides multiple options here. Naturally the different installers
+have different capabilities, that is they support deployment of different **scenarios**.
+
+The installers allow users to deploy OPNFV target software platform on a bare metal environment
+or a set of virtual machines. In both cases, some hosts (bare metal or virtual) will act
+as controller nodes, while other hosts will be the compute nodes hosting the VNFs.
+The installers use a separate server to control the deployment process. This server is called
+"jump server" and is installed with the installer's software at the beginning of a deployment.
+The jump server also can be bare metal or virtual.
+
+This configuration - jump servers and a set of typically 5 nodes to run the target software platform -
+is also described as part of an OPNFV release. This allows the users to build their own labs
+accordingly and deploy OPNFV easily. A lab compliant to this description sometimes is called
+**"Pharos-compliant"** after the OPNFV project providing the lab description.
+
+Another major part of the OPNFV release is a **testing framework** and test cases.
+This test framework allows users to verify their deployment of the OPNFV target software platform.
+It will execute and test major functions of the platform relevant to NFV applications (VNFs) so
+the user can be confident that VNFs can successfully run.
+
+Of course, the OPNFV releases come with the necessary **documentation**, describing
+target software platform, deployment tools, tests, etc. in their architecture and usage.
+The most important documents here are configuration guides and user guides that help to set up
+a OPNFV deployment and use it.
+
+The OPNFV project takes major effort to provide **lab environments** to the community.
+The OPNFV community labs of course need to be Pharos-compliant. They are used for OPNFV development
+tasks and release creation, but should also provide users with the opportunity to run their own
+OPNFV tests. OPNFV community labs are not part of a OPNFV release.
+
+We should also mention that OPNFV works on **requirements** of open source projects used in OPNFV to
+make these projects better suitable for NFV telco carrier use cases.
+These requirements are described in requirement documents and also forwarded
+to the "upstream" projects in the format required by these projects.
+These requirement documents are not bound to OPNFV releases.
OPNFV bundles the target software, installers, documentation, test cases and lab
-description to releases and provides documentation describing the scope and features
+description to **releases** and provides documentation describing the scope and features
provided.
-Since OPNFV releases contain different options (e.g. for installers, SDN controllers, etc.)
-We define a set of scenarios, that is a set of components, combinations
-and associated configuration.
-This set of scenarios shows which combinations of components and features are tested as
-part of the OPNFV release.
-
This overview document introduces these components and scenarios on a high level and
-points you to more
-detailed documentation.
-It describes the OPNFV Brahmaputra release.
+points you to more detailed documentation.
-OPNFV Requirement documents typically describe requirements that will be implemented in
-later releases of OPNFV. Thus they are not part of a release package.
-Also community labs are independent of releases. Only the lab description is included in
-the release and describes the requirements of a lab to successfully run Brahmaputra
-deployments.
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei
+
========================
Target software platform
========================
OPNFV Brahmaputra release supports three different SDN controllers:
-* OpenDaylight
-* ONOS
-* OpenContrail
+* OpenDaylight (ODL, Beryllium release)
+* ONOS (Emu release)
+* OpenContrail (?)
Depending on the SDN controller you are using, the featureset will vary.
+Brahmaputra also provides scenarios without an SDN controller, just using OpenStack Neutron.
OpenDaylight
++++++++++++
ONOS
++++
-Editors note:
-We need a high level paragraph here and a description of how we use ONOS, especially the
-relation of ONOS and ONOSFW project's integration and features.
+.. ONOS intro shortened from https://wiki.onosproject.org/pages/viewpage.action?pageId=2851517
+
+ONOS stands for **O** pen **N** etwork **O** perating **S** ystem. ONOS provides the control plane
+for a software-defined network (SDN), managing network components, such as switches and links,
+and running software programs or modules to provide communication services to end hosts and
+neighboring networks.
+
+ONOS provides a platform for SDN applications and use cases for routing, management, or
+monitoring services for software-defined networks.
+
+ONOS can run as a distributed system across multiple servers, allowing it to use the CPU and
+memory resources of multiple servers while providing fault tolerance in the face of server
+failure and potentially supporting live/rolling upgrades of hardware and software without
+interrupting network traffic.
+
+The ONOS kernel and core services, as well as ONOS applications, are written in Java as bundles
+that are loaded into the Karaf OSGi container. OSGi is a component system for Java that allows
+modules to be installed and run dynamically in a single JVM.
+
+More information on the internal design of ONOS may be found in
+`User's Guide <https://wiki.onosproject.org/display/ONOS/User's+Guide>`_ and
+`Architecture+Guide <https://wiki.onosproject.org/display/ONOS/Architecture+Guide>`_ on the
+`wiki of the ONOS project <https://wiki.onosproject.org>`_.
+
+ONOS is integrated to OPNFV using a framework ONOSFW and Neutron plugins. Details can be found in the
+ONOS specific OPNFV documents:
+
+.. Link to be added.
+
OpenContrail
++++++++++++