OTF | OAM | NONRTRIC | RICP | RICAPP | O-DU | O-CU | Test Result | Notes | ||
---|---|---|---|---|---|---|---|---|---|---|
Deployment Artifacts | Docker Container | E2sim docker image needs to be generated locally for different RIC instance, will improve in the Cherry maintenance window. KPIMON needs CI jobs for image releasing QPdriver image 1.0.9 in staging is different than the 1.0.9 image in release repo Need to release QP and TS xApp images | ||||||||
xApp Descriptors | Need to update TS, QP, QP driver descriptors to release version Need to create a descriptor for KPMMON | |||||||||
E2E Flows | E2 setup | |||||||||
E2 Subscription | ||||||||||
E2 Indication | ||||||||||
KPMMON write to SDL | ||||||||||
Create A1 Policy | ||||||||||
TS read from SDL | ||||||||||
TS sends triggers to QP driver | ||||||||||
QP driver gets data from SDL | ||||||||||
QP driver send data to QP | ||||||||||
QP provide prediction | ||||||||||
TS make control decision |
MWC LA Demo Video
Multimedia name MWC-shotcut-final1.mp4 width 1280 height 720
Test Manual
Deploy E2Simulator
There are several steps below that need to be taken to run this successfully. Sorry it is not yet as smooth as it should be. Some of these need to be automated properly, and some have to do with platform issues. If someone could take some of these on it would be helpful.
1. Deploy RIC platform
2. kubectl rollout restart deployment --namespace ricplt deployment-ricplt-e2mgr deployment-ricplt-e2term-alpha (The e2mgr and e2term need to be restarted; this is due to some issues with health check; I don’t know whether it has been resolved by that team)
3. clone sim/e2-interface
4. In the root directory of e2sim: Follow directions in README to produce the deb files
5. Since the deb files are not yet pushed to package cloud, we need to copy them
6. cp e2sim*deb ../e2sm_examples/kpm_e2sm
7. cd ../e2sm_examples/kpm_e2sm
8. Edit the Dockerfile at the bottom to have IP address of service-ricplt-e2term-sctp-alpha service
9. docker build .
10. docker tag <tag just built> e2simul:0.0.2
11. helm install –namespace ricplt helm
Once deployed, kubectl logs will show:
- An E2 Setup Request from E2 Simulator to E2 Term
- An E2 Setup Response from E2 Term to E2 Simulator
Test Manual
Pre-population of test data in DBAAS
In order to trigger the loop in the Traffic Steering use case, we must populate test data in DBAAS. This includes both cell and UE entries.
This is done through a script. Follow these directions to run the script:
git clone "https://gerrit.o-ran-sc.org/r/ric-app/ts"
cd ts/ts/test/populatedb
chmod a+x populate_db.sh
./populate_db.sh
This script will build a docker image locally and also install a helm chart in the kubernetes cluster to run the image.
...
Onboarding and Deployment of xApps
...
- Traffic Steering (TS) xApp (AT&T)
- QoE Prediction Driver (QPDriver) xApp (AT&T)
- QoE Prediction (QP) xApp (AT&T)
- KPIMON xApp (Samsung)
The first step is to deploy KPIMON xApp
Since KPIMON xApp does not yet have a CI job to create an image in Nexus and also does not have an xApp descriptor,
currently KPIMON deployment must be done in the following way:
- clone scp/ric-app/kpimon (note it is different than the ric-app/kpimon repo)
- docker build .
- docker tag <image tag just created> nexus3.o-ran-sc.org:10002/ric-app-kpimon:1.0.0
- curl -X POST --data-binary @xappkpimon-0.2.0.tgz http://<vm-name>:32080/helmrepo/api/charts (Push hand-crafted helm chart to appmgr chart museum)
We include the helm chart tarball here:
View file | ||||
---|---|---|---|---|
|
Now deploy the other three xApps
Each of these three xApps Each of them have a descriptor in their gerrit repo under the xapp-descriptor/ directory.
None of them have xapp specific controls and therefore no individual json schema
(Update Nov 23, QPDriver needs a separate schema file)
Here are the URLs for each which can be included in HTTP POST call to onboard tool
TS xApp:
https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/qp-driverts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEADrefs/heads/master
QPDriver xApp:
Descriptor:
Schema:
QP xApp
...
Copy the following into a file called create.json -
Policy Type Create
|
Then run:
curl -X PUT --header "Content-Type: application/json" --data-raw @createbinary @create.json http://<Base URL for Kong>/a1mediator/a1-p/policytypes/20008
...