DCAE R4 M1 Release Planning

Overview

Project NameEnter the name of the project
Target Release NameDublin
Project Lifecycle StateIncubation. Refer to ONAP Charter, section 3.3 Project Lifecycle for further information
Participating Company AT&T, Nokia, Ericsson, Tech Mahindra, Wipro, Huawei, Cisco, ChinaMobile

Scope

What is this release trying to address?

DCAE Dublin release has following primary objectives:

Adding new mS suite of collectors /event processors/analytics for supporting use cases identified by ONAP and integration. 


Following new services are targeted for R4 additions.

Collectors

  • RESTConf collector

Event Processors

  • VES/Universal Mapper
  • PM-Mapper

Analytics/RCA

  • SON-Handler (former PCI-Handler) 
  • Heartbeat (STRETCH GOAL)
  • TCA-Gen2  (STRETCH GOAL)


Common SDK design for DCAE services

  • Dmaap pub/sub
  • Configbindingservice
  • A&AI client (STRETCH GOAL)
  • Cert-based TLS (STRETCH GOAL)


Enhancement to existing DCAE components

  • VES Collector (security)
  • HV_VES (logging)
  • PRH (common sdk + BBS)
  • DataFileCollector (security enhancement + resiliency support)


DCAE Platform Enhancement

  • Support helm chart deployment in DCAE-C using custom helm plugin
  • Transitioning Cloudify blueprint to Helm for DCAE platform component (InventoryAPI, DeploymentHandler, PolicyHandler, ServicechangeHandler, CBS)
  • DCAE Healthcheck enhancement

In addition the following features will be worked as STRETCH GOAL

  • PNDA Platform integration with DCAE for application deployment support via helm
  • Integration with DMAAP BusController for Topic provisioning
  • Support for Multi-site K8S cluster deployment via K8s plugin (dependency on AAI, MultiCloud)
  • Contribution of blueprint generator tool in ONAP/DCAE
     

   Note:  Work on STRETCH GOAL will progress through R4 however they cannot be committed yet for delivery (due to resource constraint /external dependencies /unclear requirement). These will be evaluated around M3 and will be either committed or deferred.


(Added - 02/18/19) - Datalake as POC was approved by TSC. DCAE support for DL project is being tracked under this link  - DataLake POC


Use Cases

DCAE will provide support for the following use cases,


Functional Requirement 

      • New Policy API  support (Policy handler, Plugin, Deploymenthandler*) - (STRETCH GOAL)
      • ToscaLab (python) support SDC team for ONAP contribution  (DESCOPED)
      • Blueprint generator
      • K8s Plugin 
      • Dmaap plugin
      • Dashboard
      • Deployment Handler


