...
Project Name | Enter the name of the project |
---|---|
Target Release Name | Amsterdam |
Project Lifecycle State | Incubation |
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 server ONAP JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery project=sdnc and issuetype in (story) and status!=CLOSED serverId 425b2b0a-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 Name | Deliverable Description |
---|---|
To fill out | To 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 Code | Source code for SDNC project | ONAP gerrit |
SDNC Maven Artifacts | Compiled code that can be referenced in other projects as maven dependencies | ONAP Nexus |
SDNC Docker Containers | Docker containers associated with SDNC project:
| ONAP Nexus |
Documentation | User and developer guides | ONAP Wiki |
SDNC CI/CD automation | Scripts 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:
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
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | To fill out | High level description of the API | Date for which the API is reviewed and agreed | To fill out | Link toward the detailed API description|
---|---|---|---|---|---|---|---|---|---|
A&AI : VNF | API used to read/write information about VNFs | Defined in seed code | Included in seed code | TBD | |||||
SDC : distribution | API used to distribute artifacts from SDC to subscribers | Defined in seed code | Included in seed code | TBD | |||||
DMaaP | API used to receive DHCP event notification | 8/23/17 | 8/23/17 | DMaaP API |
API Outgoing Dependencies
...
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) | To fill out | High level description of the API | Date for which the API is reviewed and agreed | To fill out | Link toward the detailed API description|
---|---|---|---|---|---|---|---|---|---|
Healthcheck | API used to verify that platform is available and healthy | Included in seed code | Delivered in seed code | TBD (requested Confluence OPEN API to be installed so this can be published on ONAP Wiki) | |||||
Generic VNF API | API used to request resources for VNFs | Included in seed code | Delivered in seed code | TBD (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, ...).
Name | Description | Version | |||
---|---|---|---|---|---|
OpenDaylight | OpenDaylight SDN controller platform | Carbon | To fill out | To fill out | To fill out |
In case there are specific dependencies (Centos 7 vs Ubuntu 16. Etc.) list them as well.
...
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
Risk identified | Mitigation Plan | Contingency Plan |
---|---|---|
To fill out | To fill out | To 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.