...
We have described the procedure to install a new karaf feature into CCSDK in a set of wiki pages at SDNR Developer Guide. This page begins with the assumption that you have installed your features and included them in the "component meta-feature" for the repository ccsdk/features/sdnr/northbound.
Create a custom CCSDK Docker image
The first step is to create a CCSDK docker image with the desired features. The procedure to do this is the same as that described at SDNR Developer Guide except we are using the Casablanca branch, which requires two principal changes:
- Update the version values of the maven artifacts to the value in the Casablanca branch
- Modify the version of the OpenDaylight Oxygen Docker image that is used as the starting point for the CCSDK Docker image
This code is taken from ccsdk/sli/core/sliapi and ccsdk/distribution/pom.xml and shows the version numbers for the parent pom.xml files and artifacts. We can use version "1.1.2-SNAPSHOT" for the CCSDK parent poms and "0.3.2-SNAPSHOT" for the artifacts.
Code Block |
---|
<parent>$ <groupId>org.onap.ccsdk.parent</groupId>$ <artifactId>single-feature-parent</artifactId>$ <version>1.1.2-SNAPSHOT</version>$ <relativePath/>$ </parent>$ <parent>$ <groupId>org.onap.ccsdk.parent</groupId>$ <artifactId>feature-repo-parent</artifactId>$ <version>1.1.2-SNAPSHOT</version>$ <relativePath/>$ </parent>$ <parent>$ <groupId>org.onap.ccsdk.parent</groupId>$ <artifactId>odlparent-lite</artifactId>$ <version>1.1.2-SNAPSHOT</version>$ <relativePath/>$ </parent>$ <parent>$ <groupId>org.onap.ccsdk.parent</groupId>$ <artifactId>binding-parent</artifactId>$ <version>1.1.2-SNAPSHOT</version>$ <relativePath/>$ </parent>$ <groupId>org.onap.ccsdk.distribution</groupId> <artifactId>distribution-odlsli</artifactId> <version>0.3.2-SNAPSHOT</version> <packaging>pom</packaging> |
The Dockerfile in ccsdk/distribution/odlsli/src/maindocker that creates the CCSDK Docker images needs to be updated with the correct tag for the OpenDaylight Oxygen image. Change:
Code Block |
---|
# Base ubuntu with added packages needed for open ecomp
FROM onap/ccsdk-odl-oxygen-image:${project.version} |
To:
Code Block |
---|
# Base ubuntu with <packaging>pom</packaging>added packages needed for open ecomp FROM onap/ccsdk-odl-oxygen-image:0.3.2-STAGING |
In the original code, ${project.version} is replaced with "0.3.2-SNAPSHOT," and there is no image with that tag in the nexus3 repository. This is a temporary condition as the Casablanca release goes through the final approval process. Also, notice that the Dockerfile assumes a local copy of the image, so one should login to nexus3.onap.org:1001, pull down the image and rename it from nexus3.onap.org:1001/onap/ccsdk-odl-oxygen-image:0.3.2-STAGING to onap/ccsdk-odl-oxygen-image:0.3.2-STAGING. (Please edit this page to correct any errors or make improvements.) After making these changes, one can navigate to the ccsdk/distribution/odlsli directory and execute the command "mvn clean install -P docker" to create a new CCSDK Docker image with the new features for the proof-of-concept.