Directory structure

In the gerrit ccsdk/feature repository in the path sdnr/wt the sources for all feature bundles are located.

In the following directory tree there are two sdnr services northbound and wt:

sdnr/
├── northbound
│   ├── features
│   ├── helloworld
│   ├── goodbyeworld
│   ├── energysavings
│   └── oofpcipoc
└── wt
    ├── featureaggregator
    ├── apigateway
    ├── helpserver
    ├── devicemodel
    ├── devicemanager
    ├── websocketmanager2
    ├── odlux
    ├── pom.xml
    └── README.md

In sdnr/wt the features apigateway, helpserver, devicemodel, devicemanager, websocketmanager2, odlux are providing the functionality.

In sdnr/northbound there are the "development examples" helloworld and goodbyworld and the services energysavings and oofpcipoc.

Each feature contains a substructure

The sdnr/wt/featureaggregator and sdnr/northbound/features

  • is packaging all the above sdnr wt feature bundles (apigateway, .. ,odlux) into one ZIP installer to integrate them into a distribution image
  • providing a single karaf feature that can be used to install the complete service "sdnr-wt-feature-aggregator", but also provides the sub-features and its repositories

Template structure for feature

The SDN-R template structure for one feature has the elements:

namecontent
feature(mandatory) OSGi xml feature and dependency
installer(mandatory) ZIP file containg mavenrepository content of helloworld feature for delivery to distribution ODL Karaf container.
model(optional) OSGi bundles export interface source files as java or yang source
provider(optional) OSGi bundles implementation source files as java or yang source

A functional implementation should normally provide all elements, but it could be a subset only.

  • feature aggregator: Feature xml and installer are required.
  • model provider: feature, installer, model

Subsequent descriptions

The decriptions for creating a feature are:

  1. Creating and Installing a New Feature into SDN-R
  2. Creating a "Component Meta-Feature"
  3. Creating SDNC/oam image with SDN-R functionality

The descriptions are provided with ONAP Casablance release. So the version numbers are related to Casablanca.


  • No labels

2 Comments

  1. What is the easiest way to build sdnr (dublin) source code?

    I am getting below errors:   Many pom versions are missing in repository as below:

    Non-resolvable parent POM for org.onap.ccsdk.features.sdnr.northbound:sdnr-oofpcipoc:0.5.0-SNAPSHOT: Failure to find org.onap.ccsdk.parent:single-feature-parent:pom:1.3.1-SNAPSHOT in http://repo1.maven.org/maven2/ was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath'


    I have fixed by available versions, but at the end it is giving error in repository downloaded pom file.

    Non-resolvable parent POM for org.onap.ccsdk.sli.core:sli-core-artifacts:0.5.0-SNAPSHOT: Failure to find org.onap.ccsdk.parent:parent:pom:1.3.1-SNAPSHOT in http://repo1.maven.org/maven2/ was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ org.onap.ccsdk.sli.core:sli-core-artifacts:0.5.0-SNAPSHOT, /root/.m2/repository/org/onap/ccsdk/sli/core/sli-core-artifacts/0.5.0-SNAPSHOT/sli-core-artifacts-0.5.0-SNAPSHOT.pom, line 17, column 10


    Please help me to overcome from this issue.

    1. The libraries mentioned in pom file are not available in snapshot repository. Most of them are available in staging repository. For staging, need to mention version 1.3.1 instead of 1.3.1-SNAPSHOT. So, removed "-SNAPSHOT" everywhere. So, it is built now.