Project Overview
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 Dublin, i.e. the functional enhancements
- Controller Design Studio (CDS) : a self-service design tool that allows service designers to define configuration rules for VNFs/PNFs. This tool will be integrated as a subtending editor for SDC in a later ONAP release.
Note: CDS is actually part of the CCSDK project, which SDNC will use in the Dublin release to support the 5G use case.
New or modified interfaces
SDNC will use a new gRPC interface provided by CCSDK called "selfservice-api" with SO. This interface will provide the following new functions:
- ConfigAssign - Resolve application params and generates a configlet for network base-configuration and incremental configlets for PNF, VNFs and in the future CNFs.
- ConfigDeploys - Deploy the configlet that is generated as part of the configAssign action to the network using netconf/restconf.
SDNC will also support interfaces to NETCONF devices in Dublin over TLS transport, using the NETCONF/TLS support introduced in the OpenDaylight Fluorine release.
Interface naming
SDNC exposes the following APIs implemented by CCSDK:
- 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 (see above)
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
- Note: this API is considered deprecated, since GENERIC-RESOURCE-API supports assignments via preloads, making it a complete replacement for VNF-API. We propose to formally declare VNF-API deprecated in El Alto and to remove it altogether in release F.
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
Listing of new or impacted models used by the project (for information only)
None