Creating SDNC/oam image with SDN-R functionality

Introduction

The 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]

image

nexus

location in [sdnc/oam]

image

nexus

installation/sdnc

onap/sdnc-image

https://nexus3.onap.org:10001/v2/onap/sdnc-image/tags/list

installation/sdnc-web

onap/sdnc-web-image

https://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 file

in Container

meaning

project file

in Container

meaning

src/main/scripts/startODL.sh

/opt/onap/sdnc/bin/startODL.sh

Startup 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.cfg

Repository 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