Implementation Proposals
When required any user story or spike can add a page here to document an implementation proposal, design options, decisions etc.
This is not intended to be formal end-product documentation just a way to share design details during the development phase.
- CPS-<####>: Implementation Proposal Template
- PARIS
- OSLO
- CPS-2020 DCM (Distributed Configuration Management) Overview Study
- CPS-1963 Register alternate identifier (alternative for CM Handle ID)
- CPS-2007 - Update NCMP Events to include Alternate ID
- CPS-1964 - Support for Async datajobs Write
- CPS-2141 Define DMI REST interface for Datajobs
- CPS-2096: Create implementation proposal for NCMP to provide support for data producer identifier during registration.
- CPS-2189 - Support for Async datajobs Read
- CPS-2142: Algorithm for splitting a data-job into sub-jobs
- CPS-2010 NCMP to support datajob results in S3
- CPS-2155 Java API: The Data Structure for DataJob Write Request
- CPS-2154: Response schema for DMI dataJob response
- CPS-2008 - Update existing single sync cmhandle APIs to support alternative id (containing FDNs)
- CPS-1992 NCMP to Support new 3GPP sync single FDN request
- CPS-2009 Update remaining existing/legacy NCMP APIs to support alternate Id (FDN)
- CPS-2067 Granular control of CPS core notifications
- CPS-2169: NCMP to support 200k Cells (50KCM-handles)
- CPS-2240 Restructure NCMP DataJobs feature in NCMP Service
- CPS-2249: NCMP To support Conflict Handling (Policy Execution) using External Service
- CPS-2299: Updating CM Data Notification
- CPS-2305 Data Validation Report Proposal
- CPS-2310: Refactoring of CPS Delta APIs
- CPS-2408 Analyze Hazelcast Instance Configuration
- CPS-2425 Event Schemas in ONAP
- Inconsistencies with CPS Core API's
- Query Endpoint with data search proposal
- Hazelcast Overview with CPS/NCMP
- Hazelcast Use Optimization Overview
- CPS-2339 Make Test & Documentation (examples) More Realistic
- Add delta report in cps notification
- Using delta report perform bulk update operations
- CPS-2436 NCMP to populate the source key in the target topic to support retaining the order of CM Data Notifications
- CPS-2293: Architecture Review
- CPS-2444: Add Endurance tests for NCMP
- CPS-2179 Secure Kafka Messages
- Grouping of generated delta reports in Delta Feature
- CPS-2478: Module Sync Inefficiencies
- CPS Instrumentation Overview
- CPS-2485 Hashmark support in 3gpp objects
- CPS-2479 Review Hazelcast FencedLock for work queue coordination use case
- CPS-2020 DCM (Distributed Configuration Management) Overview Study
- NEW DELHI
- CPS-1796: Document Kafka Interfaces using AsyncAPI
- CPS-2000 Schema object cache not distributed.
- Investigate Delta event notification after configuration update
- CPS-1953 Compare Active Subscriptions (DB) with the current request
- Support for XML content type in CPS API’s
- CPS Query API should support more generic query in request
- CPS-2146: Analysis of Out of Memory and related Errors in NCMP
- CPS-2146 Using Java Streams to reduce memory consumption in CPS and NCMP
- CPS-2161: Remove Hazelcast from NCMP Module Sync
- CPS-989: Replace RestTemplate with WebClient Analisys
- CPS-2166: Forwarding CM Data Notifications based on Subscription
- CPS-2172 - OpenTelemetry tracing
- CPS-2055: Improve WoWs around Bug tickets
- MONTREAL
- CPS-1574: Remove 32K limit from DB operations
- CPS-1646 CpsPath queries using path-component lookup
- CPS-1812: Merge CM data subscriptions in NCMP when forwarding it to DMI
- CPS Delta Feature
- CPS-1613 Explore the Test Plan Scenarios for Kafka related use cases
- Impl. Proposal CM Subscriptions : Delete ( Positive Scenarios )
- CPS-1638: CM Handle Connectivity Freshness/Staleness (Trustlevel)
- CPS-1886 Spike Liquibase Steps Condensing
- CPS-1840 : Analysis of DMI Data AVC Event for SON use case
- CPS-1613 Explore How to Integrate Kafka Tests in the CSITs
- CPS-1586 Investigate implementation for persisting of top level list nodes
- Study on NCMPAsyncRequestResponse event schema
- CPS-1733: Upgrade YANG Schema-Set for CM Handle Using a Module Set Tag
- CPS-1706 Test strategy of CM Handle LCM Notification flow in CSIT
- CPS-1857 Document watchdog job impl. with health check URL
- CPS-2061 Liquibase Steps Condensing
- CPS-1677: Remove dataspace_id from Fragment table
- Async Error Codes
- CPS core Get Data Node Inconsistencies
- CM Data Notification Subscription LCM (incl. merge)
- Impl. Proposal CM Subscriptions : Creating/Merging( Positive Scenarios )
- CPS-1865: Common Error Reporting with Additional Details
- LONDON
- CPS-1381: Query large outputs using descendants/limit/depth query parameter.
- CPS-1257: Support for application/xml Content-Type
- CPS-1393 Define and Onboard YANG model for Subscription Events
- CPS-1383: PATCH operation executes partially when updating multiple list-nodes at once
- CPS-1434: VES Message to update CPS DB
- Subscription Creation Events Handling
- CPS-1489: Overview of Kafka Topics in CPS Components
- CPS-1391: Impact analysis on CPS core API's due to changes of CPS-341
- CPS-1273 Support for <,> Operators in cps-path
- CPS-1394 : Persist the subscription using the newly created YANG model
- CPS-1492: Subscription Create Response Handling
- CPS-1361: CPS data updated events
- CPS-1377: Investigate CPS Path search over multiple anchors under one dataspace
- CPS-1215 OR operator changes
- Impl. Proposal CM Event Subscription LCM: Create
- CPS-1431: Forward Subscription Information to DMI Plugin(s)
- CPS-1301: Insert Module Prefixes
- CPS-1272 Support for contains in cps-path
- CPS-1298: Add new topics to OOM
- CPS-1236: DMI audit support for NCMP: Filter on all properties of CM Handles
- CPS-1392 NCMP Consume Subscription Event
- CPS-1172: Spike - Automated Registration Performance Test (excluding Module Sync)
- CPS-1515: Spike: Support Multiple CM-Handles for NCMP Get Operation (Data operations)
- CPS-1379: Creating CpsPersistenceSpecBase2 for Persistence Test Improvements
- CPS-1567: Investigate Implementation of pagination for Query API
- CPS-1171: Node API - GET Method Performance Issue Test Results
- CPS-1312: CPS(/NCMP) Does not have version control
- CPS-1173 : Deletion Performance improvement proposal
- KOHN
- CPS-909 Separate NCMP endpoint for cm-handle properties and cm-handle state
- CPS-1128 Make CPS Core API more restful
- CPS-1177 Proposal for merging the endpoints of the datastore API
- CPS-870: Align CPS-Core output with SDN-C output
- CPS-1014 Yang module update with DataStoreSyncState
- CPS-1104 Agree LCM Event schemas
- CPS-1000 Data Synchronization Watchdog
- Bug: Node API - POST method not works for instance-identifier
- CPS-986 : Asynchronous Communication Logging
- CPS-438 Make DB Schema Updates & Data Population More Robust for Kubernetes Environments
- CPS-1017 Explore and Compare various caches
- CPS-1126 : CmHandle creation performance degradation
- CPS-1119: Define the Initial Data Sync State on each cmhandle registration request
- CPS-1026 Hazelcast Licensing
- CPS-1033 Hazelcast Features
- CPS-1005 Explore ways to create a resource(dataspace in this scenario)
- CPS-1064 Support retrieval of YANG module sources for CM handle on the NCMP interface
- Workshop: CM-Handle States & Locking
- CPS-1031 - Application Properties for Configuration
- CPS-1153 Publish a public dmi-registry to documentation
- CPS-1197: Spike Investigate Implementation of API Versioning
- CPS-877: Exclude any CM-Handles from queries/operations that are not in state 'READY'
- CPS-1169: OpenDaylight Yang Tools Upgrade
- CPS-1034 Publish LCM Events on Cmhandle State Change(NcmpEventsCmHandleStateHandler)
- CPS-1152: Spike Conform JSON and dmi-registry Casing Conventions
- CPS-1085 Performance degradation on ncmp/v1/ch/searches endpoint
- CPS-875 Cm Handle State: Java Enum State Machine
- CPS-1015: Distributed datastore solution for Module Sync Watchdog
- CPS-1067 NCMP returns 500 error on searches endpoint when No DMi Handles registered
- CPS-1221 CPS Xpath search capability Enhancements
- CPS-1016 Merge 2 'query' end points in NCMP
- CPS-1001 : Add CPS-E-05 endpoint for 'Read data, NCMP-Operational Datastore'
- CPS-341 Spike: Support multiple data tree instances under 1 anchor
- JAKARTA
- Adding examples for Request and Response in openapi.yaml
- CPS-313 Delete DataNode (xpath) for a given Anchor
- CPS-314 Delete Dataspace
- CPS-322: Implement additional validations for names used as identifiers
- CPS-461 Align DataNode for Get and Post/Put endpoints in CPS Core
- CPS-470: Spike - Add support for data deletion events
- CPS-491 Spike to Support list top-level data node
- CPS-631 Spike: Which ObjectMapper to use and how best to use it for performance
- CPS-644 Get all cm handles that support all modules in a given list of modules
- CPS-677 Support 'public' Cm Handle Properties
- CPS-678/CPS-679 Support resource identifier path param with slashes & multiples (unknown) properties
- CPS-707 Create Detailed NCMP-DMI interfaces diagram
- CPS-731 Query Based on Public CM Properties
- CPS-735 Spike: Support for Yang Language Extension
- CPS-736 Allow separate registration of DMIDataPlugin and DmiModelPugin
- CPS-738 : How to handle the circular dependency between NotificationService and CpsDataServiceImpl
- CPS-765 Post List Element to allow top level list element
- CPS-766 Get Nodes Endpoint
- CPS-786 Spike: scale CPS-NCMP horizontal using several instances of the service
- CPS-788 Yang Resource formatting is incorrect (during model sync)
- CPS-799 Spike: Define states and state handling for CM handle
- CPS-802 Upgrade SDN-C and verify root access
- CPS-817: Create Endpoint for Get Cm Handle Details
- CPS-821 Spike: Support Async read-write operations on CPS-NCMP interface
- CPS-837 Remove and Add Properties as part of CM-Handle registration update
- CPS-858 Define Notifications on CM Handle Add (Ready) & Delete
- CPS-872 CM Handle State: define and agree new dmi-registry yang model supporting States
- CPS-875 CM Handle State: Watchdog-process that syncs 'ADVISED' CM Handles
- CPS-887 Decreasing performance of cmHandle registration after large number of schema sets in DB
- CPS-892 Update HTTP Response Code for CM Handle Registration
- CPS-898 Create method to lock and unlock an anchor
- CPS-899 Start and stop sessions on Java API
- CPS-1065 Spike: CM data notifications from NCMP to applications including subscriptions
- Define the new CSIT test cases and the set up required
- Refactoring to move business logic to Service Layer
- WIP: CPS-896: CMHandle Registration Response structure
- CPS Exceptions and REST APIs HTTP Response Codes
- ISTANBUL
- CPS-395 Spike: SDNC Interface for CRUD and Patch Operations
- CPS-348 - Spike: Determine how to generate and share data updated events pojos from the event schema
- CPS-435: Propose and clean up pom.xml to reuse properties defined in oparent settings.xml
- CPS-503 Spike: Investigate Liquibase self-build option
- CPS-506: List all known modules and revision
- CPS-235: Overview of (early) CPS Update Scenarios
- CPS-392 Spike: A&AI Inventory List
- CPS-459: Define evolution strategy and versionning of CPS Event schema
- CPS-402: Configuration and usage of maven properties
- CPS-277 Spike Analyse E2E API GET methods
- CPS-347: Spike for architecture quality tools
- CPS-251 Define REST Query interface for Temporal service
- CPS-376 Spike: Investigate introducing ANTRL to resolve CpsPaths
- CPS-393 Spike: DMaaP Event subscription and Filtering of A&AI
- CPS-333 Network Configuration Management (NCMP) scope for I release considerations
- CPS-278 Spike Analyse E2E API PUT methods
- CPS-474: Spike on data updated event notification filtering for dataspace
- CPS-526 : Send Data-updated event asynchronously
- CPS-352 : Create yang-model for DMI-registry data
- CPS-338 Spike: Add, Remove and Replace Operations on List Nodes
- CPS-464: Document update node leaves limitations
- CPS-192: Design data store for Temporal Service
- CPS-505: Initial Inventory, Get and Store SchemaSets of node(s)
- CPS-287 Spike: Yang Schema Mount Support
- CPS-191: Core and Temporal Integration Design
- CPS-178 Document CPS Architecture
- CPS-433 DMaap integration to produce CPS events from CPS core to CPS Temporal
- CPS-309 Extends ends-with cps path query to allow for non-key attributes
- CPS-NCMP - DMI - SDNC Request and Response Mapping
- CPS-508: Create anchor/schemaset from new modules and existing modules
- CPS-390 Spike: Define and Agree DMI Plugin REST Interface
- CPS-428 Adding Response and Examples for API in OpenApi specifications
- CPS-291 Spike: Consider moving cpsPath parsing from cps-ri to cps-service
- CPS-378: Immutable Map/Set implementation Documentation
- CPS-391Spike: Define and Agree NCMP REST Interface
- CPS-320 - Remove Duplicate Application Configuration in OOM
- CPS-419: Document Structure CPS Projects
- CPS-380: Implement Automatic Application Architecture Verification for CPS Core
- CPS-423 - Create/Update CPS Component Diagrams ONAP Wiki
- HONOLULU
- CPS-197 Spike on options for re building Data Object
- CPS-78: Deployment View
- CCSDK-2752: DM: [Spike] Examine DPS SPI
- CCSDK-2757 VSE: Create (store) a JSON Object
- CPS-72 Yang modules to XPath format adaptation
- Implementation Proposal CCSDK-2766 YM: Store Yang Model (text version)
- CPS-39 - High level design for CPS Temporal API and store
- CPS-199: Custom Model E2E Network Slicing - Coverage Area-Tracking Area & TA-Cell mapping
- CCSDK-2872 DP: Agree and document proposed long-term Persistence SPI(s)
- CPS-168 xNF Proxy Epic - MVP delivery clarification
- CCSDK-2871 DP: Long-term Java API(s)
- CPS-10 Add ONAP compliant logging config
- CPS-43 Operating with Module Sets (groups of modules)
- CPS-200: Custom Model E2E Network Slicing - RAN Inventory
- CCSDK-2756 DM: [Spike] Propose C&PS Data Model
- CPS-235: Overview of (early) CPS Query
- CPS-222: Spike: CPS data update options
- CCSDK-2897: VSE: Upload modules (a model file) to a (new) dataspace
- CCSDK-2791 VSE: Exception handling on REST interface - implementation proposal
- CCSDK-2870 DP: CPS REST API Documentation - PROPOSAL
- CPS-175 OOM Integration
- CPS-171 CPS xNF-Proxy Deployment and module dependencies
- CPS-97 Spike: study use-case requirements for E2E Network Slicing