CPS R12 Release Planning

CPS R12 Release Planning











Overview

Project Name

Enter the name of the project

Project Name

Enter the name of the project

Target Release Name

London

Project Lifecycle State

Incubation

Participating Companies 

Deutsche Telecom (Tech Mahindra) , Ericsson, Fujitsu, Wipro

Scope

What is this release trying to address?

  1. Upgradability (CPS, NCMP)

    1.  Version strategy to  control Continuous Delivery (CPS and NCMP)

      1. Technical debt of NCMP data be handled by Liquibase in CPS

    2. Yang Module Upgrade

      1. backward compatible

      2. backward incompatible

        1. Data Transformation/Migration

        2. Drop (and resync) 

  2. Service Maturity CPS

    1. Delivery Pipelines 

    2. Helm best practices (design rules)

    3. FOSS audit

  3. Service Maturity NCMP (TBC)

  4. Performance (CPS, NCMP)

    1. CPS Data read 

    2. CPS Model-based query

    3. Registration algorithm change (using schemaSet hash)

  5. CM Handle Connectivity State

  6. Notification Configuration

    1. Model based

    2. Instance based

  7. Query Propagation

    1. Amalgamate responses

    2. Capability Exchange (during registration/updates) 

Stretch Goals

  1. Forwarding non-passtrough 

    1. data request

    2. notifications

  2. Cache Configuration

    1. Model based

    2. Instance based, container, leaf

  3. AAI integration

  4. Extend Read(query) access to cached data (datastore ncmp-datastores:operational)

    1. cpsPath support in NCMP

    2. field' and 'depth' RestConf-Like support in CPS (and NCMP)

  5. Extend CPS-Path (query) capabilities

  6. CPS Target Based Access Control (TBAC)

    1. Ownership of dataspaces using OAuth2 

  7. NCMP Access Control

  8. Multiple Identifiers for Anchors (CM Handles)

Minimum Viable Product

N/A

Requirements

Priority legend

Preliminary

Planned for current ONAP Release

In Progress

Paused

Completed

De-scoped

ONAP Best Practices (Global Requirements) and similar

ONAP Requirement

Notes

CPS- Jira(s)

ONAP Requirement

Notes

CPS- Jira(s)

https://lf-onap.atlassian.net/browse/REQ-443

Aiming for gold!

  1. Need to complete Survey

  2. Dependency on ONAP Infrastructure Tickets

https://lf-onap.atlassian.net/browse/CPS-1140

https://lf-onap.atlassian.net/browse/REQ-439







ONAP script might help us with common quality issues and save reviewing time

https://lf-onap.atlassian.net/browse/CPS-1324

CPS-temporal Requirements (TBC)

CPS-CORE / CPS-NCMP Requirements

London
Requirement Jira

Component(s)

Description

Notes

Team & 
Work-Item Owner

Jira(s)

London
Requirement Jira

Component(s)

Description

Notes

Team & 
Work-Item Owner

Jira(s)

1

1

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-NCMP

Registration Performance

NCMP shall register new cmhandles (to READY state) at a rate of 11 cmhandles/second (assumes no dmi-plugin delays, assumes 180 modules per cmhandle with 95% module overlap between cmhandles, assumes cache disabled).

Treat this as a black box requirement.  May mean underlying requirement to have multiple instances, memory requirement etc.  Focus right now is 23.Q1 timeframe.

@Sourabh Sourabh 

https://lf-onap.atlassian.net/browse/CPS-1172https://lf-onap.atlassian.net/browse/CPS-1275https://lf-onap.atlassian.net/browse/CPS-1267https://lf-onap.atlassian.net/browse/CPS-1400

2

2

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-NCMP
CPS-Core

Data Write/Read Performance

NCMP (read) Requirements

  1. It shall be possible get all cmhandles (anchors) for a given module name at a rate of 1000 cmhandles / second (assuming 20k cmhandles are registered)

  2. It shall be possible to get all cmhandles (anchors) with a given public property at a rate of 500/second  (assuming 20k cmhandles are registered) Depensds on https://lf-onap.atlassian.net/browse/CPS-1348

@kieran mccarthy For this step we can focus on just returning just the cmhandlesIds.  Anything further can be covered by another step.

Note. This now overlaps with work be done with Wipro/Fujitsu, see CPS Performance Testing

Team 1

@Daniel Hanrahan 

https://lf-onap.atlassian.net/browse/CPS-1171https://lf-onap.atlassian.net/browse/CPS-1326https://lf-onap.atlassian.net/browse/CPS-1344

https://lf-onap.atlassian.net/browse/CPS-1443
https://lf-onap.atlassian.net/browse/CPS-1445

https://lf-onap.atlassian.net/browse/CPS-1475https://lf-onap.atlassian.net/browse/CPS-1509
https://lf-onap.atlassian.net/browse/CPS-1516https://lf-onap.atlassian.net/browse/CPS-1494https://lf-onap.atlassian.net/browse/CPS-1519https://lf-onap.atlassian.net/browse/CPS-1525https://lf-onap.atlassian.net/browse/CPS-1536

