Xtesting framework has been developed in OPNFV which deals with dockerization of test suites and can thus be integrated in different CI systems. For more about XTesting and how to start with it please check it out here.
Our goal here is to demonstrate a work flow that deploy the OSC RIC platform and afterwards does a health check, which gives a pretty good idea on how it can be applied to other OSC projects. Then on top of the deployed RIC platform the kpimon-go xApp will be onboarded as a setup for further testing. Hopefully this can be used as a CI/CD pipeline in OSC to serve in the RICPLT/RICAPP areas and can also help automated test and integration.
For this workflow to work one needs to prepare 2 instances (physical server or VM) with fresh Ubuntu 20.04. One is to be used as the XTesting control node, and the other one to be the system under test, on which OSC release F RIC platform is to be deployed (including the initial Kubernetes setup, and all the helm charts deployed). Then a XTesting test case on RIC Platform health check will be run from the control node against the SUT prepared.
It's a 4-step process in the workflow:
ANSIBLE_HOST_IP=155.98.36.9
ANSIBLE_USERNAME=osc_int
ANSIBLE_PASSWORD=osc_int
PROJECT_ROOT=/kubeadm/config
run: ansible-playbook -b -v -i hosts.yaml --become --private-key $KEYFILE cluster.yaml
To make things easier I also put together a Shell script that combines the above steps so you can just run it in one shot:
git clone "https://gerrit.o-ran-sc.org/r/it/test"
cd test/XTesting/XTesting-demo && sudo ./demo.sh target-ip private-key-file-path OPTIONAL-working-directory
Happy XTesting and hope your test automation can be as easy as above 1-2-3.
Finally I would like to thank Sridhar Rao, the Linux Foundation TPM to OSC, who offered huge help and support to this demonstration. He's also an expert to XTesting so feel free to contact James Li and Sridhar Raoif you have any question.