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

  • 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

Get policy types

Payload

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

Create policy

Payload

POST /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
      }
    }'
  }
}

Get policy instances

Payload

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

  • No labels

12 Comments

  1. 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!

  2. Hi, Sandeep Shah The API YANG at this time point is in alignment with  "2019-10-02" "A1 adapter for Frankfurt"

  3. 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!

  4. 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! 

  5. 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. 

  6. 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. 

    2020-03-19T04:28:33,500 | INFO | qtp1290527237-294 | NonrtRicApiProvider | 259 - org.onap.sdnc.northbound.nonrt-ric-api-provider - 1.7.3.SNAPSHOT | - | Start of getPolicyIdentities
    2020-03-19T04:28:33,527 | WARN | qtp1290527237-294 | HttpChannel | 177 - org.eclipse.jetty.util - 9.4.12.v20180830 | - | /restconf/operations/A1-ADAPTER-API:getPolicyIdentities
    javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalArgumentException: URI is not absolute


    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)

    1. 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 

      1. Hello, Thank you for your information. (smile)

    2. Hi chacha:

      Can you share the request paylaod?

      /Lathish

  7. 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.