Versions Compared

Key

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

This page describes how to get the release A version of NonRTRIC up and running locally with two separate NearRT-RIC simulator docker containers.

...

Download the nonrtric repo: 

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

Configure policy-agent

To support local test with two separate NearRT-RIC simulator instances the following modifications must be done:  

...

  • The following step is required only if you want to run more than the default ric1 nearRT-RIC simulator instance
    • replace the content of nonrtric/policy-agent/config/application_configuration.yaml json with the configuration below
    • any defined ric names must match the given docker container names in nearRT-RIC simulator startup - port is always the simulator's internal 8085

...

  • 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  
    docker-compose up -d a1-controller
    • the container is ready once message "Healthcheck Passed in XX seconds." appears
    • note that certificate-related errors "cp: can't stat '/opt/opendaylight/current/certs/*': No such file or directory" and "Error: File not found in path entered" can be ignored 
  • 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

...

  • Start docker containers for each ric defined in nonrtric/policy-agent/config/application_configuration.yaml  json  in previous steps using following commands (in this example for ric1 and ric2): 
    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 all the started near-rt-ric-simulator instances by running these curl commands (in this example to ric1 exposed to port 8085 and ric2 exposed to port 8086):
    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 docker container using this command once A1 Controller and simulators have been fully started (see note below):
    docker run -p 8081:8081 --network=nonrtric-docker-net --name=policy-agent-container o-ran-sc/nonrtric-policy-agent:1.0.0-SNAPSHOT

...

(warning) Note on automatic A1 Client selection

Once policy-agent is up and running, it establishes connections to all configured NearRT-RICs. It has multiple A1 clients to select from and selection is done dynamically based on connectivity. Selection of A1 client is not clearly visible for user, but policy-agent logs can be grepped to see which client was selected.

...