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 Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyREQ-439




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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1324

CPS-CORE / CPS-NCMP Requirements

PriorityEpic/Component/Owner/Team/TargetDescriptionNotesJira(s)
1
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1645
  • CPS-Core
  • Daniel Hanrahan 
  • Community & Ericsson Team 1

Data Write/Read Performance

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1645
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

2
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1615

    Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1616
  • CPS-NCMP
  • Priyank Maheshwari
  • Ericsson  Team 2
  • Q3 Target
Implementation of CM data notifications forwarded by NCMP from DMI to applicationImplementing Data Notifications & Subscription Notifications on a US by US basis

Scope Add: What kind of access controls are required on topics? Spike is required for this.  Work Item created (23/05).

Notifications

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1615
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

Subscriptions

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1616
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

3
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1713
  • CPS-NCMP
  • Priyank Maheshwari
  • Community Team
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 Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1713
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176


4
  • Jira Legacy
    serverSystem Jira
    columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1515
  • CPS-NCMP
  • Sourabh Sourabh 
  • Ericsson  Team 1
  • Q2 Target
Batch (bulk) Operations (Get, Query)

Allow batch operations for NCMP  REST and  CPS-Core Java Interfaces.

All new events will comply to cloudevents.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1717
 

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1515
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176keyCPS-1785

5
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    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

Staleness will be modelled as a public property and notification will be sent/ notifiable. 
Assumption is that the solution will accommodate the same behavior's for all public properties.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1638
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

6
  • Jira Legacy
    serverSystem Jira
    columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1733
  • CPS-NCMP
  • @ TBC
  • Team  
  • Q3 Target
Update YANG schema-set for CM handle using ModuleSetTag
  1. Update YANG schema-set for CM handle without removing and adding it
  2. Cached data is not in scope.
  3. Need to specify orphan handling of YANG modules (already built in ?)
  4. Introduce concept of ModuleSetTag to prevent unnecessary trips to nodes top get al Modules

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1733
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

7
  • TBC
  • CPS-NMCP
  • TBC
  • TBC
Event DigestAdditional field to help clients filter CM AVC Events
(S)


8
  • 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)

(S)

9
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1630
  • CPS-CORE (& NCMP TBC)
  • Lee Anjella Macabuhay
  • Deutsche Telekom
    (TechMahindra)
Support for list as top level data node

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1630
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

10
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1632
  • CPS-CORE (& NCMP TBC)
  • Lee Anjella Macabuhay
  • Deutsche Telekom
    (TechMahindra)
CPS & NCMP Feature Enhancement for M Release


Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1632
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

11
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1796
  • CPS-CORE & NCMP
  • TBC
  • TBC

Spike for documenting Kafka interfaces using AsyncAPI

- Documentation Generation
- Interface Naming
- Cloud Events specifics asyncapi-cloud-events- Roll out for legacy events

- Code Generation (contract first, stubs)


12
  • Jira Legacy
    serverSystem Jira
    serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
    keyCPS-1704
  • CPS-NMCP
  • TBC
  • TBC
Refactor legacy NCMP ASync Response Events to use Cloud Events format(M)

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1704
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

13

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,

(XL) - Scope needs to be defined. Risk is scope not identified, efforts might increase.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1345

14

TBC

Support multiple identifiers (alternatives for CM Handle ID)

(M) - Not sure. Scope not known yet. 


15
Access control for topics which are created by NCMP .Spike needs to be conducted. 
16
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.

(S) - for passthrough. 

*Spec out before Sept'23. No implementation. 


17
Enhanced query support (fields)

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

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

(L) .

*Spec out before Sept'23. No implementation. 


18
Enhanced query support (scope)

Currently the passthrough has an 'fields' parameter to do a scoped query.  
              scope=ericsson-enm-comtop:ManagedElement/ericsson-enm-gnbcucp:GNBCUCPFunction/
               EndpointResource/LocalSctpEndpoint/attributes(interfaceUsed==X2))

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

(L)

*Spec out before Sept'23. No implementation. 


19

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.

Read from operations.

(S) - Forward only.  No validation or data enhancements (add prefixis)

20TBCSupport ncmp-datastores:running for writing data (single CM handle, synchronous only)(S)  As per #18
21

TBC

Support relationships for 'Instance Identifier'Should be possible to identify a cmhandle using multiple instance identifiers.
(M) - Not sure. Scope not known yet. 

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1180

22


Retrieve single module resource/v1/ch/{cm-handle}/modules/definitions/{moduleName}

(S)

23
Access control for public interfaces (NCMP, CPS-Core, DMI?)KMC : What level of access control is there today - both on CPS and NCMP interfaces?


24
Fine-grained cache configuration

25

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 
Validation required whether this is still needed. 

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-703

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

27
schema-set update for CM handle with cached data presentNeed to address case with incompatible model changes.
Scope: Upgrade of model that is cached?  Lee Anjella to confirm. 


28
Invoke YANG modelled RPCSpecification required. Rebbot/Reset type of actions on node. 
29

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1781

CM data subscriptions from application to DMI [Part 2]This epic was created to take on additional scope which got added to CPS-1616

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,assignee,status
columnskey,summary,assignee,status
maximumIssues20
jqlQuery"Epic Link" = CPS-1781
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

Spin-off user stories, yet to be prioritized

 JiraComponent(s)Related Work ItemDescriptionNotes

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1103

CPS-NCMP


Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1127

CPS-NCMP


Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1174

CPS-NCMP


Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1139

CPS-NCMP


Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1301

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

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-1348

CPS


Functionalities

User Stories

Expand
titleOpen User Stories for 'Montreal Release'

Jira Legacy
serverSystem 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 = "Montreal Release" AND status = Open ORDER BY fixVersion ASC, priority DESC
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176


Expand
titleImprovements & Technical Debt (any release)

Jira Legacy
serverSystem 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
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176


Expand
titleClosed Stories

Jira Legacy
serverSystem 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 = "Montreal Release" AND status in (Closed, Done) ORDER BY updated DESC
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

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 Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject = CPS and type = bug and status = open
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176

  • Risks

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

  • Resources

Insert excerpt
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.