| commit | a504c5f1862ecb95283b94ec9456e9fa7cd1201b | [log] [tgz] |
|---|---|---|
| author | aguilard <e.dah.tid@telefonica.com> | Thu Apr 21 15:42:52 2022 +0200 |
| committer | aguilard <e.dah.tid@telefonica.com> | Thu Apr 21 15:42:52 2022 +0200 |
| tree | 540c41e32d8bb020a4d7bed48f0ef7e53ae6e049 | |
| parent | 6b82eaf4e1e4ed757eeb40d2ae423f7137214717 [diff] |
Fixed bug in EPA04: wrong member-vnf-index-ref Change-Id: Id54557764d8784017d949cff778e0e3e616def2c Signed-off-by: aguilard <e.dah.tid@telefonica.com>
This repository contains tools and configuration files for testing and automation needs of OSM projet
This bash script can be used to setup your environment to execute the tests.
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
# 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
It is possible to run the tests directly from the repository or using a docker container with the tests
docker build -f docker/Dockerfile -t osmtests .
Options:
Volumes:
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>
The way of executing the tests is via the following command:
source envfile.rc robot -d reports -i <testing_tags> testsuite/
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:
robot -i <tag_01> -i <tag_02> testsuite/
The following tags exist for each testsuite:
basic_01)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_06cluster_relations: basic_11, basic_13, basic_14cluster_epa: epa_01, epa_02, epa_03, epa_04, epa_05cluster_k8s: k8s_01, k8s_02, k8s_03, k8s_04, k8s_07, k8s_08, sa_08cluster_k8s_charms: k8s_05, k8s_06cluster_sa: sa_01, sa_02, sa_07cluster_slices: slice_01, slice_02basic_07, basic_11, k8s_03, k8s_04, sa_02In 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:
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.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Apache2 License - see the LICENSE.md file for details