This page describes how to get the release F G version of Non-RT RIC up and running locally with 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
Docker and docker-compose (latest)
- Additional optional requirements if using the "Helm Manager" function
- kubernetes v1.19+
- kubectl with admin access to kubernetes (minikube, docker-desktop kubernetes etc)
- helm with access to kubernetes -
- this is only applicable when running the Helm Manager example
- operations
Images
The images used for running the Non-RT RIC can be selected from the table below depending on if the images are built manually (snapshot image) or if release images shall be used.
...
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-informationcoordinatorservice | 1.4.0 |
NONRTRIC Control Panel | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel | 2.4.0 |
Gateway | nexus3.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 Enhanced | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue-enhanced | 1.0.1 |
DMaaP Adapter | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapadapter | 1.2.0 |
DMaaP Mediator | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapmediatorproducer | 1.1.0 |
Helm Manager | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-helmmanager | 1.2.0 |
Auth Token Fetcher | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-auth-token-fetch | 1.0.0 |
CAPIF Core | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-capifcore:1.0.0 | 1.0.0 |
O-DU Slice Assurance | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-ransliceassurance | 1.2.0 |
O-DU Slice Assurance | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-ransliceassurance-icsversion | 1.1.0 |
O-RU FH Recovery | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-orufhrecovery | 1.1.0 |
O-RU FH Recovery | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-rapp-orufhrecovery-consumer | 1.1.0 |
Note: A version of this table appears Integration&Testing - G Release Docker Image List - NONRTRIC (G-Release). This is the authoritative version!
Ports
The following ports will be allocated and exposed to localhost for each component. If other port(s) are desired, then the ports need to be replaced in the container run commands in the instructions further below.
...
Component | Port exposed to localhost (http/https) |
---|---|
A1 Policy Management Service | 8081/8443 |
A1 Simulator (previously called Near-RT RIC A1 Interface) | 8085/8185, 8086/8186, 8087/8187 |
Information Coordinator Service | 8083/8434 |
Non-RT RIC Control Panel | 8080/8880 |
SDNC A1-Controller | 8282/8443 |
Gateway | 9090 (only http) |
App Catalogue Service | 8680/8633 |
Helm Manager | 8112 (only http) |
Dmaap Mediator Producer | 9085/9185 |
Dmaap Adapter Service | 9087/9187 |
Capifcore | 8090 (only http) |
Prerequisites
The containers need to be connected to docker network in order to communicate with each other.
...
|
Run the A1 Policy Management Service Docker Container
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.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 This file is for running without the SDNC A1-Controller
Code Block | ||
---|---|---|
| ||
{ "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 | ||
---|---|---|
| ||
{ "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" ] } ] } } |
...
|
Run the SDNC A1 Controller Docker Container (ONAP SDNC)
This step is only applicable if the configuration for the Policy Management Service include the SDNC A1 Controller (second config option), see Run the Policy Management Service Docker Container.
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
Code Block | ||
---|---|---|
| ||
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" |
...
|
Run the A1 Simulator (previously called Near-RT RIC A1 Interface) Docker Containers
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.
...
|
Run the Information Coordinator Service Docker Container
Run the following command to start the information coordinator service.
...
For troubleshooting/verification purposes you can view/access the full swagger API from url: http://localhost:8083/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config
Run the Non-RT RIC Gateway and Control Panel Docker Container
The Gateway exposes the interfaces of the Policy Management Service and the Information Coordinator Service to a single port of the gateway. This single port is then used by the control panel to access both services.
...
The webbased UI can be accessed by pointing the web-browser to this URL:
http://localhost:8080/
Run the App Catalogue Service Docker Container
Start the App Catalogue Service by the following command.
...
|
Expected output:
|
Run the App Catalogue Enhanced Service Docker Container
Start the App Catalogue Enhanced Service by the following command.
...
|
Expected output:
|
Run the Helm Manager Docker Container
Note: Access to kubernetes is required as stated the requirements on the top of this page.
...
|
Run the
...
DMaaP Adapter Service Docker Container
The Dmaap DMaaP Adapter Service needs two configurations files, one for the application specific parameters and one for the types the application supports.
...
Data posted on the kafka topic unauthenticated.dmaapadp_kafka.text will be delivered to the path as specified in the job2.json.
Run the Dmaap Mediator Producer Docker Container
The Dmaap Mediator Producer needs one configuration file for the types the application supports.
...
Data posted on the message router topic unauthenticated.dmaapmed.json will be delivered to the path as specified in the job3.json.
Run SME CAPIF Core
Start the CAPIF Core in a separate shell with the following command:
|
This is a basic start command without helm. See repo README for more options.
Check that the component has started.
|
Run use cases
Within NON-RT RIC a number of use case implementations are provided. Follow the links below to see how to run them.
...