Is there any process for use case integration?

This is a high level draft process for use case integration. Do not hesitate to comment/amend/criticise/improve/..)

Historically Integration is in charge to help and support use case projects.

The use case projects define their architecture, test plans, deal with the component projects when changes/features are needed.

We may consider the integration in several steps



Step

Description

Expected results

Integration team role

Documentations

Comments

Step

Description

Expected results

Integration team role

Documentations

Comments

1

use case runnable in 1 lab

The use case is up&running in 1 lab, that can be the use case owner lab -

The result is declarative trusted by default, included in the use case wiki page managed by the integration team

if resources needed, windriver lab can be used to. A request shall be addressed to the Integration team by mail or during weekly meetings

Support is also provided in best effort by Integration contributors

wiki documentation is acceptable

The use case is considered as "draft" and cannot be announced as officially part of the release

2

Official Documentation is available

Based on 1), an official documentation is provided (in integration repository).

Documentation is sufficient to allow people to replay the use case in another lab.

review/merge the documentation pushed into integration repository

official documentation mandatory

The use case is considered as a "candidate use case" and can be announced for the release.



3

use case runnable in at least 2 labs

Based and 1 and 2) the use case has been deployed in another lab

Integration team can help to re-run the test in a lab from the Integration community and support the test from a second source.

At this stage automation shall be initiated to simplify the deployment and execution of the tests

tooling and automation scripts must be documented.

It is highly recommended for each tooling to include code verification, and unit tests (same quality rules than the component developments)

it may be include in the gate in candidate use case stage (if the use case is easy to automate).

4

integration in testing gate

The use case is included in smoke or candidate use case stage, these stages are run on Daily CI chains. Results are automatically reported from 1 or several labs.

The use case must be deployable/runnable in 1 click and include its own resources setup and tear down independently from the installation

Integration team can help to integrate the use case in the CI chains

Declare use case in test DB

http://testresults.opnfv.org/onap/api/v1/projects/integration/cases

http://testresults.opnfv.org/onap/api/v1/projects/security/cases

The use case is considered as a "smoke use case", it means that it is part of the criteria for the release. It must be PASS in the gate.



Note: 4 is not always possible. If you are using proprietary/physical equipments and/or VNFs and/or complex use cases, it may be hard to automate and push in gate. If the test is also very long, it may be excluded to save CI resources.