Versions Compared

Key

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

...


Table of Contents

Project Requirements

  • Docker and docker-compose (latest)

  • kubectl with admin access to kubernetes (minikube, docker-desktop kubernetes etc)  -  this is only applicable when running the Helm Manager
  • helm with access to kubernetes - this is only applicable when running the Helm Manager example operations

...

In general, there is no need to build the images manually unless there are code changes made by the user, so release images should be used. Instruction on how to build all components, see. Release F G - Build.


The run commands throughout this page uses the release images and tags. Replace the release images/tags in the container run commands in the instructions if manually-built snapshot images are desired. 

...

G Maintenance Release images

Component

Image

Tag

A1 Policy Management Service

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-a1policymanagementservice

2.5.0
Information Coordinator Service nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-informationcoordinatorservice1.4.0
NONRTRIC Control Panel

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel

2.4.0
Gatewaynexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-gateway 1.0.0
A1-Simulator

nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator

2.4.0

R-APP Catalogue

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue

1.1.0
R-APP Catalogue Enhancednexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue-enhanced1.0.1
DMaaP Adapternexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapadapter1.2.0
DMaaP Mediatornexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapmediatorproducer1.1.0
Helm Managernexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-helmmanager1.2.0
Auth Token Fetchernexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-auth-token-fetch1.0.0
O-DU Slice Assurancenexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-ransliceassurance1.2.0
O-DU Slice Assurancenexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-ransliceassurance-icsversion1.1.0
O-RU FH Recoverynexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-orufhrecovery1.1.0
O-RU FH Recoverynexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-orufhrecovery-consumer1.1.0

Note: A version of this table appears Integration&Testing - F G Release Docker Image List - NONRTRIC (FG-Release). This is the authoritative version! 

...

  • Create an application_configuration.json file with the configuration below.  This will configure the policy management service to use the simulators for the A1 interface
  • Note: Any defined ric names must match the given docker container names in near-RT RIC simulator startup, see Run A1 (previously called Near-RT RIC A1 Interface) Simulator Docker ContainersThe application supports both REST and DMAAP interface. REST is always enabled but to enable DMAAP (message exchange via message-router) additional config is needed. The examples below uses REST over http.

The policy management service can be configure with or without a A-Controller. Choose the appropriate configuration below.

This file is for running without the SDNC A1-Controller
application_configuration.json

Code Block
titleapplication_configuration.json
{
  "config": {
    "ric": [
      {
        "name": "ric1",
        "baseUrl": "http://ric1:8085/",
        "managedElementIds": [
          "kista_1",
          "kista_2"
        ]
      },
      {
        "name": "ric2",
        "baseUrl": "http://ric2:8085/",
        "managedElementIds": [
          "kista_3",
          "kista_4"
        ]
      },
      {
        "name": "ric3",
        "baseUrl": "http://ric3:8085/",
        "managedElementIds": [
          "kista_5",
          "kista_6"
        ]
      }
    ]
  }
}

...

This file is for running with the SDNC A1-Controller. 


Code Block
titleapplication_configuration.json
{

...


    "config":

...

 {
        "controller":

...

 [
            {
                "name":

...

 "a1controller",

...


                "baseUrl":

...

 "https://a1controller:8443",

...


                "userName":

...

 "admin",

...


                "password":

...

 "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"

...


            }
        ],
        "ric":

...

 [
            {
                "name":

...

 "ric1",

...


                "baseUrl":

...

 "http://ric1:8085/",

...


                "controller":

...

 "a1controller",

...


                "managedElementIds":

...

 [
                    "kista_1",

...


                    "kista_2"

...


                ]
            },
            {
                "name":

...

 "ric2",

...


                "baseUrl":

...

 "http://ric2:8085/",

...


                "controller": "a1controller",
                "managedElementIds":

...

 [
                    "kista_3",

...


                    "kista_4"

...


                ]
            },
            {
                "name":

...

 "ric3",

...


                "baseUrl":

...

 "http://ric3:8085/",

...


                "controller": "a1controller",
                "managedElementIds":

...

 [
                    "kista_5",

...


                    "kista_6"

...

To enable the also the optional DMaaP interface, add the following config (same level as the "ric" entry) to application_configuration.json.

Be sure to update http/host/port below to match the configuration of the used message router.

A1 Policy Management Service DMaaP interface is deprecated

Note: The DMaaP interface for the A1 Policy Management Service is now deprecated

...


                ]
            }
        ]
    }
}

Note:The optional A1 Policy Management Service DMaaP interface is deprecated.


Start the container with the following command. Replace "<absolute-path-to-file>" with the the path to the created configuration file in the command. The configuration file is mounted to the container. There will be WARN messages appearing in the log until the simulators are started.

docker run --rm -v <absolute-path-to-file>/application_configuration.json:/opt/app/policy-agent/data/application_configuration.json -p 8081:8081 -p 8433:8433 --network=nonrtric-docker-net --name=policy-agent-container nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-a1policymanagementservice:2.4.1

...

Note: If the policy management service is started with config for the SDNC A1 Controller (the second config option), do the steps described in section Run the A1 Controller Docker Container below before proceeding.

...

Expected output (not that all simulators - ric1,ric2 and ric3 will indicate "state":"UNAVAILABLE" until the simulators has been started in Run A1 (previously called Near-RT RIC A1 Interface) Simulator Docker Containers):

{"rics":[{"ric_id":"ric1","managed_element_ids":["kista_1","kista_2"],"policytype_ids":[],"state":"UNAVAILABLE"},{"ric_id":"ric3","managed_element_ids":["kista_5","kista_6"],"policytype_ids":[],"state":"UNAVAILABLE"},{"ric_id":"ric2","managed_element_ids":["kista_3","kista_4"],"policytype_ids":[],"state":"UNAVAILABLE"}]}

...



Run the SDNC A1 Controller Docker Container (ONAP SDNC)

...

Start a simulator for each ric defined in in the application_configuration.json created in Run the Policy Management Service Docker Container. Each simulator will use one of the currently available A1 interface versions.

Ric1

docker run --rm   -p 8085:8085 -p 8185:8185 -e A1_VERSION=OSC_2.1.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric1 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.34.10

Ric2

docker run --rm   -p 8086:8085 -p 8186:8185 -e A1_VERSION=STD_1.1.3 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric2 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.34.10

Ric3

docker run --rm   -p 8087:8085 -p 8187:8185 -e A1_VERSION=STD_2.0.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric3 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.34.10


Wait at least one minute to let the policy management service synchronise the rics. Then run the command below another terminal. The output should match the configuration in the file. Note that each ric now has the state "AVAILABLE".

...