X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Ftests.git;a=blobdiff_plain;f=README.md;h=7eff36f0c74702a7c4a048ae6b2094939f2cf537;hp=0673b384b49ea92876f9a933a4c4c8c17dfda3ce;hb=HEAD;hpb=1a1eb837906db08ef34ff9ef1611e411f38fd490 diff --git a/README.md b/README.md index 0673b38..7be9050 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,23 @@ 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 +export OCI_REGISTRY_URL= # URL of the OCI registry where helm charts used in test packages are stored. +export OCI_REGISTRY_USER= # User of the OCI registry +export OCI_REGISTRY_PASSWORD= # Password of the OCI registry +``` ### Running the tests ```bash -source envfile.rc +source envconfig.rc mkdir reports robot -d reports -i testsuite/ ``` @@ -169,17 +185,17 @@ The following tags exist for each testsuite: - `cluster_relations`: `basic_11`, `basic_13`, `basic_14` - `cluster_epa`: `epa_01`, `epa_02`, `epa_03`, `epa_04`, `epa_05` - `cluster_k8s`: `k8s_01`, `k8s_02`, `k8s_03`, `k8s_04`, `k8s_05`, `k8s06`, - `k8s_07`, `k8s_08`, `k8s_09`, `k8s_10`, `k8s_11`, `sa_08` + `k8s_07`, `k8s_08`, `k8s_09`, `k8s_10`, `k8s_11`, `k8s_12`, `k8s_13`, `sa_08` - `cluster_k8s_charms`: `k8s_05`, `k8s_06` - `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 - stage3 to be successfully verified by Jenkins, currently `basic_07`, - `basic_11`, `k8s_03`, `k8s_04`, `sa_02`, `hackfest_basic`, `hackfest_cloudinit` + stage3 to be successfully verified by Jenkins, currently `k8s_04`, + `sa_02`, `hackfest_basic`, `hackfest_cloudinit` In addition, the tag "cleanup" exists in those tests that perform any deletion. In that way, it can be invoked to retry the deletion if @@ -241,5 +257,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