You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Introduction

Function test is conducted to verify the functionality of the Non-RT RIC as well as the individual components.

A test engine and a number of test script is used as a foundation for the test environment.  

The test environment uses docker images both the Non-RT RIC components as well as for the the needed simulators.

Function test is normally started in "docker-mode" meaning that images will be started as container in a private docker network. As an option, the same test case also executed in a minikube environment. Running in minikube is still in an experimental state so docker should be used as a the standard execution environment.

The basic idea of function test is to run the Non-RT RIC components and test the exposed interfaces using simulators. The test engine and the test scripts controls the behaviour of the simulators but also use the exposed interfaces for test and monitoring. 

The test scripts are designed in a way so that the same script can be used for testing of the functionality in the master branch as well as previous release(s). The supported branches/releases are indicated by the existence of a environment variable file in the test/common dir with the name of the branch. The environment for master has the name of coming release. 

The majority of the test scripts test one or several aspects of the functionality but there is also test scripts for stability tests over longer period of time (currently 3 days max intensity test).

Test setup

The picture below shows the setup used for function tests. Non-RT RIC components in orange, simulators in light blue and the test environment in dark blue. The purple arrow is outside the scope of the test but is used for demo test scripts.

Note: The Control Panel GUI consist of two parts, control panel and the gateway for accessing the nonrtric components.

Note: When running in kubernetes, the test engine uses a proxy (not shown) for accessing the nonrtric components.

Note: The helm manager component is not yet included in the function test setup.

Test scripts/Test cases

The below table is a list of test cases. All scripts beginning with the letters "FTC" (Function Test Case) are considered test scripts to test functionality. The remaining test scripts are primarily used for demo purposes.

Test casePolicy/
Enrich
Slogan

FTC1 

Policy

Sanity test, create service and then create, update and delete a policy using http/https and Agent REST/DMAAP with/without SDNC controller

FTC10  

Policy

Basic use case, register service, create/update policy, delete policy, de-register service using both STD and OSC interface while mixing REST and Dmaap

FTC100  

Policy

Full agent API walkthrough using agent REST/DMAAP and with/without SDNC A1 Controller

FTC110  

Policy

Testing of service registration timeouts and keepalive

FTC150  

Policy

Sample tests of the SDNC A1 controller restconf API using http/https (no agent)

FTC300 

Policy

Resync 10000 policies using OSC and STD interface

FTC310 

Policy

Resync of RIC via changes in the consul config or pushed config

FTC350 

Policy

Change supported policy types and reconfigure rics

FTC800  

Policy

Create 10000 policies in sequence using http/https and Agent REST/DMAAP with/without SDNC controller

FTC810

Policy

Repeatedly create and delete policies in each RICs for 24h (or configured number of days). Via agent REST/DMAAP/DMAAP_BATCH and SDNC using http or https

FTC850

Policy

Create/delete policies in parallel over a number of ric using a number of child process

FTC900

Policy

Preparation for test of the Control Panel and the Health Check app - populating a number of rics simulators with types and instances"

FTC1100 

Enrich

ECS full interface walkthrough

FTC1800 

Enrich

ECS Create 10000 jobs and restart, test job persistency

PM_DEMO

Policy

Preparation demo setup - PMS - populating a number of ric simulators with types and instances

PM_EI_DEMO

Policy
Enrich

Preparation demo setup - PMS and ECS - policy management and enrichment information

Test execution

All function test scripts can be executed in your local environment. It is proven to work on MacOS and Ubuntu (brief tests has been made on Windows using git bash).

Required environment:

  • Bash shell
  • docker (latest)
  • docker-compose (latest)
  • python3 (latest)
  • minikube (latest) or a local kubernetes cluster - only needed when running in kubernetes mode

The test engine as well as all available test scripts is available in the nonrtric repo. Clone the repo and go to the auto-test directory:

$ git clone "https://gerrit.o-ran-sc.org/r/nonrtric"
$ cd nonrtric/test/autotest

Start the appropriate test script with the command below. No further action is required. The tests are fully automated. Once the execution is completed a test report is printed. 

Example, run images from the staging repo - which is the default, for the cherry branch is shown below. To run only release images, add the parameter 'release' after the 'docker' parameter.

When running with images from the staging or release repo, it is still possible to point to images in the local repo or in the release, staging or snapshot repo for individual applications.

$ ./FTC100.sh remote docker --env-file ../common/test_env-oran-cherry.sh

For further information and details, see README in the dirs 'auto-test' and 'common'.

Tested image versions

Componentimage (release repo)tag for d-release profiletag for cherry profile
Policy Management Service

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-policy-agent

2.2.02.1.1
A1-controller

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-a1-controller

-2.0.1
SDNC A1 Controller
(Replacement for the
above A1-Controller)
nexus3.onap.org:10002/onap/sdnc-image2.1.2-
Enrichment Coordinator Service nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-enrichment-coordinator-service1.1.01.0.1
Control Panel

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel

2.2.02.1.0
Gatewaynexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-gateway 1.1.0-
A1-Simulator

nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator

2.1.0 2.1.0
R-APP Cataloguenexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-r-app-catalogue1.1.01.0.1

"profile" refers to the name of the environment variable profile used when executed a test case. The profiles has the pattern 'test_env-oran-<profile-name>.sh in the test/common dir.

  • No labels