Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Project NameEnter the name of the project
Target Release NameAmsterdam
Project Lifecycle StateIncubation
Participating Company AT&T, Huawei, ZTE, China Mobile, AMDOCS, Intel, Orange, Coriant, Bell Canada, Tech Mahindra, Brocade

Scope

What is this release trying to address?

Describe the problem being solved by this release

Use Cases

Describe the use case this release is targeted for (better if reference to customer use case).

Minimum Viable Product

The SDN-C project provides a global network controller, built on the Common Controller SDK, which manages, assigns and provisions network resources.   As a "global" controller, the SDN-C project is intended to run as one logical instance per enterprise, with potentially multiple geographically diverse virtual machines / docker containers in clusters to provide high availability.  The project also will support the ability to invoke other local SDN controllers, including third party SDN controllers.

In the Amsterdam release, the SDN-C project will be used to manage, assign and provision network resources for the Amsterdam release use cases, listed in the Use Cases section below.

Use Cases

The use cases supported in the Amsterdam release are:

  • Virtual Domain Name Server (vDNS)
  • Virtual Firewall (vFW)
  • Virtual Voice over LTE (vVoLTE)
  • Virtual Customer Premise Equipment (vCPE)

Minimum Viable Product

The Minimum Viable Product for Amsterdam is the set of capabilities needed to support the use cases listed above. Describe the MVP for this release.

Functionalities

List the functionalities that this release is committing to deliver by providing a link to JIRA Epics and Stories. In the JIRA Priority field, specify the priority (either High, Medium, Low). The priority will be used in case de-scoping is required. Don't assign High priority to all functionalities.

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject=sdnc and issuetype in (story) and status!=CLOSED
serverId425b2b0a-557c-3c0c-b515-579789cceedb

Longer term roadmap

Indicate at a high level the longer term roadmap. This is to put things into the big perspective.One critical long term objective for the SDN-C project is support for integration with other third party SDN Controllers (e.g. Open Contrail), well as integration with the SDN Agent project from Open-O.  For the Amsterdam release, since our primary goal is to support the user cases identified above, the degree to which we support such integration will be dictated by the needs of those use cases.  However, we do want to bear in mind that such integration is critical and will be included in our release plans going forward.  

Release Deliverables

Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note...) of this release.

Deliverable NameDeliverable Description
To fill outTo fill out

Sub-Components

List all sub-components part of this release.
Activities related to sub-component must be in sync with the overall release.

Sub-components are repositories are consolidate in a single centralized place. Edit the Release Components name for your project in the centralized page.

ONAP Dependencies

...

Deliverable Location
SDNC Source CodeSource code for SDNC projectONAP gerrit
SDNC Maven ArtifactsCompiled code that can be referenced in other projects as maven dependenciesONAP Nexus
SDNC Docker Containers

Docker containers associated with SDNC project:

  • Controller container
  • Database container
  • Admin portal container
ONAP Nexus
DocumentationUser and developer guidesONAP Wiki
SDNC CI/CD automationScripts to automate compilation and deployment of maven artifacts and docker containers

ONAP gerrit

ONAP Jenkins

Sub-Components

Subcomponents of each ONAP project may be found on the Resources and Repositories (Deprecated) page on this wiki.  Please see the SDN-C section of that page for subcomponent list of SDN-C.

ONAP Dependencies

SDN-C depends on the following projects:

  • Active and Available Inventory (A&AI)
  • Common Controller SDK (CCSDK).
  • Service Design and Creation (SDC)
  • Data Movement as a Platform (DMaaP)
  • Documentation
  • Integration
  • External API
  • Modeling
  • Multi VIM/Cloud
  • Policy
    • Note: not sure if this applies to release 1.  Will depend on whether needed to support release 1 use cases

Architecture

High level architecture diagram

At that stage within the Release, the team is expected to provide more Architecture details describing how the functional modules are interacting.

Block and sequence diagrams showing relation within the project as well as relation with external components are expected.

Anyone reading this section should have a good understanding of all the interacting modules.

The following diagram shows the high level architecture of SDNC:

Image Added

The major architectural components of the SDN-C controller are:

  • Device Data Models : Yang models that define interfaces to devices (virtual or physical) that the SDNC configures
  • Service Network Data Models : Yang models that define data maintained within the SDNC about the network used by the set of services supported by this SDNC instance
  • Service Chain Data Models : Yang models that define how services supported by an SDNC instance can be chained
  • Service Data Models : Yang models that define data maintained within the SDNC for the set of services it supports
  • Directed Graphs : programmable logic, updatable at run time with no restart, that define the behavior of the SDNC
  • Service Logic Interpreter : module provided by CCSDK which allows platform to execute directed graphs
  • API Handler : code (mostly generate from service Yang models) which implements RESTCONF API into SDNC.  Most API handlers should follow the following pattern:
    • Call directed graph named after invoked RPC, passing RESTCONF RPC parameters as Java Properties object.
    • Return results from directed graph invocation as response to RESTCONF RPC
  • Interface adaptors - code that allows directed graphs to invoke external interfaces

API Incoming Dependencies

...

Link toward the detailed API description
API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)To fill outHigh level description of the APIDate for which the API is reviewed and agreedTo fill out
A&AI : VNFAPI used to read/write information about VNFsDefined in seed codeIncluded in seed codeTBD
SDC : distributionAPI used to distribute artifacts from SDC to subscribersDefined in seed codeIncluded in seed codeTBD
DMaaPAPI used to receive DHCP event notification8/23/178/23/17DMaaP API

API Outgoing Dependencies

...

Link toward the detailed API description
API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)To fill outHigh level description of the APIDate for which the API is reviewed and agreedTo fill out
HealthcheckAPI used to verify that platform is available and healthyIncluded in seed codeDelivered in seed codeTBD (requested Confluence OPEN API to be installed so this can be published on ONAP Wiki)
Generic VNF APIAPI used to request resources for VNFsIncluded in seed codeDelivered in seed codeTBD (requested Confluence OPEN API to be installed so this can be published on ONAP Wiki)

Third Party Products Dependencies

Third Party Products mean products that are mandatory to provide services for your components. Development of new functionality in third party product may or not be expected.
List the Third Party Products (OpenStack, ODL, RabbitMQ, ElasticSearch,Crystal Reports, ...).

NameDescriptionVersion
OpenDaylightOpenDaylight SDN controller platformCarbonTo fill outTo fill outTo fill out

In case there are specific dependencies  (Centos 7 vs Ubuntu 16. Etc.) list them as well.

...

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject=sanbox SDNC and issuetype in (bug) and status!=CLOSED
serverId425b2b0a-557c-3c0c-b515-579789cceedb

...

Risk identifiedMitigation PlanContingency Plan
To fill outTo fill outTo fill out

Resources

Fill out the Resources Committed to the Release centralized page.

Release Milestone

...

Each project must edit its project table available at Project FOSS.

Charter Compliance

The project team comply with the ONAP Charter.

Release Key Facts

Fill out and provide a link toward the centralized Release Artifacts.