Versions Compared

Key

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


Pre requisite
  • Near Realtime RIC installation completed
  • Near Realtime RIC  up and running

   # kubectl get pods -n ricplt   # There should be ~16 pods running in the ricplt namespace.  


Step 1: Prep Tasks

Run ...

$ sudo -i

# Working directory will be dep where near realtime ric is deployed

$ cd demodep

echo '{"config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/qp.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD" }' > onboard.qp.url

$ echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/qp-driver.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD" }' > onboard.qpd.url

$ 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


Step 2: Onboard 

Run...

$ 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 GET "http://$(hostname):32080/onboard/api/v1/charts"

$ curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download"      --header 'Content-Type: application/json' --data-binary "@./onboard.qp.url"

$ curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download"      --header 'Content-Type: application/json' --data-binary "@./onboard.qpd.url"

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

$ kubectl get pods -n ricplt    # Find pod with name dbprepopjob...

kubectl describe pod dbprepopjob-XXXXX-n ricplt  # Should see container started.


Step 3:  Deploy xApp
Run ...


curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps"      --header 'Content-Type: application/json' --data-raw '{"xappName": "qp"}'

$ curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps"      --header 'Content-Type: application/json' --data-raw '{"xappName": "qpdriver"}'

$ curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps"      --header 'Content-Type: application/json' --data-raw '{"xappName": "trafficxapp"}'

#  The outputted script is will be used for preparing K8 cluster for RIC to deploy to file is  "k8s-1node-cloud-init-k_1_16-h_2_12-d_cur.sh"



Step 4: Populate the Database with test RAN data

Run ...

$ git clone http://gerrit.o-ran-sc.org/r/ric-app/ts

$ cd ts/test/populatedb

$  ./populate_db.sh

NOTE: This will take sometime be patient.  When complete should see RESOURCES: ....


Step 5:  Create a Policy Type

Run ...

$ cd ~/dep/

$ POLICY_TYPE_ID="20008"

$ echo '{ "name": "tsapolicy", "description": "tsa parameters", "policy_type_id": 20008, "create_schema": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "TS Policy", "description": "TS policy type", "type": "object", "properties": { "threshold": { "type": "integer", "default": 0 } }, "additionalProperties": false } } ' > ts-policy-type-20008.json

$ curl -v -X PUT "http://$(hostname):32080/a1mediator/a1-p/policytypes/${POLICY_TYPE_ID}"   -H "accept: application/json" -H "Content-Type: application/json"   -d @./ts-policy-type-${POLICY_TYPE_ID}.json# list policy types


Step 6:  List Policy Types

Run ...

curl -X GET --header "Content-Type: application/json" --header "accept: application/json"   http://$(hostname):32080/a1mediator/a1-p/policytypes


Step 7:  Create a Policy Instance

Run...

POLICY_ID="tsapolicy145"

$ curl -X PUT --header "Content-Type: application/json"   --data "{\"threshold\" : 5}"   http://$(hostname):32080/a1mediator/a1-p/policytypes/${POLICY_TYPE_ID}/policies/${POLICY_ID}

Step 7:  Deploy Test xApp (HelloWorld xApp)

Run..

#  Verify xApp is not running...

kubectl get pods -n ricxapp

# Call xApp Manager to deploy HelloWorld xApp...

curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps"  --header 'Content-Type: application/json'  --data-raw '{"xappName": "hwxapp"}'

#  Verify xApp is running...

kubectl get pods -n ricxapp

#  View logs...

$ kubectl logs -n ricxapp <name of POD retrieved from statement above>




Helpful Hints

Kubectl commads:

kubectl get pods -n nampespace - gets a list of Pods running

kubectl get logs -n namespace name_of_running_pod







Complete these tasks to get started


Recent space activity

Recently Updated
typespage, comment, blogpost
max5
hideHeadingtrue
themesocial

Space contributors

Contributors
modelist
scopedescendants
limit5
showLastTimetrue
orderupdate