aboutsummaryrefslogtreecommitdiffstats
path: root/docs/docs_robot.rst
diff options
context:
space:
mode:
authorumry8364 <morgan.richomme@orange.com>2019-08-19 18:33:25 +0200
committerumry8364 <morgan.richomme@orange.com>2019-08-19 18:33:25 +0200
commit1d313be98083464b7674a54d5e1f93cad44d4417 (patch)
tree039696ca584245f4d1f0b43e26da9b717e978967 /docs/docs_robot.rst
parentbad325eb02edc5ac00e45d15cc9a3f9dcf5aadc5 (diff)
Add a section on Robot in the doc
Issue-ID: DOC-534 Change-Id: I62be1a4b8eac385015dac519023db4fb7e6bd4dd Signed-off-by: umry8364 <morgan.richomme@orange.com>
Diffstat (limited to 'docs/docs_robot.rst')
-rw-r--r--docs/docs_robot.rst238
1 files changed, 238 insertions, 0 deletions
diff --git a/docs/docs_robot.rst b/docs/docs_robot.rst
new file mode 100644
index 000000000..4d1a72489
--- /dev/null
+++ b/docs/docs_robot.rst
@@ -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.