Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Here is the RMR communication diagram among the xApps:

Image Added

Demo Video

Multimedia
nameAD.mp4
width1280
height720

Delivery Status

Warning
titleDO NOT EDIT

Only the Integration PTL should edit the delivery status table to track the release validation progress




OTFOAMNONRTRICRICPRICAPPO-DUO-CUTest ResultNotes
Deployment Artifacts

Docker Container







AD container is locally built.

xApp DescriptorsDocker compose*








E2E FlowsTS_ANOMALY and TS_ANOMALY_ACK







Image Added


Onboarding and Deployment of xApps:

...

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"


Currently, we are building the images locally after cloning it.
Once the Staging and  Release images are available, we can use the below commands.
Build and push the docker image for both AD xApp and TS xApp using the following:

TS xApp:
    docker build -t nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.0.13 .
    docker push  nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.0.13

AD xApp:
    docker build -t nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ad:0.0.1 .
    docker push  nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ad:0.0.1


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=297dbd6245ec69571c8ad7091a18cbe9c7ba2488HEAD

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

...

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"}'


Note: Use the latest Routing Manager supporting the new message types (TS_ANOMALY_UPDATE and TS_ANOMALY_ACK).