This page describes how to get the release F version of Non-RT RIC up and running locally with three separate A1 simulator (previously called Near-RT RIC A1 simulator Interface) docker containers providing STD_1.1.3, STD_2.0.0 and OSC_2.1.0 versions of the A1 interface.
...
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.
...
F Maintenance Release images
(components marked with * is not released in F)Release image and version tag | Manual snapshot (only available if manually built) and version tag | Policy Management Service | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-a1policymanagementservice |
:0a1policymanagementservice:2.4.0-SNAPSHOTNear-RT RIC A1 Simulatora1simulator:Information Coordinator Serviceo-ran-sc/a1-simulator:latest | plt-informationcoordinatorservice:3o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.3.0-SNAPSHOT | Non-RT RIC Control Panel | nonrtriccontrolpanel:0/nonrtric-controlpanel:2.30-SNAPSHOTSDNC A1-Controller | nexus3.onap.onap/sdnc-image:2.3.2Use release version | Gateway* | o-ran-sc/nonrtric-plt-rappcatalogue | 1.1.0 |
DMaaP Adapter | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric |
-gateway:1.1.0o-ran-sc/nonrtric-gateway:.0-SNAPSHOTApp Catalogue Service*rappcatalogue:rappcatalogue:1-SNAPSHOTHelm Managerhelmmanager:2plthelmmanager:20-SNAPSHOTDmaap Mediator Producer | pltdmaapmediatorproducer:1Not applicable (Set as parameter for docker build ) | Dmaap Adapter Service | pltdmaapadapter:nonrtricplt-dmaapadapter:1.1.0-SNAPSHOT ...
ran-sc/nonrtric-rapp-orufhrecovery-consumer | 1.1.0 |
Note: A version of this table appears Integration&Testing - F Release Docker Image List - NONRTRIC (F-Release). This is the authoritive 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 SimulatorInterface) | 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 |
...
To support local test with three separate A1 simulator (previously called Near-RT RIC A1 simulator 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 the A1 (previously called Near-RT RIC A1 Interface) Simulator Docker Containers
- The 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.
...
To enable the also the optional DMAAP 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.
Info |
---|
title | A1 Policy Management Service DMaaP interface is deprecated |
---|
|
Note: The DMaaP interface for the A1 Policy Management Service is now deprecated |
Code Block |
---|
language | yml |
---|
title | optional dmaap config in application_configuration.json |
---|
collapse | true |
---|
|
...
"streams_publishes": {
"dmaap_publisher": {
"type": "message-router",
"dmaap_info": {
"topic_url": "http://dmaap-mr:3904/events/A1-POLICY-AGENT-WRITE"
}
}
},
"streams_subscribes": {
"dmaap_subscriber": {
"type": "message-router",
"dmaap_info": {
"topic_url": "http://dmaap-mr:3904/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=15000&limit=100"
}
}
},
... |
...
Code Block |
---|
|
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.01 |
Wait 1 minute to allow the container to start and to read the configuration. Then run the command below another terminal. The output should match the configuration in the file - all three rics (ric1, ric2 and ric3) should be included in the output. Note that each ric has the state "UNAVAILABLE" until the simulators are started.
...
Expected output (not that all simulators - ric1,ric2 and ric3 will indicate "state":"UNAVAILABLE" until the simulators has been started in Run the A1 (previously called Near-RT RIC A1 Interface) Simulator Docker Containers):
...
Code Block |
---|
|
docker exec a1controller sh -c "tail -f /opt/opendaylight/data/log/karaf.log" |
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.
...
Code Block |
---|
|
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.3.01 |
Ric2
Code Block |
---|
|
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.3.01 |
Ric3
Code Block |
---|
|
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.3.01 |
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".
...
Code Block |
---|
|
docker run --rm -p 8083:8083 -p 8434:8434 --network=nonrtric-docker-net --name=information-service-container nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.3.01 |
Verify that the Information Coordinator Service is started and responding (response is an empty array).
...
Code Block |
---|
|
docker run --rm -v <absolute-path-to-config-file>/application.yaml:/opt/app/nonrtric-gateway/config/application.yaml -p 9090:9090 --network=nonrtric-docker-net --name=nonrtric-gateway nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-gateway:1.10.0 |
Run the following two commands to check that the services can be reached through the gateway
...
Code Block |
---|
|
docker run --rm \
-v <absolute-path-to-config-file>/application.yaml:/opt/app/dmaap-adapter-service/config/application.yaml \
-v <absolute-path-to-config-file>/application_configuration.json:/opt/app/dmaap-adapter-service/data/application_configuration.json \
-p 9086:8084 -p 9087:8435 --network=nonrtric-docker-net --name=dmaapadapterservice nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapadapter:1.1.01 |
Setup jobs to produce data according to the types in application_configuration.json
...
Code Block |
---|
|
docker run --rm -v \
<absolute-path-to-config-file>/type_config.json:/configs/type_config.json \
-p 8885:8085 -p 8985:8185 --network=nonrtric-docker-net --name=dmaapmediatorservice \
-e "INFO_COORD_ADDR=https://information-service-container:8434" \
-e "DMAAP_MR_ADDR=https://message-router:3905" \
-e "LOG_LEVEL=Debug" \
-e "INFO_PRODUCER_HOST=https://dmaapmediatorservice" \
-e "INFO_PRODUCER_PORT=8185" \
nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapmediatorproducer:1.
1.0 |
Setup jobs to produce data according to the types in type_config.json
...