From 79668fcf4509d0f4538828d726e807b83ff4f2bc Mon Sep 17 00:00:00 2001 From: ulik Date: Fri, 10 Feb 2017 16:31:06 +0100 Subject: Scenario Lifecycle Document - First version with content 1.step(patchset 1&2): provide index.rst and overview 2.step(patchset 3): provide sceleton 3.step(patchset 4): fix comments and provide first content patchset 5: fix comments in 8 files, one file deleted. patchset 6: fix more comments patchset 7: fix more comments adding some editors notes Jira OCTO-162 Change-Id: I8928953da29aef2bddeb42510fb5983eee9ea30f Signed-off-by: ulik --- docs/scenario-lifecycle/scenario-overview.rst | 97 +++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 docs/scenario-lifecycle/scenario-overview.rst (limited to 'docs/scenario-lifecycle/scenario-overview.rst') diff --git a/docs/scenario-lifecycle/scenario-overview.rst b/docs/scenario-lifecycle/scenario-overview.rst new file mode 100644 index 0000000..9c9c508 --- /dev/null +++ b/docs/scenario-lifecycle/scenario-overview.rst @@ -0,0 +1,97 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) 2017 OPNFV Ulrich Kleber (Huawei) + + +.. Scenario Lifecycle +.. ========================================== + +Note: This document is still work in progress. + +Overview +------------- + +Problem Statement: +^^^^^^^^^^^^^^^^^^^ + +OPNFV provides the NFV reference platform in different variants, using different +upstream open source projects. +In many cases this includes also different upstream projects providing similar or +overlapping functionality. + +OPNFV introduces scenarios to define various combinations of components from upstream +projects or configuration options for these components. + +The number of such scenarios has increased over time, so it is necessary to clearly +define how to handle the scenarios. + +Introduction: +^^^^^^^^^^^^^^^^^^^ +Some OPNFV scenarios have an experimental nature, since they introduce +new technologies that are not yet mature enough to provide a stable release. +Nevertheless there also needs to be a way to provide the user with the +opportunity to try these new features in an OPNFV release context. + +Other scenarios are used to provide stable environments for users +that wish to build products or live deployments on them. + +OPNFV scenario lifecycle process will support this by defining two types of scenarios: + +* **Generic scenarios** cover a stable set of common features provided + by different components and target long-term usage. +* **Specific scenarios** are needed during development to introduce new upstream + components or new features. + They are intended to merge with other specific scenarios + and bring their features into at least one generic scenario. + +OPNFV scenarios are deployed using one of the installer tools. +A scenario can be deployed by multiple installers and the result will look +very similar but different. The capabilities provided by the deployments +should be identical. Results of functional tests should be the same, +independent of the installer that had been used. Performance or other +behavioral aspects could be different. +The scenario lifecycle process will also define how to document which installer +can be used for a scenario and how the CI process can trigger automatic deployment +for a scenario via one of the supported installers. + +When a developer decides to define a new scenario, he typically will take one +of the existing scenarios and does some changes, such as: + +* add additional components +* change a deploy-time configuration +* use a component in a more experimental version + +In this case the already existing scenario is called a "parent" and the new +scenario a "child". + +Typically parent scenarios are generic scenarios, but this is not mandated. +In most times the child scenario will develop the new functionality over some +time and then try to merge its configuration back to the parent. +But in other cases, the child will introduce a technology that cannot easily +be combined with the parent. +For this case this document will define how a new generic scenario can be created. + +Many OPNFV scenarios can be deployed in a HA (high availability) or non-HA +configuration. +HA configurations deploy some components according to a redundancy model, +as the components support. +In these cases multiple deployment options are defined for the same scenario. + +Deployment options will also be used if the same scenario can be deployed +on multiple types of hardware, i.e. Intel and ARM. + +Every scenario will be described in a scenario descriptor yaml file. +This file shall contain all the necessary information for different users, such +as the installers (which components to deploy etc.), +the ci process (to find the right resources), +the test projects (to select correct test cases), etc. + +In early OPNFV releases, scenarios covered components of the infrastructure, +that is NFVI and VIM. +With the introduction of MANO, an additional dimension for scenarios is needed. +The same MANO components need to be used together with each of the infrastructure +scenarios. Thus MANO scenarios will define the MANO components and a list of +infrastructure scenarios to work with. Please note that MANO scenarios follow +the same lifecycle and rules for generic and specific scenarios like the +infrastructure scenarios. + -- cgit 1.2.3-korg