...
Component (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:2.4.0 | o-ran-sc/nonrtric-plt-a1policymanagementservice:2.4.0-SNAPSHOT |
Near-RT RIC A1 Simulator | nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.3.0 | o-ran-sc/a1-simulator:latest |
Information Coordinator Service | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.3.0 | o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.3.0-SNAPSHOT |
Non-RT RIC Control Panel | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-controlpanel:2.3.0 | o-ran-sc/nonrtric-controlpanel:2.3.0-SNAPSHOT |
SDNC A1-Controller | nexus3.onap.org:10002/onap/sdnc-image:2.3.2 | Use release version |
Gateway* | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-gateway:1.1.0 | o-ran-sc/nonrtric-gateway:1.1.0-SNAPSHOT |
App Catalogue Service* | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue:1.1.0 | o-ran-sc/nonrtric-plt-rappcatalogue:1.1.0-SNAPSHOT |
Helm Manager | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-helmmanager:1.2.0 | o-ran-sc/nonrtric-plt-helmmanager:1.2.0-SNAPSHOT |
Dmaap Mediator Producer | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapmediatorproducer:1.1.0 | Not applicable (Set as parameter for docker build ) |
Dmaap Adaptor Adapter Service | nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-dmaapadaptordmaapadapter:1.1.0 | o-ran-sc/nonrtric-plt-dmaapadaptordmaapadapter:1.1.0-SNAPSHOT |
(*) Note: For images not released in F (components marked with *) the snap shot images built manually will get an image tag of one step above the release imaged tag.
Note: A version of this table appears Integration&Testing - E Release - E Release Docker Image List - NONRTRIC (E-Release). This is the authoritive 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 |
Near-RT RIC A1 Simulator | 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 Adaptor Adapter Service | 9087/9187 |
...
Prerequisites
The containers need to be connected to docker network in order to communicate with each other.
...
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.34.10 |
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.
...
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.3.2.3 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" |
...
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.23.0 |
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.23.0 |
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.23.0 |
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.23.10 |
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.01.0 |
Run the following two commands to check that the services can be reached through the gateway
...
Code Block | ||
---|---|---|
| ||
docker run --rm -p 8680:8680 -p 8633:8633 --network=nonrtric-docker-net --name=rapp-catalogue-service nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-plt-rappcatalogue:1.1.0.2 |
Verify that the service is up and running
...
To run in the helm manager in kubernetes see this page: Run Helm Manager in kubernetes
Run the Dmaap
...
Adapter Service Docker Container
The Dmaap Adaptor Adapter Service needs two configurations files, one for the application specific parameters and one for the types the application supports.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
spring: profiles: active: prod main: allow-bean-definition-overriding: true aop: auto: false management: endpoints: web: exposure: # Enabling of springboot actuator features. See springboot documentation. include: "loggers,logfile,health,info,metrics,threaddump,heapdump" springdoc: show-actuator: true logging: # Configuration of logging level: ROOT: ERROR org.springframework: ERROR org.springframework.data: ERROR org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR org.oran.dmaapadapter: INFO file: name: /var/log/dmaap-adaptoradapter-service/application.log server: # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. # See springboot documentation. port : 8435 http-port: 8084 ssl: key-store-type: JKS key-store-password: policy_agent key-store: /opt/app/dmaap-adaptoradapter-service/etc/cert/keystore.jks key-password: policy_agent key-alias: policy_agent app: webclient: # Configuration of the trust store used for the HTTP client (outgoing requests) # The file location and the password for the truststore is only relevant if trust-store-used == true # Note that the same keystore as for the server is used. trust-store-used: false trust-store-password: policy_agent trust-store: /opt/app/dmaap-adaptoradapter-service/etc/cert/truststore.jks # Configuration of usage of HTTP Proxy for the southbound accesses. # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s http.proxy-host: http.proxy-port: 0 ics-base-url: https://information-service-container:8434 # Location of the component configuration file. The file will only be used if the Consul database is not used; # configuration from the Consul will override the file. configuration-filepath: /opt/app/dmaap-adaptoradapter-service/data/application_configuration.json dmaap-base-url: https://message-router:3905 # The url used to address this component. This is used as a callback url sent to other components. dmaap-adapter-base-url: https://dmaapadapterservice:8435 # KAFKA boostrap server. This is only needed if there are Information Types that uses a kafkaInputTopic kafka: bootstrap-servers: message-router-kafka:9092 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "types": [ { "id": "ExampleInformationType", "dmaapTopicUrl": "/events/unauthenticated.dmaapadp.json/dmaapadapterproducer/msgs?timeout=15000&limit=100", "useHttpProxy": false }, { "id": "ExampleInformationTypeKafka", "kafkaInputTopic": "unauthenticated.dmaapadp_kafka.text", "useHttpProxy": false } ] } |
Start the Dmaap Adaptor Adapter Service in a separate shell with the following command:
Code Block | ||
---|---|---|
| ||
docker run --rm \ -v <absolute-path-to-config-file>/application.yaml:/opt/app/dmaap-adaptoradapter-service/config/application.yaml \ -v <absolute-path-to-config-file>/application_configuration.json:/opt/app/dmaap-adaptoradapter-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-dmaapadaptordmaapadapter:1.1.0.1 |
Setup jobs to produce data according to the types in application_configuration.json
...
Code Block | ||
---|---|---|
| ||
curl -k -X PUT -H Content-Type:application/json https://localhost:80838434/data-consumer/v1/info-jobs/job1 --data-binary @job1.json |
Check that the job has been enabled - job accepted by the Dmaap Adaptor Adapter Service
Code Block | ||
---|---|---|
| ||
curl -k https://informationservicelocalhost:8434/A1-EI/v1/eijobs/job1/status {"eiJobStatus":"ENABLED"} |
...
Code Block | ||
---|---|---|
| ||
curl -k -X PUT -H Content-Type:application/json https://localhost:80838434/data-consumer/v1/info-jobs/job1job2 --data-binary @job2.json |
Check that the job has been enabled - job accepted by the Dmaap Adaptor Adapter Service
Code Block | ||
---|---|---|
| ||
curl -k https://informationservice:8434/A1-EI/v1/eijobs/job2/status {"eiJobStatus":"ENABLED"} |
...
Code Block | ||
---|---|---|
| ||
docker run --rm -v \ <absolute-path-to-config-file>/type_config.json:/configs/type_config.json \ -p 8085:8085 -p 8185:8185 --network=nonrtric-docker-net --name=dmaapmediatorservice \ -e "INFO_COORD_ADDR=https://informationservice: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.1 |
Setup jobs to produce data according to the types in type_config.json
...
Check that the job has been enabled - job accepted by the Dmaap Adaptor Adapter Service
Code Block | ||
---|---|---|
| ||
curl -k https://informationservice:8434/A1-EI/v1/eijobs/job3/status {"eiJobStatus":"ENABLED"} |
...