Release F - Build
This page describes how to build release F version of Non-RT RIC.
Note: In general, there is no need to build the images manually. All images for the release are available in nexus image repositories. Please refer to the page Release F - Run in Docker for running the release F Non-RT RIC.
Details of the architecture can be found from Release F page.
(Note: The actual docker image version numbers/tags may be different from the instructions below as development continues in the relevant repositories)
Project Requirements
- Java 11 (make sure that JAVA_HOME environment variable points to correct Java version).
- Docker and docker-compose (latest).
- git (latest) - for downloading code repos.
Maven 3.6.
- Note: There are several build-time dependencies for ONAP Maven modules.
Your Maven build settings will need to access the ONAP Maven repos, as described on this ONAP wiki page. (A sample ONAP Maven settings file is available).
- Note: There are several build-time dependencies for ONAP Maven modules.
Build Code
Build nonrtric Docker containers
Download the following repos:
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/a1policymanagemntservice" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/dmaapadapter" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/dmaapmediatorproducer -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/helmmanager" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/informationcoordinatorservice" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/rappcatalogue" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/rapp/ransliceassurance" -b f-release
git clone "https://gerrit.o-ran-sc.org/r/nonrtric/rapp/orufhrecovery" -b f-release
To build docker images of r-app-catalogue, information-coordinator-service, policy-management-service, helm-manager, and dmaap-adapter, go into the repo of each product and run the following command:
mvn clean install -Dmaven.test.skip=true
After build, you should be able to see logs like this:
To build docker images of dmaap-mediator-producer as well as images for the use cases o-du-slice-assurance and o-ru-closed-loop-consumer, go into the repo of each product and run the command below. Note! The use cases have more than one implementation, in subfolders. Choose the version needed and perform the build in the corresponding subfolder.
docker build -t <image-name>:<image-version> .
If the build was successful images with following name and tag shall be built. Use the command 'docker images' to view newly built images in the local docker registry.
$ docker images o-ran-sc/nonrtric-plt-rappcatalogue 1.1.0-SNAPSHOT o-ran-sc/nonrtric-plt-informationcoordinatorservice 1.3.0-SNAPSHOT o-ran-sc/nonrtric-plt-a1policymanagementservice 2.4.0-SNAPSHOT o-ran-sc/nonrtric-plt-helmmanager 1.2.0-SNAPSHOT o-ran-sc/nonrtric-plt-dmaapadapter 1.1.0-SNAPSHOT o-ran-sc/nonrtric-plt-dmaapmediatorproducer 1.1.0-SNAPSHOT o-ran-sc/nonrtric-rapp-ransliceassurance 1.1.0 o-ran-sc/nonrtric-rapp-orufhrecovery 1.1.0
(Note: The actual docker image version numbers/tags may be different as development continues in the relevant repositories. Use the latest version numbers in the instructions below)
Build A1 simulator (previously called Near-RT RIC A1 Interface) container
Download the A1 simulator repo (defaults to master branch - the simulator supports all available A1 versions):
git clone "https://gerrit.o-ran-sc.org/r/sim/a1-interface" -b f-release
Create docker image
To create docker image A1 simulator (note that the given image name must match the name given in docker startup later):
cd a1-interface/near-rt-ric-simulator docker build -t near-rt-ric-simulator:latest .
Using the command below you can check that the name below is in the list of available images.
$ docker images near-rt-ric-simulator latest
Build nonrtric / Control panel and gateway containers
Download the nonrtric repo:
git clone "https://gerrit.o-ran-sc.org/r/portal/nonrtric-controlpanel" -b f-release
Build the code and create docker images
cd nonrtric-controlpanel cd nonrtric-gateway mvn clean install -Dmaven.test.skip=true docker build --build-arg JAR=nonrtric-gateway-1.1.0-SNAPSHOT.jar -t o-ran-sc/nonrtric-gateway:1.1.0-SNAPSHOT . cd ../webapp-frontend docker build -t o-ran-sc/nonrtric-controlpanel:2.3.0-SNAPSHOT .
Using the command below you can check that the names below are in the list of available images.
$ docker images o-ran-sc/nonrtric-gateway 1.1.0-SNAPSHOT o-ran-sc/nonrtric-controlpanel 2.3.0-SNAPSHOT
(Note: The actual docker image version numbers/tags may be different as development continues in the relevant repositories)