Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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:  

...

Code Block
languageyml
titleapplication_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"
            ]
         }
      ]
   }
}

...

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
languagebash
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
languagebash
themeEmacs
$ 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
languagebash
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
languagebash
themeEmacs
$ 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.

...

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

Run Enrichment Service Docker Container

  • Run docker container using this command once A1 Controller and simulators have been fully started: 

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

  • By running these curl commands objects can be added:
    • Add new EI type:

      Code Block
      languageyml
      themeEmacs
      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
      languageyml
      themeEmacs
      curl -H 'Content-Type: application/json' -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
      languageyml
      themeEmacs
      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

...