APPC Project Proposal (5/12/17)

Project Name:

  • Proposed name for the project:Ā APPC

  • Proposed name for the repository:Ā appc

Project description:

The Application Controller (APPC) performs functions to manage the lifecycle of VNFs and their components providing model driven configuration, abstracts cloud/VNF interfaces for repeatable actions, uses vendor agnostic mechanisms (NETCONF, Chef via Chef Server and Ansible) and enables automation.

  • Model and policy driven application controller with intrinsic VNF management capabilities.

  • Support of multi vendor system of VNFs with interdependence between them.

  • Provide uploading capabilities of Ā standard data model which describe the management, configuration and inter-dependencies of the VNF.

  • APPC model will be based on ONAP TOSCA and Yang containing aĀ dependency model, LCM recipes, configuration templates, policies etc.

  • APPC provides multi-protocol southbound plugins, including support for NETCONF, Chef via a Chef Server, and Ansible and ability to operate through vendor specific VNFM/EMS via adaptation through a plugin.

  • APPC provides a VNF configuration repository with the latest working configuration for each managed VNF instance it is responsible for.

Scope

  • Ā 

    • Ā 

      • Support for complex ONAP use cases including vVOLTE (with vEPC) Ā and vCPE

      • Provide Generic VNFĀ LCM commands for Northbound consumers (SO, Policy, CMO, DCAE, etc.)Ā 

        • The implementation of LCM commands will use an uploaded VNFD TOSCA model to infer an execution protocol and drive workflows

        • Design-time ability to attach recipes (specified by Directed Graphs, aka DGs) to specific VNF LCM Ā commands, or "Actions" received via the Northbound APIs.

      • Provide a model driven configuration API composed from a Yang-based VNF configuration model andĀ set of templates to map payloads to the VNF configuration protocol.

        • Provide configuration repository APIs getLatestConfig, configAudit etc.

      • Manage the VNF operational state including Blocking, Sequencing and Ā Session Throttling

      • Provide conflict resolution for multiple LCM requests

      • Provide flexible deployment options such as HA, single node or geo-distributed deployment

      • Adaptation ofĀ additional NBI definitions established by ETSI-MANO using NFV-O to leverage existing APPC functions, including:

        • Scale VNF

        • Terminate VNF

        • Query VNF

        • Operate VNF

        • Modify VNF Information

        • Get Operation Status

      • Adaptation of NBI definition at the orchestration level by invoking existing orchestrator functions, including:

        • Create VNF Identifier

        • Delete VNF Identifier

        • Instantiate VNF

      • Build additional DGs to implement new ETSI defined NB APIs not currently supported by APPC

        • Scale VNF to Level

        • Change VNF Flavour

        • Heal VNF

  • Ā 

    • Ā 

      • Support for GVNFM functionality through additional SB adapters to support:

        • Bridging to a compliant S-VNFM when this functionality is provided by the VNF

        • Utilize ETSI VNFD acquired from a VNF to define the configuration and management data model of the VNF.

Proposed Architecture:

Architecture Alignment:

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

    • Expansion of existing APPC ONAP component to support more complex use cases.

    • Establish dependence on the Common Controller SDK to be used as the base platform for the controller.

    • Depends on Service Designer for generating the model(s) and other artifacts necessary for specifying controller runtime behavior

    • Depends on Multi VIM project for cloud infrastructure APIs
      Ā Ā 

  • How does this align with external standards/specifications?

    • Inspired by ETSI NFV LCM signatures

    • Use TOSCA and YANG for all model definitions.

    • Use Netconf/Chef and Ansible for component southbound interface

  • Are there dependencies with other open source projects?

    • Opendaylight (part of ONAP controller framework)

Resources:

Other Information:

  • link to seed code (if applicable)
    https://gerrit.onap.org/r/#/admin/projects/appc

  • Vendor Neutral
    The current seed code has been already scanned and cleanup to remove all proprietary trademarks, logos, etc. except openecomp to be replaced by onap

    Subsequent modification to the existing seed code should continue to follow the same scanning and clean up principles.

  • Meets Board policy (including IPR)

Key Project Facts

Project Name:

Repo name:appc
Lifecycle State:Seed
Primary Contact: Reuben Klein
Project Lead:
mailing list tagĀ [Should match Jira Project Prefix]Ā 
Committers:
Piyush Garg - Piyush.Garg1@amdocs.com

@Marcus WilliamsĀ - marcus.williams@intel.comĀ 

Patrick Brady - pb071s@att.com

Skip Wonnell -Ā kw5258@att.com

Randa Maher - rx196w@att.com



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