Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Project NameEnter the name of the project
Target Release NameMontreal
Project Lifecycle StateIncubation
Participating Companies Deutsche Telecom (Tech Mahindra) , Ericsson, Fujitsu, Wipro

Scope

What is this release trying to address?

  1. TBC

Minimum Viable Product

N/A

Requirements

Priority legend
PreliminaryPlanned for current ONAP ReleaseIn ProgressPausedCompletedDe-scoped

ONAP Best Practices (Global Requirements) and similar

ONAP RequirementNotesCPS- Jira(s)

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyREQ-439




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

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1324

CPS-CORE / CPS-NCMP Requirements

PriorityEpic/Component/Owner/TeamDescriptionNotesJira(s)
1
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1645
  • CPS-Core
  • Daniel Hanrahan 
  • Community & Ericsson Team 1

Data Write/Read Performance

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1645
serverId425b2b0a-557c-3c0c-b515-579789cceedb

2
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1615

    Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1616
  • CPS-NCMP
  • Priyank Maheshwari
  • Ericsson  Team 2
Implementation of CM data notifications forwarded by NCMP from DMI to applicationImplementing Data Notifications & Subscription Notifications on a US by US basis

Notifications

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1615
serverId425b2b0a-557c-3c0c-b515-579789cceedb

Subscriptions

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1616
serverId425b2b0a-557c-3c0c-b515-579789cceedb

3
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)

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1434
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1411
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1412
Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1413

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1559

4
  • Jira
    serverONAP Jira
    columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1515
  • CPS-NCMP
  • Sourabh Sourabh 
  • Ericsson  Team 1
Bulk Batch (bulk) Operations (Get, Query)Allow batch operations for NCMP  REST and  CPS-Core Java Interfaces

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1515
serverId425b2b0a-557c-3c0c-b515-579789cceedb

5
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1638
  • CPS-NMCP
  • Halil Cakal 
  • Ericsson Team 2
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

Jira
serverId
serverONAP Jira425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1415
Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1638
serverId425b2b0a-557c-3c0c-b515-579789cceedb

6
  • TBC
  • CPS-NMCP
  • TBC
  • TBC
Event DigestAdditional field to help clients filter CM AVC Events

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1704
serverId425b2b0a-557c-3c0c-b515-579789cceedb

7
  • TBC
  • CPS-NMCP
  • TBC
  • TBC
AVC Subscription, advance filterFilter on 'Type' instead of list of CM Handle IDs → 'Type' could be defined as the yang module set containing a specific module (name and version)
8
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1630
  • CPS-CORE (& NCMP TBC)
  • Lee Anjella Macabuhay
  • Deutsche Telekom
    (TechMahindra)
Support for list as top level data node

Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1630
serverId425b2b0a-557c-3c0c-b515-579789cceedb

9
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1632
  • CPS-CORE (& NCMP TBC)
  • Lee Anjella Macabuhay
  • Deutsche Telekom
    (TechMahindra)
CPS & NCMP Feature Enhancement for M Release


Jira
serverONAP Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1632
serverId425b2b0a-557c-3c0c-b515-579789cceedb

10
  • Jira
    serverONAP Jira
    serverId425b2b0a-557c-3c0c-b515-579789cceedb
    keyCPS-1704
TBC
  • CPS-NMCP
  • TBC
  • TBC
Refactor (legacy) NCMP ASync Response Events

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1693

11

TBC

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,

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1345

12

TBC

Support multiple identifiers (alternatives for CM Handle ID)



13

TBC

Support for 'Instance Identifier'Should be possible to identify a cmhandle using multiple instance identifiers

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1180

14


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.


15
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?


16
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.


17


Retrieve single module resource/v1/ch/{cm-handle}/modules/definitions/{moduleName}
18
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)


19
Access control for public interfaces (NCMP, CPS-Core, DMI?)KMC : What level of access control is there today - both on CPS and NCMP interfaces?
20
Fine-grained cache configuration

21
Send notification for updated CM handle metadata (public CM handle properties or YANG modules)

22

Support for HTTPS and authentication

  • Use Service-Mesh? Both ONAP and Ericsson (applied ISTIO using Envoy Proxy side-car) are working towards this. Check with Gareth Roper 

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-703

23

TBC

Support ncmp-datastores:running for reading data (single CM handle, synchronous only)See CPS-391 page for details about supported operations and combinations. Note: There can be some overlap between work items for #5, #6, #11 and #12.
24TBCSupport ncmp-datastores:running for writing data (single CM handle, synchronous only)


25TBCSend notifications on write operation in ncmp-datastores:running for (single CM handle, synchronous only)

26
schema-set update for CM handle with cached data presentNeed to address case with incompatible model changes.
27(ONAP) E2E Slicing Use-Case

Support dynamic inventory changes (ONAP DMI Plugin)

React to events from AAI sent over DMaaP, in turn using Inventory API for updates.
Strimzi-Kafka Bridge might be an alternative, check with Fiachra Corcoran  on the latest for this when implementing this (

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDMAAP-1681
)

Possible in a generic way or it can also listen to similar events sent by SDN-R  (as suggested by Ahila P)

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-392
Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-393

