Overview
Scope
What is this release trying to address?
- TBC
Minimum Viable Product
N/A
Requirements
Priority legend | |||||
Preliminary | Planned for current ONAP Release | In Progress | Paused/Blocked | Completed | De-scoped |
ONAP Best Practices (Global Requirements) and similar
ONAP Requirement | Notes | CPS- Jira(s) | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
ONAP script might help us with common quality issues and save reviewing time |
|
CPS-CORE / CPS-NCMP Requirements
Priority | Epic/Component/Owner/Team/Target | Description | Notes | Jira(s) | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
| Data Write/Read Performance | See also CPS-Core Read & Write (large load) Test Results from Wipro/Fujitsu See Montreal Read/Write Performance for latest performance results (23/08) |
| |||||||||||||||||||||||||||||||||||||||||||||
2 |
|
| Implementing 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 Note. These items is now incorporated in | ||||||||||||||||||||||||||||||||||||||||||||||
columnIds | issuekey,summary,assignee,status | ||||||||||||||||||||||||||||||||||||||||||||||||
columns | key,summary,assignee,status | maximumIssues | 20
|
Notifications
Jira Legacy server System Jira jqlQuery "Epic Link" = CPS-1615 count true serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176
Subscriptions
Jira Legacy server System Jira columnIds issuekey,summary,assignee,status columns key,summary,assignee,status maximumIssues 20 jqlQuery "Epic Link" = CPS-1616 count true serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176
Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1713 - CPS-NCMP
- Priyank Maheshwari
- Community Team
Respond to VES Events from Devices in ONAP
Jira Legacy server System Jira columnIds issuekey,summary,assignee,status columns key,summary,assignee,status maximumIssues 20 jqlQuery jqlQuery "Epic Link" = CPS-1713 count true serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1515 - CPS-NCMP
- Sourabh Sourabh
- Ericsson Team 1
- Q2 Target
Allow batch operations for NCMP REST and CPS-Core Java Interfaces.
All new events will comply to cloudevents.
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1638 - CPS-NMCP
- Halil Cakal
- Ericsson Team 21
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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1733 - CPS-NCMP
- Sourabh Sourabh
- Ericsson Team 1
- Mid Q4 Target
- 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 (already built in ?)
- Introduce concept of ModuleSetTag to prevent unnecessary trips to nodes to get al Modules
- will require NCMP module loader (for upgrade of Inventory model) instead of Liquibase steps!
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1812 - CPS-NCMP
- Priyank Maheshwari
- Ericsson Team 2
Scope add: What kind of access controls are required on topics? Spike is required for this. Work Item created (23/05).
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- TBC
- CPS-NMCP
- TBC
- TBC
(S)
- TBC
- CPS-NMCP
- TBC
- TBC
(S)
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1915 - CPS-NCMP
- Waqas Ikram (Unlicensed)
- Ericsson Team 2
Access Control for resources to ensure that operators can restrict access control to only those users (human/machines) that are authorized to execute CRUD operations on those resources.
Jira Legacy | ||
---|---|---|
|
(TechMahindra)
Jira Legacy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira serverId 4733707d-columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-16321781 - CPS-CORE (& NCMP TBC)
- Lee Anjella Macabuhay
- Deutsche Telekom
(TechMahindra)
- TBD
- TBD
CM data subscriptions from application to DMI [Part 2].
It includes creating subscription with wildcard cmhandles.
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- TBC
server | System Jira |
---|---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
key | CPS-1796 |
Spike for documenting Kafka interfaces using AsyncAPI
- Interface Naming
- Cloud Events specifics asyncapi-cloud-events- Roll out for legacy events
- Code Generation (contract first, stubs)
- CPS-NMCP
- TBC
- TBC
(S)
- TBC
- CPS-NMCP
- TBC
- TBC
(S)
Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-17041630 - CPS-NMCP
- TBC
- TBC
- CORE (& NCMP TBC)
- Lee Anjella Macabuhay
- Deutsche Telekom
(TechMahindra)
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
TBC
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 server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1632 - CPS-CORE (& NCMP TBC)
- Priyank Maheshwari
- Deutsche Telekom
(TechMahindra)
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-
1865
- TBC
- TBC
(M) - Not sure. Scope not known yet.
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.
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.
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.
TBC
ncmp-datastores:running
for reading data (single CM handle, synchronous only)Read from operations.
(S) - Forward only. No validation or data enhancements (add prefixis)
ncmp-datastores:running
for writing data (single CM handle, synchronous only)(M) - Not sure. Scope not known yet.
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-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)
Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1704 - CPS-NMCP
- TBC
- TBC
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
TBC
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
(S)
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 Legacy | ||||||
---|---|---|---|---|---|---|
|
ncmp-datastores:running
for (single CM handle, synchronous only)Scope: Upgrade of model that is cached? Lee Anjella to confirm.
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Spin-off user stories, yet to be prioritized
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Functionalities
User Stories
title | Open User Stories for 'Montreal Release' |
---|
18 | TBC | Support multiple identifiers (alternatives for CM Handle ID) | (M) - Not sure. Scope not known yet. | |||||||||
19 | Access control for topics which are created by NCMP . | Spike needs to be conducted. | ||||||||||
20 | 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. | ||||||||||
21 | 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? KMC : Do we support restconf like queries or xpath only? (L) . | ||||||||||
22 | Enhanced query support (scope) | Currently the passthrough has an 'fields' parameter to do a scoped query. KMC : Do we support restconf like queries or xpath only? (L) | ||||||||||
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. Read from operations. (S) - Forward only. No validation or data enhancements (add prefixis) | |||||||||
24 | TBC | Support ncmp-datastores:running for writing data (single CM handle, synchronous only) | (S) As per #18 | |||||||||
25 | TBC | Support relationships for 'Instance Identifier' | Should be possible to identify a cmhandle using multiple instance identifiers. (M) - Not sure. Scope not known yet. |
|
|
|
title | Improvements & Technical Debt (any release) |
---|
Jira Legacy | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
(no other component currently depends on this or plan to use it in Istanbul)
Third Party Products Dependencies
Third Party Products mean products that are mandatory to provide services for your components.
springdoc-openapi-ui:1.5.9
Testing and Integration Plans
- CPS has high level of built jUnit test (>97 on all components) which is enforced by our maven build scripts
- CPS has built in Persistence Layer test ie. test that integrate with real DB instance covering all use cases and are part of WoW
- CIST tests are part of CPS -Repo, see https://gerrit.onap.org/r/gitweb?p=cps.git;a=tree;f=csit;h=8505b66089f62b6431c1091edf820cbdbf4363d4;hb=HEAD
And executed automatically through the cps-review-verification-maven-master CI Job - E2E Integration with ONAP components was introduced in I-release and is now included in aforementioned CIST tests
Gaps
No gaps Identified
Known Defects and Issues
See dynamic Jira filter:
| ||||||||
26 | Retrieve single module resource | /v1/ch/{cm-handle}/modules/definitions/{moduleName} (S) | ||||||
27 | Access control for public interfaces (NCMP, CPS-Core, DMI?) | KMC : What level of access control is there today - both on CPS and NCMP interfaces? | ||||||
28 | Fine-grained cache configuration | |||||||
29 | Support for HTTPS and authentication
| Validation required whether this is still needed. |
|
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.
onap/cps-and-ncmp
onap/cps-temporal
onap/ncmp-dmi-plugin
CPS-NCMP 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.
CPS-E-01
CPS-E-02
CPS-E-03
CPS Data Write
CPS Data Read
| ||||||||||||||||||||||||||||||
30 | TBC | Send notifications on write operation in ncmp-datastores:running for (single CM handle, synchronous only) | ||||||||||||||||||||||||||||
31 | schema-set update for CM handle with cached data present | Need to address case with incompatible model changes. Scope: Upgrade of model that is cached? Lee Anjella to confirm. | ||||||||||||||||||||||||||||
32 | Invoke YANG modelled RPC | Specification required. Rebbot/Reset type of actions on node. | ||||||||||||||||||||||||||||
33 |
| DMI Audit for DMI restarts |
| |||||||||||||||||||||||||||
34 |
| Fetch a list of cmhandles along with their private properties as response from NCMP. |
Spin-off user stories, yet to be prioritized
Jira | Component(s) | Related Work Item | Description | Notes | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CPS-NCMP | |||||||||||||||
| CPS-NCMP | |||||||||||||||
| CPS-NCMP | |||||||||||||||
| CPS-NCMP | |||||||||||||||
| CPS | Now handled by Fujitsu/Wpri (Work Item ?) ? | ||||||||||||||
| CPS |
Functionalities
User Stories
Expand | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Expand | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Risks
Risk identified related to scope-creep, see London Risk Table
Resources
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
|
Other Information
Platform Maturity
See the centralized wiki page: London Release Platform Maturity
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.