| commit | d90c14aa761a796cf74563812fb5a01f3b145ee9 | [log] [tgz] |
|---|---|---|
| author | dhanasekaran <ragavi.d@tataelxsi.co.in> | Tue Jun 21 07:19:17 2022 +0000 |
| committer | garciadeblas <gerardo.garciadeblas@telefonica.com> | Tue Jun 21 11:36:43 2022 +0200 |
| tree | 1b78aa5e76620e196f8d74b9d7470d681442324e | |
| parent | 44c59336599f1e0e58fe8a8ed78a5cd335419dad [diff] |
Fix warnings in sol003 tests related to RequestsLibrary Instead of the deprecated methods Post Request and Get Request, the new methods Post On Session and Get On Session are used. Change-Id: I64f0f575c752743b0125385f08c1fc5731457881 Signed-off-by: dhanasekaran <ragavi.d@tataelxsi.co.in>
This repository contains tools and configuration files for testing and automation needs of OSM projet
envfile.rcThis bash script can be used to setup your environment to execute the tests.
python3 -m pip install -r requirements.txt python3 -m pip install -r requirements-dev.txt # Download community packages PACKAGES_FOLDER=osm-packages git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER}
Configure a file envfile.rc copying from envconfig-local.rc and set the required variables
# VIM Setup OS_USERNAME=<openstack_username> OS_PASSWORD=<openstack_password> OS_TENANT_NAME=<openstack_tenant_name> OS_AUTH_URL=<openstack_authorization_url> OS_TENANT_ID=<openstack_tenant_id> # OSM Setup OSM_HOSTNAME=<osm_ip_address> VIM_TARGET=<osm_vim_name> VIM_MGMT_NET=<osm_vim_mgmt_name> # Clouds file datacenter OS_CLOUD=<datacenter_in_clouds_file> # SDNCs file OS_SDNC=<SDN_controller_in_sdncs_file> # K8S config file K8S_CREDENTIALS=<path_to_kubeconfig> # 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 to save alternative DUT environments (optional) ENVIRONMENTS_FOLDER=environments # Folder where all required packages are stored PACKAGES_FOLDER=osm-packages # Folder where test results should be exported ROBOT_REPORT_FOLDER=results
If you have installed all the dependecnies, the way of executing the tests is via the following command:
source envfile.rc robot -d reports -i <testing_tags> testsuite/
It is possible to run the tests directly from the repository or using a docker container with the tests
Create the docker container:
docker build -f docker/Dockerfile -t osmtests .
Options:
--env-file: It is the environmental file where is described the OSM target and VIM-o <osmclient_version> [OPTIONAL]: It is used to specify a particular osmclient version. Default: latest-p <package_branch> [OPTIONAL]: OSM packages repository branch. Default: master-t <testing_tags> [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanityVolumes:
Then, run the tests:
docker run --rm=true -t osmtests --env-file <env_file> \ -v <path_to_reports>:/reports osmtests \ -v <path_to_clouds.yaml>:/robot-systest/clouds.yaml \ -v <path_to_sdncs.yaml>:/robot-systest/sdncs.yaml \ -v <path_to_kubeconfig>:/root/.kube/config \ -o <osmclient_version> \ -p <package_branch> \ -t <testing_tags>
git clone https://osm.etsi.org/gerrit/osm/devops git clone https://osm.etsi.org/gerrit/osm/IM git clone https://osm.etsi.org/gerrit/osm/osmclient git clone https://osm.etsi.org/gerrit/osm/tests # run HTTP server to server artifacts devops/tools/local-build.sh --install-qhttpd # generate debian packages locally that will be served by the HTTP server devops/tools/local-build.sh --module IM,osmclient,tests stage-2 # create docker image and store it locally as opensourcemano/tests:devel devops/tools/local-build.sh --module tests ``` Then, run the tests: ```bash docker run --rm=true -t osmtests --env-file <env_file> \ -v <path_to_reports>:/reports osmtests \ -v <path_to_clouds.yaml>:/robot-systest/clouds.yaml \ -v <path_to_sdncs.yaml>:/robot-systest/sdncs.yaml \ -v <path_to_kubeconfig>:/root/.kube/config \ -o <osmclient_version> \ -p <package_branch> \ -t <testing_tags> ``` ## 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 <tag_01> -i <tag_02> 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_05`, `k8s06`, `k8s_07`, `k8s_08`, `k8s_09`, `k8s_10`, `k8s_11`, `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`, `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 the tests were forcefully stopped. - For helping in the migration tests and other scenarios in which you don't want to destroy the deployments immediately, the following tags are used: - prepare: for the tests that are used to deploy the network services under test - verify: for the tests that perform the actual testing, or changes for additional verifications (e.g. scaling). - cleanup: already described above. So, for instance, you could first deploy a number of network services executing the tests with "prepare" tag, migrate to another OSM version, and then check the behavior executing with the "verify" tag. Finally, use the "cleanup" tag. ## Built With * [Python](www.python.org/) - The language used * [Robot Framework](robotframework.org) - The testing framework ## Contributing Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. ## Versioning We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://osm.etsi.org/gitweb/?p=osm/tests.git;a=tags). ## License This project is licensed under the Apache2 License - see the [LICENSE.md](LICENSE) file for details