3

3

https://lf-onap.atlassian.net/browse/REQ-1316

CPS-NCMP

Support ncmp-datastores:operational for querying data (single CM handle, synchronous only)

See CPS-391 page for details about supported operations and combinations.


@Sourabh Sourabh 

https://lf-onap.atlassian.net/browse/CPS-1002

4

4

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-Core
CPS-NCMP

DMI Audit

  1. DMI audit support for NCMP: Get cm handles with property details (CPS-1236)

  2. It shall be possible to get all anchors with a given public property on CPS-E-02  (CPS-1348)
    *Note Double check the intention of this with @kieran mccarthy 
    [ ekiemcc ] DMI Plugin may use public property to carry our some audit functionality.  For example it could contain some public attribute like regionId  that is useful info for rApps but may also be used by the DMI plugin to periodically query on certain regions and take some action based on a policy for that region.  Yes, it is possible to duplicate the attribute in the private properties but this is not ideal to have to maintain two attributes (one public and one private) representing the same thing !

@Toine Siebelink 

https://lf-onap.atlassian.net/browse/CPS-1236

5

5

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-NCMP

[investigation/spec] CM data notifications from NCMP to applications including subscriptions

Includes definition of notification and payload format

@kieran mccarthy 

https://lf-onap.atlassian.net/browse/CPS-1065https://lf-onap.atlassian.net/browse/CPS-1259https://lf-onap.atlassian.net/browse/CPS-1362

6

6

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-NCMP

Implementation of CM data notifications forwarded by NCMP from DMI to application

Implementing Data Notifications & Subscription Notifications on a US by US basis

Team 2

@Priyank Maheshwari 

Notifications

https://lf-onap.atlassian.net/browse/CPS-1385https://lf-onap.atlassian.net/browse/CPS-1386

Subscriptions

https://lf-onap.atlassian.net/browse/CPS-1431https://lf-onap.atlassian.net/browse/CPS-1392https://lf-onap.atlassian.net/browse/CPS-1393https://lf-onap.atlassian.net/browse/CPS-1394
https://lf-onap.atlassian.net/browse/CPS-1492https://lf-onap.atlassian.net/browse/CPS-1496https://lf-onap.atlassian.net/browse/CPS-1497

https://lf-onap.atlassian.net/browse/CPS-1561https://lf-onap.atlassian.net/browse/CPS-1573https://lf-onap.atlassian.net/browse/CPS-1599

https://lf-onap.atlassian.net/browse/CPS-1565

7

7

https://lf-onap.atlassian.net/browse/REQ-1316

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-NCMP

Support update of cached data through a message driven solution.
Respond to  VES Events from Devices in ONAP

Receive VES Event and transform it into a 'standard DMI→NCMP events (schema owned by NCMP)

Team 2

@Priyank Maheshwari 

https://lf-onap.atlassian.net/browse/CPS-1434https://lf-onap.atlassian.net/browse/CPS-1411https://lf-onap.atlassian.net/browse/CPS-1412https://lf-onap.atlassian.net/browse/CPS-1413

https://lf-onap.atlassian.net/browse/CPS-1559

8

8



CPS-NCMP
(CPS-Core)

Deletion Performance
/ Delete CM Handles on criterion (TBC)

NCMP shall delete/remove cmhandles (to DELETING state) at a rate of 50 cmhandles/second with cache disabled (assumes no dmi-plugin delays, assumes 180 modules per cmhandle with 95% module overlap between cmhandles)
Note: check with Gergely on priority as DELETING state will prevent user to act on cmhandle
Note 2. This might need to be split into 'Delete on criterion ie. public/private property' and delete for 'internal/test use' performance

Team 1

@Sourabh Sourabh 

https://lf-onap.atlassian.net/browse/CPS-1173https://lf-onap.atlassian.net/browse/CPS-1422https://lf-onap.atlassian.net/browse/CPS-1426https://lf-onap.atlassian.net/browse/CPS-1424

https://lf-onap.atlassian.net/browse/CPS-1423https://lf-onap.atlassian.net/browse/CPS-1438https://lf-onap.atlassian.net/browse/CPS-1437https://lf-onap.atlassian.net/browse/CPS-1439https://lf-onap.atlassian.net/browse/CPS-1464

https://lf-onap.atlassian.net/browse/CPS-1471

https://lf-onap.atlassian.net/browse/CPS-1523

9

9



CPS-NCMP

Bulk Operations (Get, Query)

Allow bulk operations for NCMP (and/or) CPS REST Interfaces

Team 1
@Sourabh Sourabh 

https://lf-onap.atlassian.net/browse/CPS-1515

https://lf-onap.atlassian.net/browse/CPS-1550

https://lf-onap.atlassian.net/browse/CPS-1553

https://lf-onap.atlassian.net/browse/CPS-1555

