X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=README.md;h=68741c24c7031a0e397ce0c104a0c48cf268946b;hb=c4fd267f94a6131eea3d1ba2f99d7cc80de7be2e;hp=51a7ec57bcded8dbec1b437b48f29b17b1d3a9a3;hpb=4cc047e7b0d4d8620f7a83d7c45e5b57733ef279;p=osm%2Ftests.git diff --git a/README.md b/README.md index 51a7ec5..68741c2 100644 --- a/README.md +++ b/README.md @@ -32,50 +32,52 @@ This repository contains tools and configuration files for testing and automatio This bash script can be used to setup your environment to execute the tests. ```bash - PACKAGES_FOLDER=osm-packages - add-apt-repository -y ppa:rmescandon/yq && apt update && apt install yq git iputils-ping ssh -y - pip install haikunator requests robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary \ - robotframework-sshlibrary - snap install charm - # Download community packages - git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER} +PACKAGES_FOLDER=osm-packages +add-apt-repository -y ppa:rmescandon/yq && apt update && apt install yq git iputils-ping ssh -y +pip install haikunator requests robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary \ + robotframework-sshlibrary +snap install charm +# Download community packages +git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER} ``` envfile.rc ```bash - # VIM Setup - OS_USERNAME= - OS_PASSWORD= - OS_TENANT_NAME= - OS_AUTH_URL= - OS_TENANT_ID= +# VIM Setup +OS_USERNAME= +OS_PASSWORD= +OS_TENANT_NAME= +OS_AUTH_URL= +OS_TENANT_ID= - # OSM Setup - OSM_HOSTNAME= - VIM_TARGET= - VIM_MGMT_NET= +# OSM Setup +OSM_HOSTNAME= +VIM_TARGET= +VIM_MGMT_NET= - # Clouds file datacenter - OS_CLOUD= +# Clouds file datacenter +OS_CLOUD= +# SDNCs file +OS_SDNC= - # K8S config file - K8S_CREDENTIALS= +# K8S config file +K8S_CREDENTIALS= - # The following set of environment variables will be used in host - # of the robot framework. Not needed for docker execution +# The following set of environment variables will be used in host +# of the robot framework. Not needed for docker execution - # Folder where Robot tests are stored - ROBOT_DEVOPS_FOLDER=robot-systest +# Folder where Robot tests are stored +ROBOT_DEVOPS_FOLDER=robot-systest - # Folder to save alternative DUT environments (optional) - ENVIRONMENTS_FOLDER=environments +# Folder to save alternative DUT environments (optional) +ENVIRONMENTS_FOLDER=environments - # Folder where all required packages are stored - PACKAGES_FOLDER=osm-packages +# Folder where all required packages are stored +PACKAGES_FOLDER=osm-packages - # Folder where test results should be exported - ROBOT_REPORT_FOLDER=results +# Folder where test results should be exported +ROBOT_REPORT_FOLDER=results ``` ## Deployment @@ -99,12 +101,14 @@ Volumes: * [OPTIONAL]: It is the absolute path to reports location in the host * [OPTIONAL]: It is the absolute path to the clouds.yaml file in the host +* [OPTIONAL]: It is the absolute path to the sdncs.yaml file in the host * [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters ```bash - docker run --rm=true -t osmtests --env-file \ +docker run --rm=true -t osmtests --env-file \ -v :/reports osmtests \ -v :/robot-systest/clouds.yaml \ + -v :/robot-systest/sdncs.yaml \ -v :/root/.kube/config \ -o \ -p \ @@ -116,10 +120,45 @@ Volumes: The way of executing the tests is via the following command: ```bash - source envfile.rc - robot -d reports -i testsuite/ +source envfile.rc +robot -d reports -i testsuite/ ``` +## Test tags + +All tests in the testsuites have tags. Tags allow to run only a set of tests +identified by a tag. Several tags can be specified when running robot in the +following way: + +```bash +robot -i -i testsuite/ +``` + +The following tags exist for each testsuite: + +- A tag per testsuite using its mnemonic (e.g. `basic_01`) +- Cluster tag for each of the statistically similar tests: + - `cluster_main`: `basic_01`, `basic_05`, `basic_08`, `basic_09`, `basic_15`, + `basic_16`, basic_17`, `hackfest_basic`, `hackfest_multivdu`, + `hackfest_cloudinit`, `quotas_01` + - `cluster_ee_config`: `basic_06`, `basic_07`, `basic_11`, `basic_12`, + `basic_13`, `basic_14`, `k8s_05`, `k8s_06` + - `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_07`, `k8s_08`, `sa_08` + - `cluster_k8s_charms`: `k8s_05`, `k8s_06` + - `cluster_sa`: `sa_01`, `sa_02`, `sa_07` + - `cluster_slices`: `slice_01`, `slice_02` +- 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` + +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 +the tests were forcefully stopped. + ## Built With * [Python](www.python.org/) - The language used