28
Automatic (optional) Data Sync Metadata (per cmHandle) controls whether this will happen or not
29
Invoke YANG modelled RPC

Spin-off user stories, yet to be prioritized

 JiraComponent(s)Related Work ItemDescriptionNotes

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1103

CPS-NCMP


Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1127

CPS-NCMP


Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1174

CPS-NCMP


Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1139

CPS-NCMP


Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1301

CPS
Now handled by Fujitsu/Wpri (Work Item ?) ?

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-1348

CPS


Functionalities

User Stories

Expand
titleOpen User Stories REQ-1410 (CPS Enhancements)

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuery"Epic Link" in (CPS-1410) AND status = Open ORDER BY fixVersion ASC, priority DESC
serverId425b2b0a-557c-3c0c-b515-579789cceedb


Expand
titleImprovements & Technical Debt (any release)

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=12620
serverId425b2b0a-557c-3c0c-b515-579789cceedb


Expand
titleClosed Stories

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = CPS AND type = Story AND fixVersion = "London Release" AND status in (Closed, Done) ORDER BY updated DESC
serverId425b2b0a-557c-3c0c-b515-579789cceedb

Longer term roadmap

  • CPS-Core will have extended query capabilities based on XPath expression.
  • CPS-Core will enforce and control ownership of data it holds
  • NCMP will be to able to 'detect' and sync xNF in the network
    • Fine-cache cache control will determine what get cache for what xNF
  • NCMP will support the query capabilities as CPS-Core and be extend with options similar to RESTConf's 'fields' and 'depth'

Release Deliverables

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

Deliverable NameDeliverable Description

onap/cps-and-ncmp

Container running CPS and NCMP
onap/cps-temporalContainer running CPS Temporal
onap/ncmp-dmi-pluginContainer running OMAP DMI Plugin
docs.onap.org/projects/onap-cps

CPS-NCMP Documentation for R12 (incl. offered APIs and release note)

docs.onap.org/projects/onap-cps-ncmp-dmi-pluginONAP DMI-Plugin Documentation for R12 (incl. offered APIs and release note)
docs.onap.org/projects/onap-cps-cps-temporalCPS-Temporal Documentation for R12 (incl. offered APIs and release note)

Sub-Components

  • CPS-Core
    • cps-service
    • cps-rest
    • cps-ri (reference implementation)
  • NCMP
    • cps-ncmp-service
    • cps-ncmp-rest
    • dmi-inventory
  • Temporal DB (no longer active)
  • DMI-Plugin
    • DMI Data Access
    • DMI Model Access

Architecture

High level architecture diagram

CPS is a new shared service in the ONAP Architecture:

Platform Maturity

See the centralized wiki page: London Release Platform Maturity


  • API Incoming Dependencies

No Incoming API changes required

  • API Outgoing Dependencies

API this project is delivering to other projects.

API NameAPI DescriptionAPI Definition DateAPI Delivery dateAPI Definition link (i.e.swagger)

CPS-E-01
CPS-E-02
CPS-E-03

CPS Model LifeCycle
CPS Data Write
CPS Data Read


Swagger Sources (openapi.yaml)
CPS-E-04Change notifications


CPS-E-05xNF Data Access

Swagger Sources (openapi.yaml)
CPS-E-06Temporal Data Access
(no other component currently depends on this or plan to use it in Istanbul)


Swagger Sources (openapi.yml)
  • Third Party Products Dependencies

Third Party Products mean products that are mandatory to provide services for your components. 

NameDescriptionCPS-Core CPS-NCMPCPS-Temporal 
3PP Version
DockerVM Container18 and above18 and above18 and above
ODL Yang ToolsYang model and Data Parser8.0.68.0.6 N/A 
Postgres Docker imageVM container for Postgres14.1-alpine14.1-alpineN/A
onap/integration-java11Java Base image8.0.08.0.08.0.0
SwaggerOpenAPI library2.1.42.1.4

springdoc-openapi-ui:1.5.9

SpringFoxOpenAPI library3.0.03.0.03.0.0
Hibernate typesSupport for Postgres datatype JSONB2.10.02.10.02.10.0
Spring BootApplication Framework2.6.142.6.142.6.9
Commons-lang33pp3.113.113.12.0
Antlr4-runtimeLanguage parser4.9.24.9.2N/A
LiquibaseDB Schema (version) management4.14.0-nordix4.14.0-nordix4.14.0-nordix
HazelcastDistributed Cache4.2.5N/AN/A



  • Gaps

No gaps Identified

  • Known Defects and Issues

See dynamic Jira filter:

Jira
serverONAP Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = CPS and type = bug and status = open
serverId425b2b0a-557c-3c0c-b515-579789cceedb

  • Risks

Risk identified related to scope-creep, see London Risk Table 

  • Resources

Excerpt Include
Configuration Persistence Service Developer's Landing Page
Configuration Persistence Service Developer's Landing Page

  • Release Milestone

The milestones are defined at the Release Planning 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 recommended to provide these agreements and dates in this section.

  • Documentation, Training

See the following centralized wiki: London Documentation

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.