Non-Functional Requirement 

  • PNF/xNF Authentication (Committed based on Nokia's contribution)

Platform Maturity

 Platform Maturity (i.e., S3P items)  https://lf-onap.atlassian.net/wiki/display/DW/Dublin+Release+Platform+Maturity

 Green color → Target level ( details see Platform Maturity below)

      • Performance:  Level 1
      • Stability: Level 2 (stetch with new ~52% coverage requirement for Dublin)
      • Resiliency: Level 2
      • Security: Level 1+
      • Scalability: Level 1
      • Manageability: Level 1+
      • Usability: Level 2                   

Minimum Viable Product

The MVP of DCAE will include the necessary subcomponents supporting the primary objectives: meeting platform maturity goals and supporting the use cases.

    •   Cloudify Manager
    •   Consul (deployed/managed by OOM)
    •   DeploymentHander
    •   Policy-Handler
    •   ServiceChangeHandler
    •   Inventory-API
    •   Postgres
    •   ConfigBinding Service

DCAE Service specific components

    •   VESCollector
    •   TCA (Analytics application)

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.

Epics

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh

Stories

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh

Longer term roadmap

DCAE is the collection and analytics platform serving ONAP.  The value of DCAE lies in the number of types of data being collected, the number of analytics algorithms, the number of open/close control loops, and how well/easy they are supported for ONAP uses.

Long term roadmap will include PNDA integration and facilitating application deployment via Helm.


Release Deliverables

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

Deliverable NameDeliverable Description
Component spec

All ms added into DCAE should provide meta data representation of the component itself; will be used to generate

models in SDC and blueprint generation 

blueprints

Executable/SourceCode

plugins

SourceCode

cli

SourceCode/Tool/Documentation

deployment-handler

SourceCode/Docker image

servicechange-handler

SourceCode/Docker image

inventory-api

SourceCode/Docker image

policy-handler

SourceCode/Docker image

configbinding

SourceCode/Docker image

ves

SourceCode/Docker image

snmptrap

SourceCode/Docker image

tca

SourceCode/jar/Docker image

hv-ves-collector        SourceCode/jar/Docker image
data-file-collector        SourceCode/jar/Docker image
prh        SourceCode/jar/Docker image

Sub-Components

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

Sub-components are repositories and are consolidated in a single centralized place. Edit the Resouce and Repositories in the centralized page.


In addition to existing platform/service component, following new components are targeted for Dublin.


DeliverableRepository Maven Group ID

Components Description

restconf

dcaegen2/collectors/restconf

org.onap.dcaegen2.collectors.restconf

RESTConf Collector

son-handlerdcaegen2/services/son-handlerorg.onap.dcaegen2.services.son-handlerSON-Handler MS
pm-mapperdcaegen2/services/pm-mapperorg.onap.dcaegen2.services.pm-mapperMapper to process files from DR and transform to VES
tca-gen2dcaegen2/analytics/tca-gen2  

org.onap.dcaegen2.analytics.tca-gen2

Standalone(SA) TCA
mapperdcaegen2/services/mapper org.onap.dcaegen2.services.mapper Mapper Micro Services for snmp traps/restconf input to VES
heartbeatdcaegen2/services/heartbeat org.onap.dcaegen2.services.heartbeat Missing Heartbeat Micro Services

ONAP Dependencies

List the other ONAP projects you depend on.


DCAE depends on the the following components as part of the general ONAP architecture:

  • SDC: For blueprint generation and distribution into DCAE-C
  • AAI: DCAE MS retrieves and updates VNF data from/to AAI
  • DMaaP: Message bus for communication with other components in the solution
  • Policy - For managing application configuration policy
  • CLAMP - For CL flow related MS instantiation and configuration
  • OOF - For SON handler support

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.

Indicate where your project fit within the ONAP Archiecture diagram.

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.



Platform Maturity

Refering to CII Badging Security Program and Platform Maturity Requirements, fill out the table below by indicating the actual level , the targeted level for the current release and the evidences on how you plan to achieve the targeted level.

AreaActual LevelTargeted Level for current ReleaseHow, EvidencesComments
Performance11+  (Dublin recommendation 2 - cannot be committed due to Resource constraint)
    • Level 0: no performance testing done
    • Level 1: baseline performance criteria identified and measured  (such as response time, transaction/message rate, latency, footprint, etc. to be defined on per component)
    • Level 2: performance improvement plan created 
    • Level 3: performance improvement plan implemented for 1 release (improvement measured for equivalent functionality & equivalent hardware)
Stability2

Level 2 (Stetch with new ~52% coverage requirement for Dublin)

Level 2  - Dependent on integration team support



    • Level 0: none beyond release requirements
    • Level 1: 72 hour component-level soak test (random test transactions with 80% code coverage; steady load)
    • Level 2: 72 hour platform-level soak test (random test transactions with 80% code coverage; steady load)
    • Level 3: track record over 6 months of reduced defect rate
Resiliency22
    • 0 – none
    • 1 – manual failure and recovery (< 30 minutes)
    • 2 – automated detection and recovery (single site)
    • 3 – automated detection and recovery (geo redundancy)
Security1

1+ (Dublin recommendation 2 - cannot be committed for following reason)

  • Resource constraint
  • CADI library not available for Python 
  • Process of AAF certificate distribution in K8S between ONAP components and external (xNF) to be defined

    DCAE team will integrate with Buscontroller integration for dynamic topic provisioning and AAF based role setting as STRETCH GOAL



    • Level 0: None
    • Level 1: CII Passing badge
      • Including no critical and high known vulnerabilities > 60 days old
    • Level 2: CII Silver badge, plus:
      • All internal/external system communications shall be able to be encrypted.
      • All internal/external service calls shall have common role-based access control and authorization using CADI framework.
    • Level 3: CII Gold badge 
Scalability1

1



    • Level 0: no ability to scale
    • Level 1: supports single site horizontal scale out and scale in, independent of other components
    • Level 2: supports geographic scaling, independent of other components
    • Level 3: support scaling (interoperability) across multiple ONAP instances
Manageability1

1+ (Dublin recommendation 2 - cannot be committed for following reason)

  • Resource constraint to support #2 and #4 under Level2
    (Level 2 - #1 and #3 will be targeted for Dublin)



    • Level 1:
    • All ONAP components will use a single logging system.
    • Instantiation of a simple ONAP system should be accomplished in <1 hour with a minimal footprint
    • Level 2:
      • A component can be independently upgraded without impacting operation interacting components
      • Component configuration to be externalized in a common fashion across ONAP projects
      • All application logging to adhere to ONAP Application Logging Specification v1.2
      • Implement guidelines for a minimal container footprint
    • Level 3
      • Transaction tracing across components
Usability1

2 (STRETCH GOAL- based on resource availability)



    • Level 1:
      • User guide created
      • Deployment documentation
      • API documentation
      • Adherence to coding guidelines
    • Level 2:
    • Level 3
      • Consistent UI across ONAP projects
      • Usability testing conducted
      • API Documentation
    • Level 4


    • API Incoming Dependencies

List the API this project is expecting from other projects. Prior to Release Planning review, Team Leads must agreed on the date by which the API will be fully defined. The API Delivery date must not be later than the release API Freeze date.

Prior to the delivery date, it is a good practice to organize an API review with the API consumers.

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)
SDC model distribution APIAPI for retrieving TOSCA model of close loopCurrently AvailableTo fill outLink toward the detailed API description
Policy EngineAPI for retrieving configuration policy updatesTBDTBDNA
A&AIAPI invoked for information enhancementsCurrently AvailableCurrently Available
DMaaP Message RouterAPI for topic publish / subscribeCurrently AvailableCurrently Available
DMaaP Bus ControllerDMaaP Bus Controller is a part of DMaaP that provides topic provisioning; this is the API for topic provisioning.Currently AvailableCurrently Available
 OOF PCI Optimization API http://{OOF-host}:{port}/api/oof/v1/pci  TBD TBD 
 ConfigDB (SDNC)

http://{ConfigDB-host/IP}:{port}/SDNCConfigDBAPI/getNbrList/{cellId}/{ts} (Get neighbor list for  a cell Id)

http://{ConfigDB-host/IP}:{port}/SDNCConfigDBAPI/getPnfName/{cellId}/{ts} (Get the PNF name for a cell Id)
 TBDTBD  
    • API Outgoing Dependencies

API this project is delivering to other projects.

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)
VES IngestionAPI for VNFs to send VES dataCurrently AvailableR3
DCAE Deployment HandlerNB API for invoking the deployment of DCAE subcomponentsCurrently AvailableR3
DCAE InventoryAPI for Add/Delete DCAE copy's TOSCA modelsCurrently AvailableR3
HealthcheckAPI for querying DCAE component healthcheck  TBDR4 
SON-Handler http://{pcims-host}:{port}/callbackUrl Call back URL for SON-MS (to provide PCI optimization results)M3 R4 
    • 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
