This page describes how to get the release A version of NonRTRIC up and running locally with two separate NearRT-RIC simulator docker containers.
All four components of the NonRTRIC repo run inside docker containers and communicate via a docker network. Details of the architecture can be found in the link: Release A.
Project Requirements
- Java 11 (make sure that JAVA_HOME environment variable points to correct Java version)
- Maven 3.6
- Docker and docker-compose (latest)
Build Code
- Download the nonrtric repo:
git clone "https://gerrit.o-ran-sc.org/r/nonrtric" -b Amber
- To support local test with two separate NearRT-RIC simulator instances the following modifications must be done:
- change the 'a1ControllerBaseUrl' in application.yaml file of policy-agent to http://a1-controller-container:8181 (The current URL http://sdnc.onap:8282 is used in Kubernetes-based ONAP deployment).
vi nonrtric/policy-agent/config/application.yaml
- replace application_configuration.yaml of policy-agent with the following content:
- change the 'a1ControllerBaseUrl' in application.yaml file of policy-agent to http://a1-controller-container:8181 (The current URL http://sdnc.onap:8282 is used in Kubernetes-based ONAP deployment).
vi nonrtric/policy-agent/config/application_configuration.yaml
application_configuration.yaml
{ "config": { "//description": "Application configuration", "ric": [ { "name": "ric1", "baseUrl": "http://ric1:8085/", "managedElementIds": [ "kista_1", "kista_2" ] }, { "name": "ric2", "baseUrl": "http://ric2:8085/", "managedElementIds": [ "kista_3", "kista_4" ] } ] } }
- Build the code and create docker images.
cd nonrtric
mvn clean install
Run A1 Controller Docker Container
- A1 Controller must be started first to set up docker network
- Change directory to:
cd nonrtric/sdnc-a1-controller/oam/installation/src/main/yaml
- Run docker container using the command below and wait until this message appears 'Healthcheck Passed in XX seconds'.
docker-compose up a1-controller
- The Karaf logs of A1 controller can be seen using the following commands:
docker exec -it a1-controller-container sh
cd opt/opendaylight/data/log/
tail -f karaf.log
Run Near-RT-RIC Simulator Docker Containers
- Start two docker containers using following commands:
docker run -p 8085:8085 --network=nonrtric-docker-net --name=ric1 o-ran-sc/near-rt-ric-simulator:1.0.1-SNAPSHOT
docker run -p 8086:8085 --network=nonrtric-docker-net --name=ric2 o-ran-sc/near-rt-ric-simulator:1.0.1-SNAPSHOT - Change directory to:
cd nonrtric/near-rt-ric-simulator/ric-plt/a1
- Put an example policy_type into the near-rt-ric-simulator instances by running these curl commands:
curl -X PUT -v "http://localhost:8085/policytypes/STD_QoSNudging_0.2.0" -H "accept: application/json"
-H "Content-Type: application/json" --data-binary @policy_type_STD_QoSNudging_0.2.0.json
curl -X PUT -v "http://localhost:8086/policytypes/STD_QoSNudging_0.2.0" -H "accept: application/json"
-H "Content-Type: application/json" --data-binary @policy_type_STD_QoSNudging_0.2.0.json
Run Policy-agent Docker Container
- Run docker container using this command:
docker run -p 8081:8081 --network=nonrtric-docker-net --name=policy-agent-container o-ran-sc/nonrtric-policy-agent:1.0.0-SNAPSHOT
Run Non-RT-RIC Dashboard Docker Container
- Run docker container using this command:
docker run -p 8080:8080 --network=nonrtric-docker-net o-ran-sc/nonrtric-dashboard:1.0.0-SNAPSHOT
Open Dashboard UI
- Dashboard UI can be accessed by pointing the web-browser to this URL:
http://localhost:8080/