Add a section on Robot in the doc 86/93886/1
authorumry8364 <morgan.richomme@orange.com>
Mon, 19 Aug 2019 16:33:25 +0000 (18:33 +0200)
committerumry8364 <morgan.richomme@orange.com>
Mon, 19 Aug 2019 16:33:25 +0000 (18:33 +0200)
Issue-ID: DOC-534

Change-Id: I62be1a4b8eac385015dac519023db4fb7e6bd4dd
Signed-off-by: umry8364 <morgan.richomme@orange.com>
docs/docs_robot.rst [new file with mode: 0644]
docs/files/robot/robot_logs.png [new file with mode: 0644]
docs/files/robot/robot_report_details.png [new file with mode: 0644]
docs/files/robot/robot_report_ko.png [new file with mode: 0644]
docs/files/robot/robot_report_logs.png [new file with mode: 0644]
docs/files/robot/robot_report_ok.png [new file with mode: 0644]

diff --git a/docs/docs_robot.rst b/docs/docs_robot.rst
new file mode 100644 (file)
index 0000000..4d1a724
--- /dev/null
@@ -0,0 +1,238 @@
+.. This work is licensed under a Creative Commons Attribution 4.0
+   International License. http://creativecommons.org/licenses/by/4.0
+
+.. _docs_robot:
+
+Robot
+-----
+
+Introduction
+~~~~~~~~~~~~
+Robot Framework is a generic open source automation framework for acceptance
+testing, acceptance test driven development (ATDD), and robotic process
+automation (RPA). This framework is widely used in ONAP.
+The full documentation of robot can be found in https://robotframework.org/.
+
+In ONAP, Robot scripts have been developed to validate the components, provision
+and run end to end tests.
+
+The robot scripts can be retrieved in the ONAP testsuite repository: https://git.onap.org/testsuite/
+
+A Robot pod is part of the ONAP default installation.
+This pod includes the robot framework and the needed scripts cloned from the
+testsuite repository.
+Additional scripts are created during the installation in order to simplify
+the launch of the different tests and are loacted in /opt/oom/kubernetes/robots.
+
+From one of the kubernetes controller, you shall see the pod as follows:
+
+::
+
+  $ kubectl get pods -n onap | grep robot
+  onap-robot-robot-7fc49977fd-6jblt    1/1     Running    0          9h
+
+You can access the robot configuration through its configmap.
+
+::
+
+  $ kubectl describe cm onap-robot-robot-eteshare-configmap -n onap
+
+You shall see a long list of variables set during the ONAP installation by OOM.
+Please note that some of these variables are set thanks to the OOM
+overide openstack.yaml file. See the examples described in https://git.onap.org/oom/tree/kubernetes/onap/resources/overrides/openstack.yaml
+
+Verification of the ONAP components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ONAP robot healthcheck tests have been created to give a quick feedback on the
+status of the ONAP components.
+
+You can run them from one of the kubernetes controller. You need to log on the
+machine then perform the following commands:
+
+::
+
+  $ cd /opt/oom/kubernetes/robot
+  $ ./ete-k8s.sh onap health
+
+You shall the execution of all the healthcheck launched from bash script hosted
+on the kubernetes controller and executed on the robot pod.
+
+At the end you shall see that logs and reporting are automatically generated
+by robot and stored on the pod under /share/logs/.
+You can retrieve the logs directly from the pods or through the web interface
+integrated in the robot pod by typing
+http://portal.api.simpledemo.onap.org:30209/logs/ (test/test)
+
+.. figure:: files/robot/robot_logs.png
+   :align: center
+
+You shall see 3 files:
+
+* log.html
+* output.xml
+* report.html
+
+A new directory will be created after each run.
+
+log.html should look like
+
+.. figure:: files/robot/robot_report_logs.png
+   :align: center
+
+When the testsuite is passed, the reporting page is green.
+
+.. figure:: files/robot/robot_report_ok.png
+   :align: center
+
+You can click on the test case to get details.
+
+.. figure:: files/robot/robot_report_details.png
+   :align: center
+
+If one of the test is FAIL, the generated web reporting page will be red.
+
+.. figure:: files/robot/robot_report_ko.png
+   :align: center
+
+Lots of tags have been created for healthcheck tests. You may replace health by
+core, small, medium, 3rdparty, health-sdc, health-multicloud,...
+
+See https://git.onap.org/testsuite/tree/robot/testsuites/health-check.robot to
+get all the tags.
+
+As an illustration, healthcheck core traces should be displayed as follows.
+
+::
+
+  $ ./ete-k8s.sh onap core
+  ++ export NAMESPACE=onap
+  ++ NAMESPACE=onap
+  +++ kubectl --namespace onap get pods
+  +++ sed 's/ .*//'
+  +++ grep robot
+  ++ POD=onap-robot-robot-7c47659f7-tt9w4
+  ++ TAGS='-i core'
+  ++ ETEHOME=/var/opt/ONAP
+  +++ kubectl --namespace onap exec onap-robot-robot-7c47659f7-tt9w4 -- bash -c 'ls -1q /share/logs/ | wc -l'
+  ++ export GLOBAL_BUILD_NUMBER=2
+  ++ GLOBAL_BUILD_NUMBER=2
+  +++ printf %04d 2
+  ++ OUTPUT_FOLDER=0002_ete_core
+  ++ DISPLAY_NUM=92
+  ++ VARIABLEFILES='-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py'
+  ++ VARIABLES='-v GLOBAL_BUILD_NUMBER:17175'
+  ++ kubectl --namespace onap exec onap-robot-robot-7c47659f7-tt9w4 -- /var/opt/ONAP/runTags.sh -V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py -v GLOBAL_BUILD_NUMBER:17175 -d /share/logs/0002_ete_core -i core --display 92
+  Starting Xvfb on display :92 with res 1280x1024x24
+  Executing robot tests at log level TRACE
+  ==============================================================================
+  Testsuites
+  ==============================================================================
+  Testsuites.Health-Check :: Testing ecomp components are available via calls.
+  ==============================================================================
+  Basic A&AI Health Check                                               | PASS |
+  ------------------------------------------------------------------------------
+  Basic DMAAP Message Router Health Check                               | PASS |
+  ------------------------------------------------------------------------------
+  Basic Portal Health Check                                             | PASS |
+  ------------------------------------------------------------------------------
+  Basic SDC Health Check                                                (DMaaP:UP)| PASS |
+  ------------------------------------------------------------------------------
+  Basic SDNC Health Check                                               | PASS |
+  ------------------------------------------------------------------------------
+  Basic SO Health Check                                                 | PASS |
+  ------------------------------------------------------------------------------
+  Testsuites.Health-Check :: Testing ecomp components are available ... | PASS |
+  6 critical tests, 6 passed, 0 failed
+  6 tests total, 6 passed, 0 failed
+  ==============================================================================
+  Testsuites                                                            | PASS |
+  6 critical tests, 6 passed, 0 failed
+  6 tests total, 6 passed, 0 failed
+  ==============================================================================
+  Output:  /share/logs/0002_ete_core/output.xml
+  Log:     /share/logs/0002_ete_core/log.html
+  Report:  /share/logs/0002_ete_core/report.html
+
+Onboard and Instantiate VNF/PNF with Robot
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Robot scripts have been also created to provision components and perform end
+to end tests.
+All the robot scripts are hosted on the tesuite repository and deal with various
+test cases and/or components.
+
+::
+
+  robot/testsuites/
+  ├── aai
+  │   └── aai-regression-test-v14.robot
+  ├── cds.robot
+  ├── clamp.robot
+  ├── closed-loop.robot
+  ├── create-cloud-config.robot
+  ├── demo.robot
+  ├── health-check.robot
+  ├── hvves.robot
+  ├── model-distribution.robot
+  ├── model-distribution-vcpe.robot
+  ├── oof
+  │   ├── oof-cmso.robot
+  │   ├── oof-has.robot
+  │   └── oof-osdf.robot
+  ├── pnf-registration.robot
+  ├── portalApp.robot
+  ├── post-install-tests.robot
+  ├── update_onap_page.robot
+  ├── vnf-orchestration-direct-so.robot
+  └── vnf-orchestration.robot
+
+It is, for instance possible to test the onboarding of the vFirewall model in
+the SDC by running the command:
+
+::
+
+  $ ete-k8s.sh onap healthdist
+
+If you consider the ete-k8s.sh script, the following testsuites are referenced:
+
+* cds.robot: cds
+* clamp.robot: clamp
+* demo.robot: InitDemo, InitCustomer, APPCCDTPreloadDemo, APPCMountPointDemo, DistributeDemoVFWDT, DistributeVFWNG
+* health-check.robot: health, core, small, medium, 3rdparty, api, datarouter, externalapi, health-aaf,...
+* hvves.robot: HVVES, ete
+* model-distribution-vcpe.robot: distributevCPEResCust
+* model-distribution.robot: distribute, distributeVFWDT, distributeVLB
+* oof-*.robot: cmso, has, homing
+* pnf-registration.robot: ete, pnf_registrate
+* post-install-tests.robot dmaapacl, postinstall
+* update_onap_page.robot: UpdateWebPage
+* vnf-orchestration-direct-so.robot: instantiateVFWdirectso
+* vnf-orchestration.robot: instantiate, instantiateNoDelete, stability72hr
+
+If you use the demo-k8s.s script, you may see the following options:
+
+* init_robot
+* init
+* init_customer
+* distribute
+* preload
+* appc
+* instantiateVFW
+* instantiateVFWdirectso
+* deleteVNF
+* heatbridge
+* cds
+* distributeVFWNG
+* distributeDemoVFWDT
+* instantiateDemoVFWDT
+* vfwclosedloop
+
+See :ref:`Verified Use Cases and Functional Requirements <docs_usecases>` to see
+how to use these scripts. Some of them may need specific prerequisites on the
+environment and may support specific versions and/or configurations.
+
+
+Develop your own Robot scripts
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+A dedicated wiki page has been created to help people to design and write their
+own robot scripts within ONAP context (https://wiki.onap.org/display/DW/Robot+Framework+Development+Guide)
+It is also possible to contact the integration team to get support.
diff --git a/docs/files/robot/robot_logs.png b/docs/files/robot/robot_logs.png
new file mode 100644 (file)
index 0000000..c078d17
Binary files /dev/null and b/docs/files/robot/robot_logs.png differ
diff --git a/docs/files/robot/robot_report_details.png b/docs/files/robot/robot_report_details.png
new file mode 100644 (file)
index 0000000..f23c177
Binary files /dev/null and b/docs/files/robot/robot_report_details.png differ
diff --git a/docs/files/robot/robot_report_ko.png b/docs/files/robot/robot_report_ko.png
new file mode 100644 (file)
index 0000000..6c57c34
Binary files /dev/null and b/docs/files/robot/robot_report_ko.png differ
diff --git a/docs/files/robot/robot_report_logs.png b/docs/files/robot/robot_report_logs.png
new file mode 100644 (file)
index 0000000..6b3f7d1
Binary files /dev/null and b/docs/files/robot/robot_report_logs.png differ
diff --git a/docs/files/robot/robot_report_ok.png b/docs/files/robot/robot_report_ok.png
new file mode 100644 (file)
index 0000000..83533c1
Binary files /dev/null and b/docs/files/robot/robot_report_ok.png differ