SDNC R6 Frankfurt Architecture Review

Brief Project Overview (brief as it should be known)

SDNC is a network controller based on CCSDK, which provides most of the base functionality used to implement the network controller. The SDNC project assembles those components, adding real-time configurable service logic (aka directed graphs) to implement network controller instances or "personas".



New component capabilities for Frankfurt, i.e. the functional enhancements.

The following table lists the Frankfurt functional requirements which impact SDNC.

Requirements

Requirements

REQ-141: CCVPN-E-LINE Service over OTN NNIDone

REQ-37: Multi Domain Optical ServiceDone

REQ-162: This epic covers the work to upgrade ONAP components from legacy Policy API to new Lifecycle APIDone

REQ-154: Enhancements to 5G OOF SON use caseDone

REQ-267: 5G Run-Time Data Persistence (Runtime Config DB) In Progress

REQ-38: 5G / ORAN & 3GPP Standards HarmonizationDone

REQ-76: NETCONF/TLS Certificate ManagementDone

REQ-174: Remove dependencies on Python2Done

These requirements require enhancements to existing SDNC functionality, as opposed to new interfaces. 

New or modified interfaces

SDNC currently provides 2 interfaces with overlapping capabilities:

  • VNF-API

  • GENERIC-RESOURCE-API

All the capabilities of VNF-API are now also provided by GENERIC-RESOURCE-API.  Our existing ONAP use cases have been updated to use GENERIC-RESOURCE-API instead of VNF-API.  Therefore, our plan is to deprecate VNF-API in the Frankfurt release, and remove the code in the Guilin release.

If they are modified, are the backwards compatible?



Interface naming (point to an example)

CCSDK provides the following APIs which are exposed by SDNC:

  • ASDC-API : RESTCONF interface used to process certain non-TOSCA artifacts distributed by SDC (license model updates).

  • dataChange : RESTCONF interface pub/sub interface that allows controller to be notified on data change events (note: not currently used in ONAP use cases)

  • LCM : RESTCONF interface used to handle LifeCycle Management events

  • SLI-API : RESTCONF interface to service logic interpreter.  Used primarily for health check.

  • selfservice-api : gRPC interface used with CDS

  • oofpcipoc-api : RESTCONF interface used for OOF/PCI integration

SDNC itself also provides the following interfaces, not found in CCSDK:

  • GENERIC-RESOURCE-API : supports assignment of network resources, via automation and preloaded data

  • VNF-API : supports assignment of network resources via preloaded data

    • As noted above, this release will be deprecated in Frankfurt and removed in Guilin.

Reference to the interfaces.

All APIs have Swagger documentation, which is referenced in readthedocs

What are the system limits?

Due to limitations inherent in OpenDaylight clustering - which is based on akka - SDNC should always be run with an odd number of replicas. This is needed to guarantee there can be no "ties" in the akka leader election procedure.

Involved use cases, architectural capabilities or functional requirements.



SDNC is used in the following use cases:

  • vFW

  • vDNS

  • vCPE

  • VoLTE

  • CCVPN

  • 5G

  • BBS



Listing of new or impacted models used by the project (for information only).

None