Versions Compared

Key

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

This page describes how to get the release G version of Non-RT RIC up and running locally with three separate A1 simulator (previously called Near-RT RIC A1 Interface) docker containers providing STD_1.1.3, STD_2.0.0 and OSC_2.1.0 versions of the A1 interface.

All components of the Non-RT RIC run as docker containers and communicate via a private docker network with container ports, ports also available on localhost. Details of the architecture can be found from Release G page.


Table of Contents

Project Requirements

...

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

...

To support local test with three separate A1 simulator (previously called Near-RT RIC A1 Interface) instances, each running a one of the three available A1 Policy interface versions:  

  • 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 Containers

The policy management service can be configure with or without a A-Controller. Choose the appropriate configuration below.This file A1 Policy Mnagement Service can be configured to support A1 connection via an SDNC A1-Controller for some or all rics/simulators. It is optional to access the near-RT-RIC through an A1-Controller.
This is configured using the optional "controller" paramter for each ric entry. If all configured rics bypass the A1-Controller (do not have "controller" values) then the "controller" object at the top of the configuration can be omitted. If all configured rics bypass the A1-Controller there is no need to start an A1-Controller.

This sample configuration is for running without the SDNC A1-Controller

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 sample configuration 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"
                ]
            }
        ]
    }
}

...

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"}]}

...

Create the docker compose file - be sure to update image for the a1controller to the one listed for SDNC A1 Controller in the table on the top of this page.
docker-compose.yaml Expand source

Code Block
titledocker-compose.yaml
version: '3'
 
networks:
  default:
    external: true
    name: nonrtric-docker-net
 
services:
  db:
    image: nexus3.o-ran-sc.org:10001/mariadb:10.5
    container_name: sdncdb
    networks:
      - default
    ports:
      - "3306"
    environment:
      - MYSQL_ROOT_PASSWORD=itsASecret
      - MYSQL_ROOT_HOST=%
      - MYSQL_USER=sdnctl
      - MYSQL_PASSWORD=gamma
      - MYSQL_DATABASE=sdnctl
    logging:
      driver:   "json-file"
      options:
        max-size: "30m"
        max-file: "5"
 
  a1controller:
    image: nexus3.onap.org:10002/onap/sdnc-image:2.4.2
    depends_on :
      - db
    container_name: a1controller
    networks:
      - default
    entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"]
    ports:
      - 8282:8181
      - 8443:8443
    links:
      - db:dbhost
      - db:sdnctldb01
      - db:sdnctldb02
    environment:
      - MYSQL_ROOT_PASSWORD=itsASecret
      - MYSQL_USER=sdnctl
      - MYSQL_PASSWORD=gamma
      - MYSQL_DATABASE=sdnctl
      - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties
      - SDNC_BIN=/opt/onap/sdnc/bin
      - ODL_CERT_DIR=/tmp
      - ODL_ADMIN_USERNAME=admin
      - ODL_ADMIN_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
      - ODL_USER=admin
      - ODL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
      - SDNC_DB_INIT=true
      - A1_TRUSTSTORE_PASSWORD=a1adapter
      - AAI_TRUSTSTORE_PASSWORD=changeit
    logging:
      driver:   "json-file"
      options:
        max-size: "30m"
        max-file: "5"

...

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.

...