Common Controller SDK Project Proposal

Project Name:

  • Proposed name for the project: Common Controller Framework (ccfwk)

  • Proposed name for the repositor(y/ies): ccfwk

*This project provides building blocks for controllers, so we will renaming this project to Common Controller SDK.

  • Proposed name for the project: Common Controller SDK (ccsdk)

  • Proposed name for the repositor(y/ies): ccsdk

Project description:

This project provides a common set of reusable code that can be used across multiple controllers. The code could be used in other components but would not be an end solution for use cases by itself and would not be deployed on its own. 

  •  

    • For example, the SDN-C , APP-C, DCAE, ONAP Operations Manager and ONAP controller can reuse common pieces from this framework.

While controllers are encouraged to use the common controller SDK libraries, usage of this common code is optional.  Our goal is to provide code that is sufficiently flexible that there is no need for controllers to implement their own custom solutions, but we recognize that there are valid reasons why specific controllers might need to implement their own solutions and would not prevent them from doing so.

Challenges

Some challenges that need to be addressed for this project include:

  • Version control : multiple controllers might have different release schedules and hence might use different versions of common framework.

    • Backward compatibility will be critical

  • Common API

  • Code Reuse

Scope:

  • In scope: 

    • SDN-C core : core platform needed to execute directed graphs

    • SDN-C adaptors : set of adaptors used by directed graphs to talk to other ONAP components or external services, including other controllers

    • SDN-C northbound : northbound interfaces to SDN-C

    • SDN-C plugins : add-on functionality used by directed graphs

    • SDN-C oam : tools for operations, administration and maintenance of controller

    • Common microservice / VF lifecycle management capabilities

    • Common health checks

    • Common APIs

    • Common logging

    • Common model management (e.g. Yang, TOSCA)

    • Common resource management (e.g. IP management, DNS naming, keystore, containers)

Architecture Alignment:

  • How does this project fit into the rest of the ONAP Architecture?

    • Please Include architecture diagram if possible

    • What other ONAP projects does this project depend on?

      • May have a close relationship with OAM (ONAP Administration and Management)

  • How does this align with external standards/specifications?

    • N/A

  • Are there dependencies with other open source projects?

    • Aria/Cloudify

    • Consul

    • OpenDaylight


Resources:

  • John Murray (AT&T)

  • Dan Timoney (AT&T)

  • Grace Lian (Intel)

  • Arun Yerra (Futurewei Technologies)

  • Margaret Chiosi (Futurewei Technologies)

  • Patrick Liu (Futurewei Technologies)

  • @Cheng Ian Liu - Futurewei Technologies

  • @Jing Wang - Futurewei Technologies

  • Marcus Williams (Intel)

  • @Jie Feng(ZTE)

  • Liang Wu(ZTE)

  • Maopeng Zhang(ZTE)

  • Yan Yang(China Mobile,yangyanyj@chinamobile.com)

  • John Ng (AT&T, johnng@att.com)

  • Habib Torab (AT&T, ht1496@att.com)

  • Luke Parker (lparker@amdocs.com)

  • Rashmi Pujar (Bell Canada)

  • Alexis de Talhouet (Bell Canada)

  • Avi Chapnick (Amdocs)

  • Sridhar Ramaswamy (Brocade, srics.r@gmail.com)

  • Xinhui Li(Beijing, lxinhui@vmware.com

  • Hong Guan (AT&T)

  • Earle West (AT&T - ew8463@att.com)

  • Moshe Hoadley moshehoa@amdocs.com

Other Information:

  • link to seed code (if applicable) 

    • SDN-C parts based on sdnc project in gerrit.onap.org

    • AT&T Controller code

  • Vendor Neutral

    • if the proposal is coming from an existing proprietary codebase, have you ensured that all proprietary trademarks, logos, product names, etc., have been removed?

  • Meets Board policy (including IPR)

Use the above information to create a key project facts section on your project page

Key Project Facts

Project Name:

  • JIRA project name: common-controller-SDK

  • JIRA project prefix: ccsdk

Repo name: ccsdk
Lifecycle State: Incubation
Primary Contact: Chris Rath  (AT&T)
Project Lead: Dan Timoney (AT&T)
mailing list tag ccfwk
Committers (Name - Email - IRC):

*Link to TSC approval: 
Link to approval of additional submitters: