CPS R10 Release Planning
- 1 Overview
- 2 Scope
- 3 Requirements
- 4 Functionalities
- 4.1.1 Stories
- 4.2 Longer term roadmap
- 5 Release Deliverables
- 6 Sub-Components
- 7 Architecture
- 8 Other Information
- 9 Overview
- 10 Scope
- 11 Requirements
- 12 Functionalities
- 12.1.1 Stories
- 12.2 Longer term roadmap
- 13 Release Deliverables
- 14 Sub-Components
- 15 Architecture
- 16 Other Information
Overview
Project Name | Enter the name of the project |
|---|---|
Target Release Name | Jakarta |
Project Lifecycle State | Incubation |
Participating Companies | Bell Canada, Ericsson, Wipro |
Scope
What is this release trying to address?
Further integrate CPS into ONAP architecture through additional components and interfaces such as
Extending xNF data write forwarding (delete, update, patch)
Extend Sync to include data sync and maintaining sync state
AAI integration
Read access to cached data (datastore ncmp-datastores:operational)
Support Delete event in CPS Temporal
Minimum Viable Product
N/A
Requirements
Priority legend | Committent Legend | ||||||||||
Preliminary | Fixed | In Progress | Paused | Completed | De-scoped | Delivered | Committed | Study/Investigation | Partial Delivery | De-scoped | |
ONAP Best Practices (Global Requirements)
ONAP Requirement | Notes | CPS- Jira(s) |
|---|---|---|
Only effects new code but we are adding logging during Jakarta time-frame so have to try to follow the recommended standard Concerns about availability of all required fields @Robert Heinemann will organize meeting with us | ||
@Toine Siebelink checked and all 3 CPS repos are using /onap/integration-java11:8.0.0 as their base image. So no impact for this Req. | N/A |
CPS-CORE / CPS-NCMP Requirements
Jakarta Requirement Jira | Component(s) | Description | Notes | Jakarta commitment | Jira(s) | ||
|---|---|---|---|---|---|---|---|
| 1 | 1 | CPS-NCMP | Retrieve list of modules (names) for a CM handle | Used by applications to get cached information from NCMP about models | Delivered in Istanbul | ||
| 2 | 2 | CPS-NCMP | Support | Need more details planning and prioritization for use-case not already supported list in this table : CPS-391Spike: Define and Agree NCMP REST Interface#Datastore,PathsandFormatCombinationsforReadOperations | Delivered in Istanbul | ||
| 3 | 3 | CPS-NCMP | Separate NCMP-DMI interface from northbound facing 'client' interface |
| Committed | ||
| 4 | 4 | CPS-NCMP | Retrieve cm-handles that have a given list modules | Committed | |||
| 5 | 5 | CPS-NCMP | Allow separate registration of DMIDataPlugin and DmiModelPlugin | Committed | |||
| 6 | 6 | CPS-NCMP | Support | Replace, Delete & Patch use-cases (#2, #3, #4) in : CPS-391Spike: Define and Agree NCMP REST Interface#Datastore,PathsandFormatCombinationsforWriteOperations | Committed | https://lf-onap.atlassian.net/browse/CPS-636https://lf-onap.atlassian.net/browse/CPS-637https://lf-onap.atlassian.net/browse/CPS-638https://lf-onap.atlassian.net/browse/CPS-639https://lf-onap.atlassian.net/browse/CPS-640https://lf-onap.atlassian.net/browse/CPS-641 https://lf-onap.atlassian.net/browse/CPS-782https://lf-onap.atlassian.net/browse/CPS-777 https://lf-onap.atlassian.net/browse/CPS-822https://lf-onap.atlassian.net/browse/CPS-823https://lf-onap.atlassian.net/browse/CPS-824https://lf-onap.atlassian.net/browse/CPS-825 | |
| 7 | 7 | CPS-NCMP | Define states and state handling for CM handle, e.g. state of model and data sync | Committed (definition only) | |||
| 8 | 8 | CPS-NCMP | NCMP should publish notifications for any newly added (once synced) or deleted cm handles. | Includes implementation of state handling (state persistence) as far as applicable as defined by #7 above | https://lf-onap.atlassian.net/browse/CPS-858 https://lf-onap.atlassian.net/browse/CPS-872 https://lf-onap.atlassian.net/browse/CPS-874https://lf-onap.atlassian.net/browse/CPS-875https://lf-onap.atlassian.net/browse/CPS-876https://lf-onap.atlassian.net/browse/CPS-877https://lf-onap.atlassian.net/browse/CPS-878https://lf-onap.atlassian.net/browse/CPS-909 | ||
| 9 | 9 | CPS-NCMP | Support public CM handle properties | Basic support for public properties + query capability | Partial Delivery (query part might not make Jakarta) | https://lf-onap.atlassian.net/browse/CPS-677https://lf-onap.atlassian.net/browse/CPS-817https://lf-onap.atlassian.net/browse/CPS-837https://lf-onap.atlassian.net/browse/CPS-731 | |
| 10 | 10 | CPS-Core / | Investigate Horizontal Scaling | Study & Test only | |||
| 11 | 11 | CPS-NCMP | Implement -async option for CRUD and Patch operations (for one CM-Handle) | Required for potentially long running requests Note below to be agreed.,, Responses always published by NCMP to the client topic. dmi-plugin may publish to NCMP on a local/private topic. Response event payload contains the public topic name. | Partial Delivery | https://lf-onap.atlassian.net/browse/CPS-821https://lf-onap.atlassian.net/browse/CPS-828https://lf-onap.atlassian.net/browse/CPS-829https://lf-onap.atlassian.net/browse/CPS-830https://lf-onap.atlassian.net/browse/CPS-832 | |
| 12 | 12 | CPS-NCMP | Read access at datastore level | This allows applications to query top-level data nodes without explicitly addressing them. | https://lf-onap.atlassian.net/browse/CPS-745 | ||
| 13 | 13 | CPS-Core | YANG language extension support | Investigation | Committed (investigation only) | https://lf-onap.atlassian.net/browse/CPS-735https://lf-onap.atlassian.net/browse/CPS-866 | |
| 14 | 14 | CPS-Core | E2E Slicing Impacts Jakarta | J-delivery wil just include CPS-Core output alignment. But CPS Team will continue to work on cache-related items during Jakarta to be ready for inclusion of that functionality in K to such an extend that in can be used by E2E Sling | https://lf-onap.atlassian.net/browse/CPS-865https://lf-onap.atlassian.net/browse/CPS-819 |
Temporal DB Requirements
Priority | Jakarta Requirement Jira | Component(s) | Description | Notes | Jakarta commitment | Jira(s) |
|---|---|---|---|---|---|---|
1 | CPS-TEMPORAL | Add support for data deletion events in CPS Temporal | Committed | https://lf-onap.atlassian.net/browse/CPS-470 https://lf-onap.atlassian.net/browse/CPS-789 https://lf-onap.atlassian.net/browse/CPS-790 https://lf-onap.atlassian.net/browse/CPS-826 https://lf-onap.atlassian.net/browse/CPS-791 |
Functionalities
Stories
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 able to sync CM Models and Data on any xNF in the network
MCMP wil support the query capabilities as CPS-Core and be extend with options similar to RESTConf's 'fields' and 'depth'
CPS Temporal aims to complement CPS Core by providing an historical view on CPS data.
Release Deliverables
Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note, etc) of this release.
Deliverable Name | Deliverable Description |
|---|---|
| Container running CPS and NCMP |
| Container running CPS Temporal |
| Container running OMAP DMI Plugin |
CPS-NCMP Documentation for R10 (incl. offered APIs and release note) | |
ONAP DMI-Plugin Documentation for R10 (incl. offered APIs and release note) | |
CPS-Temporal Documentation for R10 (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
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: Jakarta Release Platform Maturity
API Incoming Dependencies
No Incoming API changes required
API Outgoing Dependencies
API this project is delivering to other projects.
API Name | API Description | API Definition Date | API Delivery date | API Definition link (i.e.swagger) |
|---|---|---|---|---|
CPS-E-01 | CPS Model LifeCycle | |||
CPS-E-04 | Change notifications | |||
CPS-E-05 | xNF Data Access | |||
CPS-E-06 | Temporal Data Access |
Third Party Products Dependencies
Third Party Products mean products that are mandatory to provide services for your components.
Name | Description | Version |
|---|---|---|
Docker | VM Container | 18 and above |
ODL Yang Tools | Yang model and Data Parser | 6.0.1 |
Postgres Docker image | VM container for Postgres | 13.2-alpine |
onap/integration-java11 | Java Base image | 8.0.0 |
Swagger | OpenAPI library | 2.1.4 |
SpringFox | OpenAPI library | 3.0.0 |
Hibernate types | Support for Postgres datatype JSONB | 2.10.0 |
Spring Boot | Application Framework | 2.5.5 |
cglib-nodep | 3pp | 3.1 |
commons-lang3 | 3pp | 3.12.0 |
antlr4-runtime | Language parser | 4.9.2 |