aboutsummaryrefslogtreecommitdiffstats
path: root/docs/onap-integration-ci.rst
diff options
context:
space:
mode:
authormrichomme <morgan.richomme@orange.com>2020-11-14 22:36:57 +0100
committermrichomme <morgan.richomme@orange.com>2020-11-16 16:31:18 +0100
commit9643b0c11bdafd26ea0ac5127325aa8cb09f0c03 (patch)
treefaf59c0307daa092c754508de93ad2d325826003 /docs/onap-integration-ci.rst
parent6db5edce534c882fa0b2a28778fa4bc4be31b8f6 (diff)
Refactor Integration official documentation
Issue-ID: INT-1736 Signed-off-by: mrichomme <morgan.richomme@orange.com> Change-Id: Ia7b6425358eb9b07e293881dabd5345697af1c39
Diffstat (limited to 'docs/onap-integration-ci.rst')
-rw-r--r--docs/onap-integration-ci.rst169
1 files changed, 0 insertions, 169 deletions
diff --git a/docs/onap-integration-ci.rst b/docs/onap-integration-ci.rst
deleted file mode 100644
index 99a54323a..000000000
--- a/docs/onap-integration-ci.rst
+++ /dev/null
@@ -1,169 +0,0 @@
-.. _integration-ci:
-
-Integration Continuous Integration Guide
-----------------------------------------
-
-Continuous Integration is key due to the complexity of the ONAP projects.
-Several chains have been created:
-
-- Daily stable chain
-- Daily master chain
-- Gating: On demand deployment of a full ONAP solution to validate patchsets
-
-They are run on different environments (Orange labs, DT labs, Azure Cloud).
-
-The following document will detail these chains and how you could set up such
-chains and/or provide test results to the community.
-
-Integration CI Ecosystem
-------------------------
-
-Overview
-~~~~~~~~
-
-The global ecosystem can de described as follows:
-
-.. figure:: files/CI/ONAP_CI_10.png
- :align: center
-
-Several chains are run in ONAP.
-The CI chains are triggered from different CI systems (Jenkins or gitlab-ci) (1)
-on different target environments hosted on community labs (Windriver,
-Orange, DT, E///) or Azure clouds. Jobs (installation, tests) are executed on
-these labs (2). At the end, the results are pushed through the OPNFV test API (3)
-to a test database (4) hosted by Linux Foundation on
-http://testresults.opnfv.org.
-Results can be reported in different web pages hosted on LF or on gitlab.com (5).
-
-
-Daily Chains
-~~~~~~~~~~~~
-
-CI daily chains (Master and last Stable) are run on Orange, DT using gitlab-ci
-jobs and Ericsson using jenkins jobs.
-
-Gating
-~~~~~~
-
-OOM gating has been introduced for El Alto. It consists of a deployment followed
-by a set of tests on patchsets submitted to OOM repository.
-
-The CI part is managed on gitlab.com and the deployment is executed on ONAP
-Orange lab and Azure clouds.
-The goal is to provide a feedback - and ultimately to vote - on code change
-prior to merge to consolidate the OOM Master branch.
-
-The developer can evaluate the consequences of his/her patchset on a fresh
-installation.
-
-The gating is triggered in 2 scenarios:
-
- - new patchset in OOM
- - comment with the magic word **oom_redeploy** is posted in the Gerrit's comment
- section
-
-The procedure to submit new feature in CI is done in 3 steps as described in the
-figure below:
-
-.. figure:: files/CI/ONAP_CI_0.png
- :align: center
-
-
-Visualization of the CI pipelines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-As the CI chains are triggered from different systems, several web interfaces
-can be used to visualize them.
-
-A web site has been created to centralize the links on http://testresults.opnfv.org/onap-integration/index.html
-
-.. figure:: files/CI/ONAP_CI_3.png
- :align: center
-
-For Gating and gitlab.com based CI chains, the pipelines consist in pipelines of
-pipelines managed through the chaining of .gitlab-ci.yml file thanks to an Open
-Source deployment called chained-ci (https://gitlab.com/Orange-OpenSource/lfn/ci_cd/chained-ci).
-A visualization tool is available to list all your chains as described in the
-figure below:
-
-.. figure:: files/CI/ONAP_CI_1.png
- :align: center
-
-If you click on any element of the chain, you will open a new window:
-
-.. figure:: files/CI/ONAP_CI_2.png
- :align: center
-
-In order to provide the logs to the developer an additional web page has been
-created to summarize the tests and grant access to their associated logs:
-
-.. figure:: files/CI/ONAP_CI_8.png
- :align: center
-
-Additionnaly, for the daily chain, another page displays the results as time
-series, allowing to see the evolution of the tests over time.
-
-.. figure:: files/CI/ONAP_CI_9.png
- :align: center
-
-
-Setup Your Own CI Chains
-------------------------
-
-If you want to setup a gitlab.com based CI chain, and want to use chained-ci,
-you can follow the tutorial on https://gitlab.com/Orange-OpenSource/lfn/ci_cd/chained-ci-handson
-
-You should be able to chain your automation projects:
-
-* Create resources
-* Deployment of Kubernetes
-* Test of your Kubernetes (using OPNFV functest-k8s tests)
-* Deployment of your ONAP (you can use your own automatic installation
- procedure or https://gitlab.com/Orange-OpenSource/lfn/onap/onap_oom_automatic_installation/)
-* Test ONAP thanks to the differnet ONAP xtesting dockers covering infrastructure
- healthcheck, components healthcheck tests, end to end tests, security tests.
-
-If you want to report your results to the community, do not hesitate to contact
-the integration team. The Test database is public but the pods must be declared
-to be allowed to report results from third party labs.
-
-
-ONAP Integration Testing Gate
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-5 categories have been defined for the ONAP integration testing gate:
-
-* infrastructure healthcheck: verify ONAP from a k8S perspective. It includes
- 2 tests: onap-k8s (all the deployments, jobs, statefulste,..must be OK at
- the end of an installation), onap-helm (all the helm chart must be
- completed at the end of the installation)
-* healthcheck: the traditionnal robot tests run from the cluster to perform
- tests on the different components.
-* smoke-usecases: End to end tests
-* candidate-usecases: New end to end tests introduced in the automation chain
- for the release
-* security tests (security of kubernetes (CVE, CIS tests) and ONAP (exposed
- ports, check the containers run as root,...))
-* benchmarking (robustness, stress tests): not yet available
-
-All these tests have been packaged thanks to the OPNFV Open Source tool xtesting.
-Xtesting is a python package allowing to unify the way to declare, run tests. It
-also ensures a consistent way to get the test results whatever the test framework
-used (python, robotframework, bash, ...). It includes the mechanism to
-automatically push the results to the test database using the test API.
-It simplifies the integration in CI.
-
-The package can be found here https://pypi.org/project/xtesting/.
-
-The different ONAP xtesting dockers can be found on https://gitlab.com/Orange-OpenSource/lfn/onap/integration/xtesting/container_registry
-
-As an illustration, you can run the infrastructure healthcheck by typing the
-following command::
-
- docker run -v <the kube config>:/root/.kube/config -v <result directory>:
- /var/lib/xtesting/results registry.gitlab.com/orange-opensource/lfn/onap/integration/xtesting/infra-healthcheck:latest
-
-All the xtesting tests are included in Daily and gating chains.
-Please note that you can build your own onap-xtesting docker if you want to
-include your tests. See https://wiki.onap.org/pages/viewpage.action?pageId=79202765
-for details.