Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

The discussion in the previous pages worked with CCSDK as the baseline package.  We may sometimes wish to add features to SDNC, and this page describes how to install the SDNR features into SDNC rather than CCSDK.

SDNC Installation

SDNC uses the same procedures as CCSDK to create the Docker image.  The relevant repository is sdnc/oam, and the Docker image is created in sdnc/oam/installation/sdnc/.  The pom.xlm file operates in the same way as the CCSDK counterpart and gathers the features specified in the "dependencies" section, shown here (master branch, Oct 30, 2018).

Code Block
<dependencies>
        <dependency>
                <groupId>org.onap.sdnc.northbound</groupId>
                <artifactId>generic-resource-api-installer</artifactId>
                <version>${sdnc.northbound.version}</version>
                <classifier>repo</classifier>
                <type>zip</type>
        </dependency>
        <dependency>
                <groupId>org.onap.sdnc.northbound</groupId>
                <artifactId>vnfapi-installer</artifactId>
                <version>${sdnc.northbound.version}</version>
                <classifier>repo</classifier>
                <type>zip</type>
        </dependency>
        <dependency>
                <groupId>org.onap.sdnc.northbound</groupId>
                <artifactId>vnftools-installer</artifactId>
                <version>${sdnc.northbound.version}</version>
                <classifier>repo</classifier>
                <type>zip</type>
        </dependency>
        <dependency>
                <groupId>org.onap.sdnc.northbound</groupId>
                <artifactId>sdnc-northbound-features-installer</artifactId>
                <version>${sdnc.northbound.version}</version>
                <classifier>repo</classifier>
                <type>zip</type>
        </dependency>
</dependencies>

When building the docker image from Dockerfile, recall that CCSDK uses the OpenDaylight image as the starting point to which it adds the CCSDK features.  SDNC, in contrast, begins with the CCSDK image, as shown here from sdnc/oam/installation/sdnc/src/main/docker/Dockerfile:

FROM onap/ccsdk-odlsli-image:${ccsdk.distribution.version}

As with CCSDK, we can include the SDNR features by adding the relevant dependencies to sdnc/oam/installation/sdnc/pom.xml and update the sdnc/oam/installation/sdnc/src/main/docker/Dockerfile to include the SDNR featuresSDN-R related feature sources are provided to repository [ccsdk/features]/sdnr. The jenkins production will compile bundles and provide artifacts to nexus.

SDN-R Images

The artifacts are bundled into a docker container in repository [sdnc/oam]. The relevant projects for creating the images are 

location in [sdnc/oam]imagenexus
installation/sdnconap/sdnc-imagehttps://nexus3.onap.org:10001/v2/onap/sdnc-image/tags/list
installation/sdnc-webonap/sdnc-web-imagehttps://nexus3.onap.org:10001/v2/onap/sdnc-web-image/tags/list

Building SDNC image with SDN-R feature

The sdnc-image container and the relevant parts to activate a feature.

project filein Containermeaning
src/main/scripts/startODL.sh/opt/onap/sdnc/bin/startODL.shStartup script and entry point
  • Shouldn't use the "ccsdk.feature.version"
  • The script should configure SDN-R features according to ENV setting
  • HINT: Normally overloaded by OOM/sdnc Helm startup
pom.xml: ccsdk.features.version
specifies the ccsdk/feature to be included. 
src/main/docker/Dockerfile: repository$ODL_HOME/etc/org.apache.karaf.feature.cfgRepository of features to be loaded.