X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=README.md;h=ad0cde8e02a5eb435b55b8abb5787d62fc56b111;hb=a351dd2cde5da66a2a04b084e41d2e3210ca5945;hp=0673b384b49ea92876f9a933a4c4c8c17dfda3ce;hpb=1a1eb837906db08ef34ff9ef1611e411f38fd490;p=osm%2Ftests.git diff --git a/README.md b/README.md index 0673b38..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/ ``` @@ -174,7 +187,7 @@ The following tags exist for each testsuite: - `cluster_sa`: `sa_01`, `sa_02`, `sa_07` - `cluster_slices`: `slice_01`, `slice_02` - `cluster_heal`: `heal_01`, `heal_02`, `heal_03`, `heal_04` - - `cluster_sol003`: `sol003_01` + - `cluster_osm_rest`: `sol003_01` - daily: for all testsuites that will run in the daily job - regression: for all testsuites that should pass in the current stable branch - sanity: for all testsuites that should be passed by each commit in the @@ -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