OpenStack

Cloudify Manager

Consul

CDAP

PNDA










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

    • Testing and Integration Plans

Provide a description of the testing activities (unit test, functional test, automation,...) that will be performed by the team within the scope of this release.

Describe the plan to integrate and test the release deliverables within the overall ONAP system. Confirm that resources have been allocated to perform such activities.


      • Unit Test addition will be enforced part of new code submission
      • CSIT tests added as part of R2/R3 will continue to be supported in R4
      • Pairwise testing will be done in the WindRiver Dev lab similar to what was done in R4
    • Gaps

This section is used to document a limitation on a functionality or platform support. We are currently aware of this limitation and it will be delivered in a future Release. List identified release gaps (if any), and its impact.

Gaps identifiedImpact
To fill outTo fill out
    • Known Defects and Issues

Provide a link toward the list of all known project bugs.

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh

    • Risks

List the risks identified for this release along with the plan to prevent the risk to occur (mitigation) and the plan of action in the case the risk would materialized (contingency).

Risk identifiedMitigation PlanContingency Plan

To fill outTo fill out
    • Resources

Fill out the Resources Committed to the Release centralized page.

    • Release Milestone

The milestones are defined at the Release Level and all the supporting project agreed to comply with these dates.

    • Team Internal Milestone

This section is optional and may be used to document internal milestones within a project team or multiple project teams. For instance, in the case the team has made agreement with other team to deliver some artifacts on a certain date that are not in the release milestone, it is erecommended to provide these agreements and dates in this section.

It is not expected to have a detailed project plan.

DateProjectDeliverable
To fill outTo fill outTo fill out
    • Documentation, Training


      • Highlight the team contributions to the specific document related to he project (Config guide, installation guide...).
      • Highlight the team contributions to the overall Release Documentation and training asset
      • High level list of documentation, training and tutorials necessary to understand the release capabilities, configuration and operation.
      • Documentation includes items such as:
        • Installation instructions
        • Configuration instructions
        • Developer guide
        • End User guide
        • Admin guide
      • ...

Note

The Documentation project will provide the Documentation Tool Chain to edit, configure, store and publish all Documentation asset.

Other Information

    • Vendor Neutral

If this project is coming from an existing proprietary codebase, ensure that all proprietary trademarks, logos, product names, etc. have been removed. All ONAP deliverables must comply with this rule and be agnostic of any proprietary symbols.

    • Free and Open Source Software

FOSS activities are critical to the delivery of the whole ONAP initiative. The information may not be fully available at Release Planning, however to avoid late refactoring, it is critical to accomplish this task as early as possible. List all third party Free and Open Source Software used within the release and provide License type (BSD, MIT, Apache, GNU GPL,... ). In the case non Apache License are found inform immediately the TSC and the Release Manager and document your reasoning on why you believe we can use a non Apache version 2 license.

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


Charter Compliance

The project team comply with the ONAP Charter.