From 83fb19882fd74b8a8d7037d965177a994ed0a58f Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Wed, 28 Jun 2023 00:21:14 +0200 Subject: [PATCH] Update README to clarify the common testing scenarios Change-Id: I80f0ac743f8ab7d22733cfc16ddead5101546665 Signed-off-by: garciadeblas --- README.md | 67 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 0c8afbf..ad0cde8 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ limitations under the License # OSM test automation project - osm/tests -This repository contains tools and configuration files for testing and automation needs of OSM projet +This repository contains tools and configuration files for testing and automation needs of OSM project. ## Prerequisites @@ -25,22 +25,17 @@ This repository contains tools and configuration files for testing and automatio - VIM already registered in OSM - K8s cluster already registered in OSM (for tests involving a K8s cluster) -## Quickstart (run tests using docker) +## Quickstart. How to run tests using OSM docker images ### Configure the environment file -``` -export OSM_HOSTNAME= -export VIM_TARGET= -export VIM_MGMT_NET= -export K8S_CREDENTIALS= # path to the kubeconfig file of the K8s cluster to be tested -export OS_CLOUD= # OpenStack Cloud defined in $HOME/.config/openstack/clouds.yaml or in /etc/openstack/clouds.yaml -``` - -### Create the docker container +Create a file `envconfig.rc` copying from `envconfig-local.rc` and set the required variables. -```bash -docker build -f docker/Dockerfile -t osmtests . +``` +OSM_HOSTNAME= +VIM_TARGET= +VIM_MGMT_NET= +OS_CLOUD= # OpenStack Cloud defined in $HOME/.config/openstack/clouds.yaml or in /etc/openstack/clouds.yaml ``` ### Run the tests @@ -49,32 +44,41 @@ docker build -f docker/Dockerfile -t osmtests . docker run --rm=true --name tests -t --env-file envconfig.rc \ -v ~/.config/openstack/clouds.yaml:/etc/openstack/clouds.yaml \ -v ~/tests/reports:/robot-systest/reports \ - osmtests \ - -t sol003_01 + opensourcemano/tests:testing-daily \ + -t sanity ``` -You can use a different robot tag instead of `sol003_01`. The whole list of tags are gathered below in this README. +You can use a different robot tag instead of `sanity`. The whole list of tags are gathered below in this README. + +## How to build docker container for tests and run tests from there + +### Create the docker container + +```bash +docker build -f docker/Dockerfile -t osmtests . +``` -## How to run sanity tests using daily images from master branch +### Run the tests ```bash docker run --rm=true --name tests -t --env-file envconfig.rc \ -v ~/.config/openstack/clouds.yaml:/etc/openstack/clouds.yaml \ -v ~/tests/reports:/robot-systest/reports \ - opensourcemano/tests:testing-daily \ - -t sanity + osmtests \ + -t sol003_01 ``` ## How to mount local tests folder for developing purposes -The following line will mount the required files for `sol003_01` testuite and will execute that testsuite: +The following line will mount the folder `robot-systest`, including all libraries and testuites, and will execute the testsuite `sol003_01`: ```bash docker run --rm=true --name tests -t --env-file envconfig.rc \ -v ~/.config/openstack/clouds.yaml:/etc/openstack/clouds.yaml \ + -v ~/tests/robot-systest:/robot-systest \ -v ~/tests/reports:/robot-systest/reports \ - -v ~/tests/robot-systest/lib/sol003_common_lib.robot:/robot-systest/lib/sol003_common_lib.robot \ - osmtests \ + -v ~/osm-packages:/robot-systest/osm-packages \ + opensourcemano/tests:testing-daily \ -t sol003_01 ``` @@ -92,10 +96,11 @@ Other relevant options to run tests are: - `-p ` [OPTIONAL]: OSM packages repository branch. Default: master - `-t ` [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanity - ## How to run tests from a host -### Installing +In general, testing from docker images is the best way if you want to develop for OSM. However, sometimes it could be useful to run tests directly from the host. + +### Install dependencies This bash script can be used to setup your environment to execute the tests. @@ -111,12 +116,20 @@ git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ### Configure the environment -Create a file `envfile.rc` copying from `envconfig-local.rc` and set the required variables. +Create a file `envconfig.rc` copying from `envconfig-local.rc` and set the required variables (in this case, the use of `export` is mandatory). + +``` +export OSM_HOSTNAME= +export VIM_TARGET= +export VIM_MGMT_NET= +export OS_CLOUD= # OpenStack Cloud defined in $HOME/.config/openstack/clouds.yaml or in /etc/openstack/clouds.yaml +export K8S_CREDENTIALS= # path to the kubeconfig file of the K8s cluster to be tested +``` ### Running the tests ```bash -source envfile.rc +source envconfig.rc mkdir reports robot -d reports -i testsuite/ ``` @@ -241,5 +254,5 @@ We use [SemVer](http://semver.org/) for versioning. For the versions available, ## License -This project is licensed under the Apache2 License - see the [LICENSE.md](LICENSE) file for details +This project is licensed under the Apache2 License - see the [LICENSE](LICENSE) file for details -- 2.17.1