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/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 |
---|---|---|
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 |
---|---|---|
src/main/scripts/startODL.sh | /opt/onap/sdnc/bin/startODL.sh | Startup script and entry point
|
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.cfg | Repository of features to be loaded. |
SDN-C/SDN-R Image dependencies
Points
- Clean up sdnr/wt
- dependency is in sli and sdnc: Remove bundle dependency from sdnc/oam
- Install by sdnc install script.
- Cleanup environment variables and specify at one location
- Use Docker ARG by default
- ENV only for variables, used by script
- There are several startup scripts. Can we harmonize this?
- Script directories in sdnc
- opt/onap/sdnc
- opt/onap/ccsdk
- Same script names different versions.
- startODL.sh in ccsdk
- startODL.sh in sdnc
- startODL.oom.sh in OOM project
- Script directories in sdnc
- ODL Startup
- featuresboot modified
- by Dockerfile
- and by startup script (
- Only startupscript should define featureboot with custom features.
- odlbasefeatures are specified by ccsdk-odlsli-alpine-imange dockerfile
- At the moment featurerepositories are added by Dockerfile and startup scripts
- Only dockerfile should add featurerepositories