RC xApp
Rc xAPP Introduction
Rc xapp is deployed on RIC Platform and provides the basic implementation of initiating spec compliant E2-SM RC based RIC Control Request message to the RAN/E2 Node. GRPC and RMR is used for communication.
GRPC interface support is introduced so other xapps can initiate GRPC based control Request to rc xapp, which in turn shall send the RIC Control Request to RAN/E2 Node
Communication between Rc xapp and RAN /E2 node uses RMR routing.
Rc xAPP Features
Rc xapp acts as a GRPC server which receives a GRPC request containing RIC control request parameters from a GRPC client. Using the parameters received from the GRPC client RIC CONTROL Request shall be constructed and encoded in ASN1 format and sent to RAN/E2 Node using RMR.
Rc xapp supports basic Control Request initiation towards E2Node based on RAN Name parameter received in GRPC Control request.If the RAN Name received in GRPC request is in CONNECTED state RIC Control request shall be initiated towards RAN/E2 Node.
If any of the Mandatory parameters are not received as per the GRPC Proto file definition, GRPC Error response shall be sent to the client and no RIC Control Request shall be initiated.
Rc xAPP repo
Rc xapp code can be cloned using below command
git clone https://gerrit.o-ran-sc.org/r/ric-app/rc
Rc xAPP Deployment
Steps to onboard the xapp
1)echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/rc.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD","controls-schema.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/rc.git;a=blob_plain;f=xapp-descriptor/schema.json;hb=HEAD" }' > onboard.rc.url
2)Onboard the rc xapp using the below command :
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.rc.url"
After this command: xapp should be created
Eg:
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.rc.url"
{
"status": "Created"
}
3)Deploying the xapp:
Eg:
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "rc"}'
{
"instances":null,"name":"rc","status":"deployed","version":"1.0"
}
after this step the xapp should be in running state
ricxapp ricxapp-rc-5ccdcc9f6f-ktq7w 1/1 Running 0 88m
4) restart rtMgr so rmr is ready