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
The general steps to provide this feature are descibed by the list below with examples in the following sections.
The development work is done in four onap gerrit repositories, following the ONAP prozesses and rules:
- ccsdk/features → Provide here the features as single ZIP Installer for all bundles
- 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
- sdnc/oam → Add for creation of SDNC image the feature to repository and provide installer to /installer/sdnc
- Add dependency to pom.xml to move it into container's ODL repository. $ODL_HOME/system/org/onap/ccsdk/features/sdnr/...
- Add repository to ODL startup configuration that it is available to be activated. $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. Use environment variable like "SDNR_MyNewService" true|false. (Be aware .. this script is normally overwritten by oom .. see next step)
- oom → Add functionality to configure and start your service
- Add to startODL.sh the functionality to startup service if configured to be active.
- Extend script to set related ENV variables with configuration of specific feature bundel.
Development steps depicted
The steps 1 and 2 of the development and delivery to ONAP project are depicted here:
Drawio | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
...