https://lf-onap.atlassian.net/browse/CPS-1556

https://lf-onap.atlassian.net/browse/CPS-1557

https://lf-onap.atlassian.net/browse/CPS-1558

https://lf-onap.atlassian.net/browse/CPS-1560

https://lf-onap.atlassian.net/browse/CPS-1583

https://lf-onap.atlassian.net/browse/CPS-1614

10

10



CPS-NCMP

CM Handle Connectivity Freshness/Staleness

Need to model what staleness is (current CPS only has concept of model-sync state, nothing about connectivity)
@kieran mccarthy to spec this



https://lf-onap.atlassian.net/browse/CPS-1415

11

11

https://lf-onap.atlassian.net/browse/CPS-1128

Deutsche Telekom
(TechMahindra)

CPS-Core /
CPS-NCMP

Support for list as top level data node



Sub Team
@Lee Anjella Macabuhay 

https://lf-onap.atlassian.net/browse/CPS-491https://lf-onap.atlassian.net/browse/CPS-765https://lf-onap.atlassian.net/browse/CPS-766https://lf-onap.atlassian.net/browse/CPS-767

https://lf-onap.atlassian.net/browse/CPS-1586

12

12

https://lf-onap.atlassian.net/browse/CPS-1128

Deutsche Telekom
(TechMahindra)

CPS-Core /
CPS-NCMP

Support for multiple top-elements from different modules in one CM handle/anchor



Sub Team
@Lee Anjella Macabuhay

https://lf-onap.atlassian.net/browse/CPS-1051https://lf-onap.atlassian.net/browse/CPS-341

13

https://lf-onap.atlassian.net/browse/REQ-1405

NCMP-CPS

Support NCMP-CPS upgrade

Currently only custom upgrade is supported. (upon request)

Requirement: It shall be possible to upgrade NCMP-CPS from release N-1 to N (without requiring manual intervention/workarounds). N is defined as any release requested by ESH

  • Note. Need to agree version strategy: use current ONAP x.y.z. numbering. Ericsson to communicate when a version is to be 'delivered' and 'y' increased

Technical Debt to be addressed: Liquibase is used in CPS to manage data(upgrades) in CPS

Study: Resolve technical debt (mixed data). NCMP Data upgrade. CPS Core need to support model upgrade so that NCMP can use it,



https://lf-onap.atlassian.net/browse/CPS-1345

14

https://lf-onap.atlassian.net/browse/REQ-1405

CPS-Core
NCMP-CPS

Support multiple identifiers (alternatives for CM Handle ID)







15

https://lf-onap.atlassian.net/browse/REQ-1316



Support for 'Instance Identifier'

Should be possible to identify a cmhandle using multiple instance identifiers



https://lf-onap.atlassian.net/browse/CPS-1180

16



CPS-NCMP

Invoke YANG modelled action

Always on operational datastore.  Supported for nmcp:passthrough-operational and if executed against ncmp:operational then it is always forwarded to dmi plugin.  Is there another story for forwarding to be included as a dependency? Always run as async request.  Is this dependent on CPS-1127  - see spin-off user stories table below this on.

KMC : Can we deprioritize - this can be run against passthrough-operational for now.  Just have to agree on the API / URL for the action to progress at this stage so that the passthrough-operational form is aligned with final operational form.





17



CPS-NCMP

Enhanced query support

Currently the passthrough has an 'fields' parameter to do a scoped query.  Propose to support this in non-passthrough so it is promoted to a fully supported option, e.g. {ncmp-root}/ncmp/v1/ch/335ff/data/ds/ncmp-datastore:passthrough-operational?
              resourceIdentifier=/&options=(fields=ericsson-enm-comtop:ManagedElement/ericsson-enm-
              gnbcucp:GNBCUCPFunction/EndpointResource/LocalSctpEndpoint/attributes(sctpEndpointRef),
              scope=ericsson-enm-comtop:ManagedElement/ericsson-enm-gnbcucp:GNBCUCPFunction/
               EndpointResource/LocalSctpEndpoint/attributes(interfaceUsed==X2))

KMC : Do we support restconf like queries or xpath only?





18

Move above 8

CPS_Core / CPS-NCMP

Update YANG schema-set for CM handle without removing and adding it

Cached data is not in scope. Need to specify orphan handling of YANG modules.

Needed for node upgrade scenario.





19



CPS-NCMP

Retrieve single module resource

/v1/ch/{cm-handle}/modules/definitions/{moduleName}





20



CPS-Core / CPS-NCMP

Existing CPS-path based queries across all CM handles for cached data

Look to define the interface specification for this only.

(but best way is to implement for operational/cached data to determine any output formatting issues)





21



CPS-Core /
CPS-NCMP

Access control for public interfaces (NCMP, CPS-Core, DMI?)

KMC : What level of access control is there today - both on CPS and NCMP interfaces?





22



CPS-NCMP

Fine-grained cache configuration







23