This page describes how to test This page describes how to 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 architecture can be found from the following link: Release A
...
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:
- Go to the simulator project, sim/a1-interface/near-rt-ric-simulator.
- Create a docker image called nearric-simulator:1.0.0-SNAPSHOT:
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.
Set the env '-e A1_VERSION=<a1-interface-version>' in the command below and replace '<a1-interface-version> with the desired A1 interface version. The simulator currently supports A1 yaml interface versions: 'OSC_2.1.0' and 'STD_1.1.3'docker run -p 8080:8085 --network=yaml_default -e A1_VERSION=<a1-interface-version> --name=nearRtRic-sim1 nearric-simulator:1.0.0-SNAPSHOT
Make a call from Open Daylight GUI to Simulator :
- Use browser to http://localhost:8282/apidoc/explorer/index.html#!/NONRT-RIC-API(2019-09-26)
- if password asked, find the related password and username at :
/nonrtric/sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/startODL.sh
check the username and passwordODL_ADMIN_USERNAME
ODL_ADMIN_PASSWORD - Make a call in the A1-ADAPTER-API:
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:
...
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
- Open Dashboard UI at http://localhost:8080/
- Click on Config and the screen below with STD_QosNudging_0.2.0 policy type should open
- Click on '+' icon to create new policy
- Choose your ric (ric1 or ric2) from drop-down menu and provide any arbitrary values for QoS Id, Ue Id and Priority
- 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
- Click the pen icon to modify any policy
- 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 -
- Delete any policy by clicking the red trashcan icon
- 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
- Open GUI: Release A - Build/Run#OpenDaylightGUI
- Click Sub API:
Get policy types
Payload
Code Block | ||||
---|---|---|---|---|
| ||||
{
"A1-ADAPTER-API:input": {
"near-rt-ric-url": "http://ric1:8085/"
}
} |
Create policy
Payload
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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
}
}'
}
} |
Get policy instances
Payload
Code Block | ||||
---|---|---|---|---|
| ||||
{
"A1-ADAPTER-API:input": {
"near-rt-ric-url": "http://ric1:8085/"
}
} |