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 want to use SDNC as the baseline, 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, 2015).

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/SDN-R related feature sources are provided to repository [ccsdk/features]/sdnr. The jenkins production will compile bundles and provide artifacts to nexus.

Moved to here: SDN-C/SDN-R images

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:

...

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

...

repository$ODL_HOME/etc/org.apache.karaf.feature.cfgRepository of features to be loaded.

SDN-C/SDN-R Image dependencies

Points

  1. Clean up sdnr/wt
    1. dependency is in sli and sdnc: Remove bundle dependency from sdnc/oam
    2. Install by sdnc install script.
  2. Cleanup environment variables and specify at one location
    1. Use Docker ARG by default
    2. ENV only for variables, used by script
  3. There are several startup scripts. Can we harmonize this?
    1. Script directories in sdnc
      1. opt/onap/sdnc
      2. opt/onap/ccsdk
    2. Same script names different versions. 
      1. startODL.sh in ccsdk 
      2. startODL.sh in sdnc
      3. startODL.oom.sh in OOM project
  4. ODL Startup
  5. featuresboot  modified
    1. by Dockerfile
    2. and by startup script (
    3. Only startupscript should define featureboot with custom features.
    4. odlbasefeatures are specified by ccsdk-odlsli-alpine-imange dockerfile
  6. At the moment featurerepositories are added by Dockerfile and startup scripts
    1. Only dockerfile should add featurerepositories