Versions Compared

Key

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

...

CCSDK is based on OpenDaylight and follows the recommended practices of that group.  There are documented guidelines for karaf features, and another aspect is what OpenDaylight calls "component meta-features," in which several related features are grouped together to simplify their installation into karaf. 

Inspecting the installer pom.xml file

Below is the annotated pom.xml file.  It executes two maven phases: prepare-package and package.  Maven executes the prepare-package phase before the package phase, although, in the pom.xml file, the prepare-package code appears after the prepare code.  In the annotations, the sequence is indicated by number.

Image Removed

Building the features files for the repositories

The section of the Dockerfile that sets the environment variables for the features for the repositories is repeated here.

...

titleFeatures files for respositories

For example, these features implement NETCONF in OpenDaylight:

  • odl-netconf-api

  • odl-netconf-mapping-api

  • odl-netconf-util

  • odl-netconf-impl

  • odl-netconf-netty-util

  • odl-netconf-client

  • odl-netconf-monitoring

Rather than install each feature individually in the karaf client, one can use the component meta-feature "odl-netconf-all" and install all of the features with the single command "feature:install odl-netconf-all."  Recall that the Dockerfile for ccsdk_odlsli_container set these environment variables:

ENV

...

CCSDK_SLI_CORE_REPO

...

mvn:org.onap.ccsdk.sli.core/ccsdk-sli-core-all/${ccsdk.sli.core.version}/xml/features

...


ENV

...

CCSDK_SLI_ADAPTORS_REPO

...

mvn:org.onap.ccsdk.sli.adaptors/ccsdk-sli-adaptors-all/${ccsdk.sli.adaptors.version}/xml/features

...


ENV

...

CCSDK_SLI_NORTHBOUND_REPO

...

mvn:org.onap.ccsdk.sli.northbound/ccsdk-sli-northbound-all/${ccsdk.sli.northbound.version}/xml/features

...


ENV

...

CCSDK_SLI_PLUGINS_REPO

...

mvn:org.onap.ccsdk.sli.plugins/ccsdk-sli-plugins-all/${ccsdk.sli.plugins.version}/xml/features

So CCSDK has created a component meta-feature for each of the SLI repositories, and we will encounter commands in the Maven pom.xml files and directory structures to implement them.

Inspecting the installer pom.xml file

Below is the annotated pom.xml file.  It executes two maven phases: prepare-package and package.  Maven executes the prepare-package phase before the package phase, although, in the pom.xml file, the prepare-package code appears after the prepare code.  In the annotations, the sequence is indicated by number.

Image AddedThese variables enable all of the features in a repository to be installed using a single reference, e.g., <repository-name>-all.