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