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.
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
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
{ "A1-ADAPTER-API:input": { "near-rt-ric-url": "http://ric1:8085/" } }
Create policy
Payload
{ "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
{ "A1-ADAPTER-API:input": { "near-rt-ric-url": "http://ric1:8085/" } }
12 Comments
Sandeep Shah
Hi Yongchao - Thank you. Wondering if the API YANG file is in alignment with A1 adapter that is available in the repo: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=tree;h=refs/heads/master;hb=refs/heads/master, and what is needed to algin...Thanks!
Yongchao Wu
Hi, Sandeep Shah The API YANG at this time point is in alignment with "2019-10-02" "A1 adapter for Frankfurt"
Sandeep Shah
Hi Yongchao - Thank you...I was referring to this API document: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=blob;f=a1/openapi.yaml;h=fed4b77546264cc8a390504dae725ca15060d81a;hb=refs/heads/master...I would appreciate if you please provide me a link to "2019-10-02" A1 adapter implementation...Thank you again!
Yongchao Wu
Hi, Sandeep. https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=blob;f=a1/openapi.yaml;h=fed4b77546264cc8a390504dae725ca15060d81a;hb=a0876efd819b43b870ba2254b34676b1a03ad326 this is the openapi.yml. And the YANG can be found here:https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=blob;f=sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang;h=b6a2869c5151bec443f0d28dd9655dca3b58db0a;hb=HEAD
Sandeep Shah
Hi Yongchao - Currently, A1 mediator code available at: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=tree;h=refs/heads/master;hb=refs/heads/master , and it supports OpenAPI https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=blob;f=a1/openapi.yaml;h=fed4b77546264cc8a390504dae725ca15060d81a;hb=refs/heads/master, and I would think that any A1 adapter code to be developed in ONAP (A1 adapter) needs to align with A1 mediator in near-RT RIC platform, in terms of API's? Would it be correct to assume that the simulator in the above diagram supports A1 mediator openAPI's (https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=blob;f=a1/openapi.yaml;h=fed4b77546264cc8a390504dae725ca15060d81a;hb=refs/heads/master)? Thanks!
Yongchao Wu
Hi, Sandeep. You are right. in the above diagram, the simulator supports A1 mediator OpenAPI. Actually the simulator code is based on the generated server from the mentioned OpenAPI.
Sandeep Shah
THANK YOU!
chacha
Hello, Yongchao Wu.
I am in test opendaylight GUI ↔ near-RT simulator follow upper guide. (The code base is Amber Branch)
I got the 500 response error, and checked the log of a1-controller.
I think this error is caused by fail of URI parsing.
I can't find use of properties file in the in a1-controller source code. Where is the mapping points of near-rt-ric-url and properties?
(.* properties : nonrtric/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/NearRtRicList.properties)
John Keeney
Hi
It is probably best to use the mailing list for support questions.
Yongchao Wu is on vacation for the next couple of days but we will get back to you via email as soon as possible.
Thanks,
John
chacha
Hello, Thank you for your information.
Lathishbabu Ganesan
Hi chacha:
Can you share the request paylaod?
/Lathish
Lasse Kaihlavirta
Please note that I have copied the current state of this page to Testing End to End call in release B where further development (and related comments) should be documented.
I will now proceed to adjust the instructions on this page to apply to Amber release.