You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Introduction

SDN-R is a specialization of the OpenDaylight controller, developed in the OpenDaylight project.

Technical bullets

  • OSGi architecture, using the Apache Karaf runtime environment.
  • OpenDaylight framework for Service Abstraction (MDSAL), NETCONF, YANG Tools
  • Docker/Linux for feature bundling and provisioning

The development of SDN-R bases on ONAP elements CCSDK, SDNC, OOM and ONAP Documentation.

Each of this elements is represented by different gerrit repositories for the path of service delivery:

  • CCSDK provides features (=single feature) and feature bundles (= meta feature or microservice)
  • SDNC provides an image, prepared to run in the the ONAP service environment
  • OOM provides scripts and configurations for deployment in the complex ONAP solution targeting Helm and Kubernetes as platform
  • ONAP Documentation is providing user developer documentation, delivered via INTERNET

SDN-R is not listed. This is because it is defined by a specific configuration of the SDNC container, established during provisioning by OOM Scripts.

  • SDN-R = SDNC containers + SDN-R configuration

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: 

  1. ccsdk/features → Provide here the features as single ZIP Installer for all bundles
    1. Bundles with service functionality as ZIP archive containing a maven repository that is later added/installed into the Opendaylight/karaf repository
    2. Provide feature xml that can be added to Opendaylight/karaf to manage the installation
  2. ccsdk/distribution → Add the dependency and the repository
    1. Provide an intermediate container with an Opendaylight/karaf repository containing a specific collection of services
    2. Provide the related repositories via the $ODL_HOME/etc/org.apache.karaf.features.cfg feature repository list, specified by featuresRepositories=
  3. sdnc/oam → Image for activating the service
    1. 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)
  4. oom → Add functionality to configure and start your service
    1. Add to startODL.sh the functionality to startup service if configured to be active.
    2. Extend script to set related ENV variables with configuration of specific feature bundel.

The most important steps of the development and delivery to ONAP project:

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 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.



  • No labels