SDN-R Development

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:

name

content

name

content

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.