CPS R9 Release Planning
Overview
Project Name | Enter the name of the project |
---|---|
Target Release Name | Istanbul |
Project Lifecycle State | Incubation |
Participating Company | Bell Canada, Ericsson, IBM, Highstreet, Pantheon |
Scope
What is this release trying to address?
Further integrate CPS into ONAP architecture through additional components and interfaces such as
Network CM Proxy NCMP, moving from MVP to integrated component using SDN-C, DMaap and A&AI and an agreed new REST interface
ONAP Data Model Inventory (DMI) Plugin to register supported CM handles and delegate data acces to the xNFS using ODL interface in SDN-C
Model and Data Sync for nodes in DMI Plugin Inventory
Storing and querying Temporal data
Requirements
REQ-720: 5G SON use case enhancements for Istanbul releaseDone
REQ-721: E2E Network Slicing use case enhancements for Istanbul releaseDone
Minimum Viable Product
Ability to add xNF (initial) inventory using 'side-door' interface
Read Operation support for both cached data in CPS and xNF data using 'datastores' concept
Write operation support for datastore ncmp-datastores:running
Model and Data Sync for (manually added) Simulator based xNF
Temporal service is able to store basic data updated events received from Core and is also able to respond to basic query requests.
Functionalities
Epics
CPS-350: Data Model Inventory Registry for NCMPClosed
CPS-384: DMI-Plugin Interface and ONAP ImplementationClosed
CPS-385: NCMP Initial Inventory & Updates (add & remove cm-handle)Closed
CPS-388: NCMP Pass-Through support for CRUD and Patch operationsClosed
CPS-386: Initial and -re-Sync of CM-Handle Model & Data Closed
CPS-382: CPS Support for E2E Network Slicing Use CasesClosed
CPS-189: Temporal Setup & Initial DesignClosed
CPS-224: Temporal Implementation FoundationsClosed
CPS-369: Temporal Basic StoringClosed
CPS-370: Temporal Basic QueryingClosed
CPS-426: Temporal Technical DeptClosed
CPS-446: CPS Temporal DocumentationClosed
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 same 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 |
---|---|
onap/cps-and-ncmp | Container running CPS and NCMP |
onap/cps-temporal | Container running CPS Temporal |
Documentation for R9 (incl. offered APIs release note) One entry point for all CPS documentation available at https://docs.onap.org/projects/onap-cps/en/latest/index.html. From there, documentation for all CPS components (core, ncmp, temporal, ...) shall be available. |
Sub-Components
CPS-Core
cps-service
cps-rest
cps-ri (reference implementation)
NCMP
cps-ncmp-service
cps-ncmp-rest
Temporal DB
DMI-Plugin
Architecture
High level architecture diagram
CPS is a new shared service in the ONAP Architecture:
For more detailed component description see ARC Configuration Persistence Service (CPS) Component Description - Istanbul-R9#6.SystemDeploymentArchitecture
Platform Maturity
See the centralized wiki page: Istanbul 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-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 | 5.0.6 |
Postgres Docker image | VM container for Postgres | 13.2-alpine |
onap/integration-java11 | Java Base image | 8.0.0 |
Jetty | Application server | 9.4.41 |
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.0 |
cglib-nodep | 3pp | 3.1 |
commons-lang3 | 3pp | 3.11 |
antlr4-runtime | Language parser | 4.9.2 |
liquibase | DB Schema (version) management | 4.3.1 |
modelmapper | Model mapper library | 2.3.8 |
MapStruct | Model Mapper library (alternative) | 1.4.2.Final |
TESTING AND INTEGRATION PLANS
CPS has high level of built jUnit test (CPS-Core+NCMP >95%, Temporal DB >80% ) which is enforced by our maven build scripts
CPS has built in Persistence Layer test ie. test that integrate with real DB covering all use cases and are part of WoW
CIST test 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 JobE2E Integration with ONAP components introduced in I-release (like SDN-C, A&AI) will be added/tracked by https://lf-onap.atlassian.net/browse/INT-1902
GAPS
No gaps Identified
KNOWN DEFECTS AND ISSUES
See dynamic Jira filter:
RISKS
No Risks identified, see also Istanbul Risks
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: Istanbul 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.