This page describes how to get the release B version of Non-RT RIC up and running locally with two separate Near-RT RIC simulator docker containers providing OSC_2.1.0 version of A1 interface.

All four components of the Non-RT RIC (from three different repos) run inside docker containers and communicate via a docker network. Details of the architecture can be found from Release B page.

Project Requirements

Build Code

Build nonrtric containers

     git clone "https://gerrit.o-ran-sc.org/r/nonrtric"

Configure policy-agent

To support local test with two separate Near-RT RIC simulator instances:  

{
   "config": {
      "//description": "Application configuration",
      "controller": [
         {
            "name": "controller1",
            "baseUrl": "http://a1-controller-container:8181",
            "userName": "admin",
            "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
         }
      ],
      "ric": [
         {
            "name": "ric1",
            "baseUrl": "http://ric1:8085/",
            "controller": "controller1",
            "managedElementIds": [
               "kista_1",
               "kista_2"
            ]
         },
                  {
            "name": "ric2",
            "baseUrl": "http://ric2:8085/",
            "controller": "controller1",
            "managedElementIds": [
               "kista_3",
               "kista_4"
            ]
         }
      ]
   }
}

update policy-agent/Dockerfile: 

ADD /config/application_configuration.json /opt/app/policy-agent/data/application_configuration.json_example

to

ADD /config/application_configuration.json /opt/app/policy-agent/data/application_configuration.json


Build the code and create docker images

To build docker images of sdnc-a1-controller and policy-agent:

cd nonrtric
mvn clean install -Dmaven.test.skip=true

Build near-rt-ric-simulator container

Download the near-rt-ric-simulator repo (defaults to master branch): 

     git clone "https://gerrit.o-ran-sc.org/r/sim/a1-interface"

Create docker image

To create docker image near-rt-ric-simulator (note that the given image name must match the name given in docker startup later):

cd a1-interface/near-rt-ric-simulator
docker build -t near-rt-ric-simulator:latest .

Build NONRTRIC / A1 Policy control panel container

Download the nonrtric repo (defaults to master branch): 

     git clone "https://gerrit.o-ran-sc.org/r/portal/nonrtric-controlpanel"

Verify controlpanel configuration

(warning) Note that nonrtric-controlpanel/webapp-backend/src/main/resources/application.properties default property value policycontroller.url.prefix = http://policy-agent-container:8081 assumes that policy agent is started with name policy-agent-container and exposes port 8081 (as is done below)! 

Build the code and create docker image

cd nonrtric-controlpanel
mvn clean install -Dmaven.test.skip=true

Run A1 Controller Docker Container

Open Daylight GUI

Run Near-RT RIC A1 Simulator Docker Containers

Run Policy-agent Docker Container

$ docker logs policy-agent-container | grep "protocol version"
2020-04-17 11:10:11.357 DEBUG 1 --- [or-http-epoll-1] o.o.policyagent.clients.A1ClientFactory  : Established protocol version:SDNC_OSC_OSC_V1 for Ric: ric1
2020-04-17 11:10:11.387 DEBUG 1 --- [or-http-epoll-1] o.o.policyagent.clients.A1ClientFactory  : Established protocol version:SDNC_OSC_OSC_V1 for Ric: ric2

policy-agent Swagger API

For troubleshooting/verification purposes you can view/access the policy-agent swagger API from url: http://localhost:8081/swagger-ui.html

Run Non-RT RIC Control Panel Docker Container

Run docker container using this command: 

docker run -p 8080:8080 --network=nonrtric-docker-net o-ran-sc/nonrtric-controlpanel:2.0.0-SNAPSHOT

Open NONRTRIC / A1 Policy Control Panel UI

Dashboard UI can be accessed by pointing the web-browser to this URL: 

http://localhost:8080/