Versions Compared

Key

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


This page describes how to test demonstrate the entire flow from Non-Rt RIC Controlpanel  -> Policy Agent -> (A1 controller in SDNC) -> Near Realtime Ric Simulator. Optionally A1 controller can be left out.

Table of Contents

Overview of the End to End call

Details of the architect architecture can be referred to found from the following link: Release A 


Image RemovedImage Added

...

End to End call from Dashboard to NearRT-RIC simulator

Preparation

  • Download the SDNC repo: 
       git clone "https://gerrit.o-ran-sc.org/r/nonrtric"
  • The SDNC A1 Controller could be found in this repo.
  • Download the sim/a1-interface repo:
       git clone "https://gerrit.o-ran-sc-org/r/sim/a1-interface"
  • The near RT RIC simulator could be found in this repo.

Build SDNC project 

  • Enter into the sdnc-a1-controller project, northbound and oam project will be listed. 
       near-rt-ric-simulator sdnc-a1-controller

...

  mvn clean install -Dmaven.test.skip=true

...

  mvn clean install -Dmaven.test.skip=true -P docker

...

  nonrtric/sdnc-a1-controller/oam/installation/src/main/yaml

...

Start Simulator:

...

  docker build -t nearric-simulator:1.0.0-SNAPSHOT .
  • Run the Simulator in a docker container with a nearric-sim as name and attach to a 'yaml_default' network, which SDCN is also attached.
      docker run -p 8080:8080 --network=yaml_default --name=nearRtRic-sim1 nearric-simulator:1.0.0-SNAPSHOT

Make a call from Open Daylight GUI to Simulator :

check file: nonrtric/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/NearRtRicList.properties

NearRtRic1 = nearRtRic-sim1:8080
NearRtRic2 = nearRtRic-sim2:8080

update value:

"A1-ADAPTER-API:near-rt-ric-id": "NearRtRic1"

For example:

Image Removed

...

See Release A - Build/Run for building and starting the environment.

Either option A or B can be setup and all end to end actions from Dashboard should work same way.

Perform Policy Operations via Dashboard

Image Added

  • Click on Config and the screen below with STD_QosNudging_0.2.0 policy type should open

Image Added

  • Click on '+' icon to create new policy

Image Added

  • Choose your ric (ric1 or ric2) from drop-down menu and provide any arbitrary values for QoS Id, Ue Id and Priority

Image Added

  • Submit the policy (you then need to also press Close to return from creation view)
  • An entry to the chosen nearRT-RIC simulator console/log should appear (see, for example, docker logs ric1 in case ric1 policy was created):
172.18.0.3 - - [02/Apr/2020 07:33:57] "PUT /A1-P/v1/policies/ac3e914a-b39c-4d93-b77c-d2ebac756267?policyTypeId=STD_QoSNudging_0.2.0 HTTP/1.1" 201 - 
  • You may repeat the creation process a few times for different rics - below we see one policy created to ric1 and two to ric2

Image Added

  • Click the pen icon to modify any policy

Image Added

  • Even though the dashboard allows changing any value, the simulator will only accept Priority changes
  • Modifications are submitted in the same way as in creation, and the resulting simulator log should also be identical to the one we saw in creation
172.18.0.3 - - [02/Apr/2020 07:51:19] "PUT /A1-P/v1/policies/ac3e914a-b39c-4d93-b77c-d2ebac756267?policyTypeId=STD_QoSNudging_0.2.0 HTTP/1.1" 201 - 

Image Added

  • Delete any policy by clicking the red trashcan icon

Image Added

  • Confirm deletion and verify the log on simulator side:
172.18.0.3 - - [02/Apr/2020 08:02:21] "DELETE /A1-P/v1/policies/ac3e914a-b39c-4d93-b77c-d2ebac756267 HTTP/1.1" 204 - 

Call from CCSDK A1 Controller to NearRT-RIC simulator

Limited tests to verify just OSC CCSDK A1 Controller calls towards NearRT-RIC simulator can be done by using ODL GUI. Dashboard and policy-agent are not needed in this case.

Preparation

See Release A - Build/Run for building and starting the environment. If following those instructions, just skip the following steps:

Now only "a1-controller-container" and "sdnc_db_container" and simulators are running.

Perform Policy Operations via Open Daylight GUI

Image Added

Get policy types

Payload

Code Block
languageyml
titlePOST /restconf/operations/A1-ADAPTER-API:getPolicyTypeIdentities
{
  "A1-ADAPTER-API:input": {
    "near-rt-ric-url": "http://ric1:8085/"
  }
}

Image Added

Create policy

Payload

Code Block
languageyml
titlePOST /restconf/operations/A1-ADAPTER-API:putPolicy
{
  "A1-ADAPTER-API:input": {
    "near-rt-ric-url": "http://ric1:8085/",
	"policy-id": "my-policy-instance1",
    "policy-type-id": "STD_QoSNudging_0.2.0",
	"policy": '{
      "scope": {
      "qosId": "999",
      "ueId": "5001"
      },
      "statement": {
      "priorityLevel": 5
      }
    }'
  }
}

Image Added

Get policy instances

Payload

Code Block
languageyml
titlePOST /restconf/operations/A1-ADAPTER-API:getPolicyIdentities
{
  "A1-ADAPTER-API:input": {
    "near-rt-ric-url": "http://ric1:8085/"
  }
}

Image Added