This page describes how to get the release C 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 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 C page.
Table of Contents |
---|
Project Requirements
Java 11 (make sure that JAVA_HOME environment variable points to correct Java version)Maven 3.6
- Docker and docker-compose (latest)
Maven 3.6
- There are several build-time dependencies for ONAP Maven modules.
Your Maven build settings will need to access the ONAP Maven repos, as described on this ONAP wiki page
- There are several build-time dependencies for ONAP Maven modules.
Build Code
Build nonrtric containers
- Download the nonrtric repo:
git clone "https://gerrit.o-ran-sc.org/r/nonrtric"
- Checkout cherry branch:
git checkout --track origin/cherry
Configure policy-agent
To support local test with two separate Near-RT RIC simulator instances:
...
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
...
Code Block | ||
---|---|---|
| ||
cd nonrtric mvn clean install -Dmaven.test.skip=true |
If the build was successful images with following name and tag shall be built, use the command 'docker images' to view newly built images in the local docker registry.
Code Block | ||||
---|---|---|---|---|
| ||||
$ docker images
o-ran-sc/nonrtric-r-app-catalogue 1.0.1-SNAPSHOT
o-ran-sc/nonrtric-enrichment-coordinator-service 1.0.1-SNAPSHOT
o-ran-sc/nonrtric-policy-agent 2.1.1-SNAPSHOT |
Build near-rt-ric-simulator container
...
Code Block | ||
---|---|---|
| ||
cd a1-interface/near-rt-ric-simulator docker build -t near-rt-ric-simulator:latest . |
You can check that the image is in docker using:
Code Block | ||||
---|---|---|---|---|
| ||||
$ docker images
o-ran-sc/nonrtric-r-app-catalogue 1.0.1-SNAPSHOT
o-ran-sc/nonrtric-enrichment-coordinator-service 1.0.1-SNAPSHOT
o-ran-sc/nonrtric-policy-agent 2.1.1-SNAPSHOT
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
...
- Run docker container using this command once A1 Controller and simulators have been fully started:
docker run -p 8081:8081 -p 8433:8433 --network=nonrtric-docker-net --name=policy-agent-container o-ran-sc/nonrtric-policy-agent:2.21.01-SNAPSHOT
- Once policy-agent is up and running, it establishes connections to all configured Near-RT RICs
- If policy-agent-container is configured to log at DEBUG level, the following logs should appear to log to show that connection to the configured RICs has been established successfully via A1 Controller.
...
docker run -p 8083:8083 -p 8434:8434 --network=nonrtric-docker-net --name=enrichment-service-container o-ran-sc/nonrtric-enrichment-coordinator-service:1.0.1.0-SNAPSHOT
- Change directory:
cd nonrtric/docker-compose/data/testdata/ECS
- Put an example Enrichment information Producer by By running these curl commands objects can be added:
Add new EI type:
Code Block language yml theme Emacs curl -H 'Content-Type: application/json' -X PUT
...
\ -d '{"ei_job_data_schema":{"$schema":"http://json-schema.org/draft-07/schema#", "title":"STD_Type1_1.0.0", "description":"EI-Type 1", "type":"object"}}' \ http://localhost:8083/ei-producer/v1/
...
eitypes/type1
Add new EI Producer
Code Block language yml theme Emacs curl -H 'Content-Type: application/json
...
- Put an example Enrichment information Job by running these curl commands:
...
' -X PUT \ -d '{"supported_ei_types":["type1"],"ei_job_callback_url":"http://producer:80/","ei_producer_supervision_callback_url":"http://producer:80/"}' \ http://localhost:8083/
...
ei-
...
producer/v1/
...
eiproducers/prod-a
Add new EI Job
Code Block language yml theme Emacs curl -H 'Content-Type: application/json' -X PUT \ -d '{"eiTypeId":"type1","jobResultUri":"https://ricsim_g3_1:8185/datadelivery","jobOwner":"ricsim_g3_1","jobStatusNotificationUri":"https://callback-receiver:8091/callbacks/job1-status","jobDefinition":{"jobparam1":"value1_job1","jobparam2":"value2_job1","jobparam3":"value3_job1"}}' \ http://localhost:8083/A1-EI/v1/eijobs/job1
Run Non-RT RIC Control Panel Docker Container
...