Pin robotframework-robocop version in tox.ini to 4.2.2 to fix stage2
[osm/tests.git] / README.md
index 0673b38..7be9050 100644 (file)
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ limitations under the License
 
 # OSM test automation project - osm/tests
 
 
 # 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
 
 
 ## 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)
 
 - 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
 
 
 ### Configure the environment file
 
-```
-export OSM_HOSTNAME=<OSM_IP_ADDRESS>
-export VIM_TARGET=<VIM_REGISTERED_AT_OSM>
-export VIM_MGMT_NET=<NAME_OF_THE_MGMT_NETWORK_IN_THE_VIM>
-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=<OSM_IP_ADDRESS>
+VIM_TARGET=<VIM_REGISTERED_AT_OSM>
+VIM_MGMT_NET=<NAME_OF_THE_MGMT_NETWORK_IN_THE_VIM>
+OS_CLOUD=<OPENSTACK_CLOUD>    # OpenStack Cloud defined in $HOME/.config/openstack/clouds.yaml or in /etc/openstack/clouds.yaml
 ```
 
 ### Run the tests
 ```
 
 ### 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 \
 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 \
 
 ```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
 
 ```
 
 ## 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 \
 
 ```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/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
 ```
 
            -t sol003_01
 ```
 
@@ -92,10 +96,11 @@ Other relevant options to run tests are:
 - `-p <package_branch>` [OPTIONAL]: OSM packages repository branch. Default: master
 - `-t <testing_tags>` [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanity
 
 - `-p <package_branch>` [OPTIONAL]: OSM packages repository branch. Default: master
 - `-t <testing_tags>` [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanity
 
-
 ## How to run tests from a host
 
 ## 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.
 
 
 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
 
 
 ### 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=<OSM_IP_ADDRESS>
+export VIM_TARGET=<VIM_REGISTERED_AT_OSM>
+export VIM_MGMT_NET=<NAME_OF_THE_MGMT_NETWORK_IN_THE_VIM>
+export OS_CLOUD=<OPENSTACK_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
 
 ### Running the tests
 
 ```bash
-source envfile.rc
+source envconfig.rc
 mkdir reports
 robot -d reports -i <testing_tags> testsuite/
 ```
 mkdir reports
 robot -d reports -i <testing_tags> 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`,
   - `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_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
 - 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
 
 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
 
 
 ## 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