The content of this template is expected to be fill out for M1 Release Planning Milestone.
Overview
Project Name | Configuration Persistence Service |
---|---|
Target Release Name | Honolulu |
Project Lifecycle State | Incubation |
Participating Company | Ericsson, Nokia, Bell Canada, IBM, Pantheon |
Scope
What is this release trying to address?
Introduce CPS specially focused to support E2E Network Slicing use case but in such a way that any other project an avails of the CPS functionality
Requirements
- REQ-440Getting issue details... STATUS For CPS only an MVP will be realized in Honolulu.
- REQ-429Getting issue details... STATUS
Minimum Viable Product
- CPS can store the module used for E2E Network Slicing and SON PCI (but any other model could be stored too)
- Yang json dat file can be stored for same model (with some validation)
- Support concept of Anchors (data entry points) even if only used one for MVP
- An xNfProxy interface wil be used to access xNF configuration data in CPS (hide soem of teh CPS housekeeping from xNF data users)
- Dataspace, model and dat will be hardcoded as part of xNfProxy stub in this release
- Query support wil be limited to whatever is needed for E2E Network Slicing use cases
Functionalities
Epics
- CPS-183Getting issue details... STATUS
- CPS-168Getting issue details... STATUS
- CPS-120Getting issue details... STATUS
- CPS-118Getting issue details... STATUS
- CPS-86Getting issue details... STATUS (stretch)
Stories
Longer term roadmap
- CPS-Core is to be able to store and validate any Yang Modelled data and provide advanced xPath like queries
- CPS xNfProxy is a dedicate interface on CP-CODE for xNF configuration data and will included a mechanism for synchronizing the persisted data with the actual network configuration
Release Deliverables
Indicate the outcome (Executable, Source Code, Library, API description, Tool, Documentation, Release Note, etc) of this release.
Deliverable Name | Deliverable Description |
---|---|
CPS Docker Images | Containers running CPS and xNfProxy |
CPS distribution library | Java library for other apps to use |
Sub-Components
List all sub-components part of this release.
Activities related to sub-components must be in sync with the overall release.
- cps-service
- cps-rest
- cps-ri (reference implementation)
- cps-xnf-proxy (TBD)
Architecture
High level architecture diagram
Platform Maturity
Please fill out the centralized wiki page: Honolulu Release Platform Maturity
API Incoming Dependencies
None
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-Admin | Manage CPS meta data like dataspaces, model and anchors | https://gerrit.onap.org/r/gitweb?p=cps.git;a=tree;f=cps-rest/docs/api/swagger;h=e815fb1926d69f724629885fcb2b5e32184c61e3;hb=refs/heads/master | ||
CPS-Data | CRUD operations business data | https://gerrit.onap.org/r/gitweb?p=cps.git;a=tree;f=cps-rest/docs/api/swagger;h=e815fb1926d69f724629885fcb2b5e32184c61e3;hb=refs/heads/master | ||
CPS-xNF-Proxy | CUD Operations for Configuration data |
Third Party Products Dependencies
Third Party Products mean products that are mandatory to provide services for your components. Development of new functionality in third party product may or not be expected.
List the Third Party Products (OpenStack, ODL, RabbitMQ, ElasticSearch,Crystal Reports, ...).
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.1 (will use 'latest' image released at built time) |
Open JDK image | Base image | 11-jre-slim |
Jetty | Application server | 9.4.31 |
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.3.3.RELEASE |
cglib-nodep | 3pp | 3.1 |
commons-lang3 | 3pp | 3.11 |
In case there are specific dependencies (Centos 7 vs Ubuntu 16. Etc.) list them as well.
Testing and Integration Plans
- CPS has high level of built jUnit test (>90%) 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 need to be identified as part of Deployment Epic but will be included in Honolulu timeframe
See - CPS-188Getting issue details... STATUS
Gaps
This section is used to document a limitation on a functionality or platform support. We are currently aware of this limitation and it will be delivered in a future Release.
List identified release gaps (if any), and its impact.
Gaps identified | Impact |
---|---|
xNF-Proxy data mirroring and syncing | data instance hardcode (ie. loaded upon deploy) |
Known Defects and Issues
Please refer to CPS Release note when available
Risks
List the risks identified for this release along with the plan to prevent the risk to occur (mitigation) and the plan of action in the case the risk would materialized (contingency).
Please update any risk on the centralized wiki page - Honolulu Risks No risk identified at the moment
Release Milestone
The milestones are defined at the Release Planning: Honolulu 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 erecommended to provide these agreements and dates in this section.
Documentation, Training
Please update the following centralized wiki: Honolulu Documentation – To be updated when avail
That includes
- Team contributions to the specific document related to he project (Config guide, installation guide...).
- Team contributions to the overall Release Documentation and training asset
- High level list of documentation, training and tutorials necessary to understand the release capabilities, configuration and operation.
- Documentation includes items such as:
- Installation instructions
- Configuration instructions
- Developer guide
- End User guide
- Admin guide
- ...
Note
The Documentation project will provide the Documentation Tool Chain to edit, configure, store and publish all Documentation asset.
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.