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

Compare with Current View Page History

« Previous Version 6 Next »

Anomaly Detection (AD) xApp is used to detect the anomalous UEs present in the network.
It works with Traffic Steering xApp.

Delivery Status



OTFOAMNONRTRICRICPRICAPPO-DUO-CUTest ResultNotes
Deployment Artifacts

Docker Container







AD container is locally built
xApp Descriptors







Docker compose*
E2E FlowsMount FH simulator








Onboarding and Deployment of xApps:

The Use case involves two different xApps:
a) Traffic Steering (TS) xApp (AT&T)
b) Anomaly Detection (AD) xApp (HCL)

xApps can be cloned from nexus repository using the following command:
TS xApp:
      git clone "https://gerrit.o-ran-sc.org/r/ric-app/ts"
AD xApp:
      git clone "https://gerrit.o-ran-sc.org/r/ric-app/ad"

Each of these xApps 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.
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/ts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD
AD xApp:
https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ad.git;a=blob_plain;f=xapp-descriptor/config.json;h=ae48a24a1ad8b510bace596c76f7c480c6884f21;hb=297dbd6245ec69571c8ad7091a18cbe9c7ba2488

It is required to deploy TS xApp followed by AD xApp.

Preparing an xApp for onboarding:
Here we are preparing for API calls into the xApp On-Boarder by providing the locations of the xApp descriptors.
echo '{"config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD" }' > onboard.ts.url
echo '{"config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ad.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD" }' > onboard.ad.url

Onboarding xApps:
Invoke the API calls into the xApp On-boarder, providing it the locations of the xApp descripters.
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.ts.url"
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.ad.url"

Checking the on-boarded charts:
curl --location --request GET "http://$(hostname):32080/onboard/api/v1/charts"

Deploying xApp:
Deploy the xApps by invoking the xApp Manager's API.
Note that the names of the xApp to be deployed must match with what the on-boarder has.
Once receiving the deploy API call, the xApp Manager will make API call into Helm/Kubernetes to deploy the xApp's Helm chart.
The Routing Manager is also involved if the xApp needs to process RMR messages, – it will complete the routes and send out route updates.
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "trafficxapp"}'
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "ad"}'

  • No labels