Table of Contents |
---|
Introduction
SDN-R is a specialization of the OpenDaylight controller, developed in the OpenDaylight project.
...
One piece of SDN-R functionality is a microservice. The microservice is running in OSGi (Karaf) context using the Opendaylight platform and provided as a features and OSGi bundles.
Development steps
...
This description is using SDNR WT microservice or feature as example.
The general steps to provide this feature are descibed by the list below with examples in the following sections.
There are four pieces and steps to consider during development. The changes have to be delivered into repositories of ONAP gerrit. Checkin precodures are following ONAP The development work is done in four onap gerrit repositories, following the ONAP prozesses and rules:
...
- Bundles with service functionality as ZIP archive containing a maven repository that is later added/installed into the Opendaylight/karaf repository
- Provide feature xml that can be added to Opendaylight/karaf to manage the installation
...
- Provide an intermediate container with an Opendaylight/karaf repository containing a specific collection of services
- Provide the related repositories via the $ODL_HOME/etc/org.apache.karaf.features.cfg feature repository list, specified by featuresRepositories=
...
- Add to startODL.sh functionality to startup service if configured to be active. (But be aware .. this script is normally overwritten by oom .. see next step)
Step | gerrit-repo | Path in repo | Desciption |
---|---|---|---|
1 | ccsdk/features | /sdnr | Provides the features as
|
2 | sdnc/oam | /installer/sdnc | Project to create the SDNC image.
|
3 | oom | /kubernetes/sdnc | Add functionality to configure and start your service.
|
Details are in SDN-R Dev Steps and Repositories
Beside code the documentation has to be added and included into ONAP ReadTheDocs.
Development steps depicted
The steps 1 and 2 of the development and delivery to ONAP project are depicted here:
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
SDN-R Sandbox
...
For development purpose and local testing there is a further github repository available that can be used as sandbox with less strict access.
The sdnr sandbox It is located here: https://github.com/onap-oof-pci-poc/ccsdk.
- This repository is a merge of the gerrit repositories ccsdk/feature and ccsdk/distribution using the bold marked elements as subdirectories in difference to the ONAP gerrit, but using the same directory structure below.
- There are further ReadTheDocs and OOM/HELM related information available in this repository.
- The github/ccsdk/distributions are designed to allow a simpler setup using docker on a development server
...
Provide feature code
In the gerrit ccsdk/feature repository in the path sdnr/wt the sources for all bundles located.
In the following directory tree there are two sdnr services northbound and wt:
...
- .
...
The sdnr/wt bundles apigateway, helpserver, devicemodel, devicemanager, websocketmanager2, odlux are providing the functionality.
The sdnr/wt/featureaggregator
- 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
...