summaryrefslogtreecommitdiffstats
path: root/cps-service
AgeCommit message (Collapse)AuthorFilesLines
2024-06-25Fix incorrect use of getAnchors(dataspace, schemasets)danielhanrahan7-62/+112
There is an issue in a method deleteDataNodes(dataspace, anchors) where it doesn't send data update events. This is because it fetches anchors using a method getAnchors(dataspace, schemaSetNames), when it needs to fetch anchors by name: getAnchors(dataspace, anchorNames) Changes: - Rename getAnchors method using schemasets to getAnchorsBySchemaSetNames - Add a method getAnchors(dataspace, anchorNames) - Update test of deleteDataNodes method using getAnchors so it checks that data update events are sent Issue-ID: CPS-2254 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I55fe853f0a9278a66a5724bf4cf2723b0e2fbc8b
2024-06-20Bump CPS version to 3.5.1-SNAPSHOTmpriyank1-1/+1
- bump cps version to 3.5.1-SNAPSHOT - updated release notes to make it ready for the next release Issue-ID: CPS-2283 Change-Id: I242cae7c95a87c1a9e225cce3eb7b36097f1e5ba Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-06-19Addressed an adaptability issuesourabh_sourabh1-5/+5
- Defined a constant instead of duplicating literal "No data nodes 4 times. Issue-ID: CPS-478 Change-Id: I2b980a228217e85424342d4c2b9e97c5cfa618d1 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-06-06CPS Delta API 2: Delta between anchor and payloadArpit Singh7-20/+299
- Second API to get Delta between an anchor and JSON payload - added new API getDeltaByDataspaceAnchorAndPayload - added controller and service layer methods getDeltaByDataspaceAnchorAndPayload - Core Delta algorithm remains same as the first API. getDeltaByDataspaceAnchorAndPayload will call getDeltaBetweenDataNodes Issue-ID: CPS-1836 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: Id74cd930ce48e5cb414aa62c5381b79675788a37
2024-06-05XML content support on update node leavesRudrangi Anupriya3-19/+22
Issue-ID: CPS-2071 Change-Id: Ibe7f59fbfcbb03703626132c6d5c2afde0e7ab4b Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2024-05-15Bump CPS to 3.5.0-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.5.0-SNAPSHOT Issue-ID: CPS-2228 Change-Id: I8a6d7e702b557d5b90dd384bbe429de4958ef77f Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-14CPS Bump to 3.4.10-SNAPSHOTmpriyank1-1/+1
- bumping CPS to 3.4.10-SNAPSHOT version Issue-ID: CPS-2221 Change-Id: I8513582791078762bfb9d828966028c233e031db Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-08Conditional cps change eventsmpriyank2-8/+24
- introduced a parameter to control the cps core change event notifications. we should be able to disable these notifications without affecting other notification flows. - fixed the LayeredArchitectureTest as we are accessing the Anchor model in the events package now. Issue-ID: CPS-2213 Change-Id: Id875925bc14de1cc6e8fa3193c0df470e09fe43f Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-03[BUG] Correctly parse observedTimestampmpriyank3-9/+20
- Using the DateTimeUtility to parse the passed OffsetDateTime and using it for conversion to string - Moving to actual src/main/java from test side as it is to be used in the prod code as well and only keeping the methods in use. - Added test to fix the coverage issue Issue-ID: CPS-2211 Change-Id: I2b4325bb77a6da7fd470986b1da293f455650375 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-05-02Merge "Add Notification support in cps core"Priyank Maheshwari7-5/+360
2024-05-01Bump CPS versiondanielhanrahan1-1/+1
- bump cps to 3.4.9-SNAPSHOT - also updated the release notes Issue-ID: CPS-2205 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ifd7feb413baac30e3cbbdf2aeaac5fbb5ae2e463
2024-04-30Add Notification support in cps corerajesh.kumar7-5/+360
Add notification support using cloud events Issue-ID:CPS-2068 Change-Id: I56c34400dc73c71b936a51260efd240223babacd Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2024-04-26Faster module searches (CPS-2190 #3)danielhanrahan3-6/+4
This greatly improves performance of module searches by eliminating unneeded SQL queries via Hibernate lazy fetching. Issue-ID: CPS-2190 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ie9e65017d0027366456f1741cc37b10679317b25
2024-03-29Bump CPS versionmpriyank1-1/+1
- bump cps to 3.4.8-SNAPSHOT - also updated the release notes Issue-ID: CPS-2168 Change-Id: Iee7f1e2febbf28b0d5a2855d3128d9eb8bb3c490 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-03-29Uplift Spring boot 3.2.4emaclee1-11/+7
- uplifted spring boot from 3.1.2 to 3.2.4 - removed redundant dependencies - upgraded relevant dependencies - use of @Bean(some_name) is give a specific bean name - using @Bean(some_name) with @Qualifier so on the injection point to specify which bean to actually inject, this is used as we deal with multiple beans of the same type. Issue-ID: CPS-2101 Change-Id: I64d5bf567b9eb03fb39034a46528d0160b332715 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2024-03-19Configure Hazelcast to have 1 backup to reduce memorydanielhanrahan2-8/+5
Currently Hazelcast is configured to have 3 synchronous backups and 3 asynchronous backups. These are separate, meaning there will be 7 copies in the cluster (1 original + 3 sync + 3 async backups). Even if only 1 instance of CPS/NCMP is running, it will have 7 copies in memory. Given that CPS/NCMP is typically only deployed using 1 or 2 instances, the settings are changed to 1 synchronous backup (same as Hazelcast's default configuration). This change has been tested and shown to reduce heap usage by around 100MB during 20K CM-handle registration. Issue-ID: CPS-2146 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I4a5f6d83bc35e2c13cfb32002e38dc365da34c8e
2024-02-29Bump CPS to 3.4.7-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.4.7-snapshot - updated the relese notes Issue-ID: CPS-2135 Change-Id: Ib166ebae2e3de9a727b3d0d4d21832c8858f4108 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-28Revert Spring Boot Upliftmpriyank1-0/+5
- reverting back to spring 3.1.2 - manual changes to revert as other apps not fully ready for the delivery Issue-ID: CPS-2133 Change-Id: I670b67916fa4a5d4e5bced6548b7fcd5ee12e855 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-27Bump CPS to 3.4.6-SNAPSHOTmpriyank1-1/+1
- bumping CPS to 3.4.6-SNAPSHOT - updated the release notes Issue-ID: CPS-2124 Change-Id: Id28af9340da9c1ce118b2122e97b8717860c7932 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-02-26Merge "Uplift Spring Boot to 3.2.2"Priyank Maheshwari1-5/+0
2024-02-23Bump CPS to 3.4.5-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.5-SNAPSHOT and update the docs Issue-ID: CPS-2120 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ia2ea81b40ec19b87d3b25359fbb25ffdcc3285dd
2024-02-22Uplift Spring Boot to 3.2.2waqas.ikram1-5/+0
- Upgraded hypersistence-utils-hibernate-60 to hypersistence-utils-hibernate-63 - Introduced @Qualifier annotations where needed Issue-ID: CPS-2101 Change-Id: I8303592ed91584deb6ca5cd4e49800210b6ea989 Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
2024-02-12Fix test failure by ordering leaf-listsdanielhanrahan1-4/+9
YANG specifies two ways that leaf-lists can be ordered: - ordered-by user: original order in JSON is preserved - ordered-by system (default): it is up to the system how to order For leaf-lists to preserve same order as the JSON, the Yang module must specify 'ordered-by user'. To ensure consistent behaviour even when system ordering is used, the leaf-list is sorted during parsing. - Add 'ordered-by user' to authors field in bookstore.yang - Sort leaf-list during parsing when using 'ordered-by system' - Add new tests to verify ordering Issue-ID: CPS-2057 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I6ab688ec2fa4a22182e853d1a8b26642f278c40a
2024-02-07Merge "Orphaned modules are removed from the DB before cmhandle removal"Toine Siebelink1-1/+1
2024-02-07Bump CPS to 3.4.4-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.4-SNAPSHOT and update the docs Issue-ID: CPS-2077 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I1658c83642c8e64903f4bc03b74b6f5726d0227e
2024-02-07Orphaned modules are removed from the DB before cmhandle removalsourabh_sourabh1-1/+1
- changed sequence of delete schema set by cascade to remove unused yang resource modules at last. Issue-ID: CPS-2031 Change-Id: Icefc075165231cc4b9b170e04a2d12af645529e9 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-02-01Add integration test for extending API: Get Module Definitionshalil.cakal1-1/+5
- Add new module: bookstore-types - Import the new module from stores module - Change integration testwares to comply with the new module - Add new integration test for retrieving module definition Issue-ID: CPS-1135 Change-Id: Ib51c998ceeab50d3fcea212ed55c8ab50ca09257 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-02-01Extend API: Get Module Definitionshalil.cakal4-7/+50
- add query parameters: module-name and revision to OpenAPI - extend the controller method to hande the new parameters - add the new method stack to the service layer - extend the SQL query to support the new parameters - add unit and integration testwares Issue-ID: CPS-1135 Change-Id: I089ad2ad71effb58ac0ba809e9f441d6cdb59c4f Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-01-25CloudEvents support for cps-corempriyank3-0/+342
- Moving cloud events dependencies to the cps-service module instead of cps-ncmp-service - Testware has moved and new tests also introduced - EventsPublisher also moved Issue-ID: CPS-2040 Change-Id: Ibafb15e7e9efbdbe1e00e2b4f0da820bbcead004 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-01-19CPS 1824: Delta Between 2 Anchors release notesArpit Singh2-18/+17
Updated release notes for Delta Feature Issue-ID: CPS-1824 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: I1c2403391e85aec6a9e34f0ff616c17b100bf6a9
2024-01-18Merge "CPS Delta API: Update action for delta service"Toine Siebelink4-42/+185
2024-01-17Clear instance based Schema Context Cache upon validation errorsToineSiebelink14-505/+628
- retry yang parser exceptions one time by clearing cache - split yangUtils into YangParserHelper (instance based) and YangUtils for non-parsering static methods - removed public methods only used from test. Refactored to use variation with (empty) parent path - removed use of optional for parentPath, easier to handle with just an empty string! - make methods no longer used in production code in YangUtils are private - udpate testware to use proper public methods instead of private methods of yang utils / parser (helper) Issue-ID:CPS-2000 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I0c7590a5e1495d047006e7136f1bd873be37f7b0
2024-01-16CPS Delta API: Update action for delta serviceArpit Singh4-42/+185
- Added code for Update action in Delta service - added method to get updated Leaf data: getUpdatedLeavesBetweenSourceAndTargetDataNode - added method to compare Leaf data common in source and target data node - added method to process leaves unique to target data node - added method to compare leaves: compareLeaves - added method to store updated data to a DeltaReport: addUpdatedLeavesToDeltaReport - Added corresponding testware Issue-ID: CPS-1824 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: I3de07ea3227988784a0892f6a92c238ecf00a7fa
2024-01-11Bump CPS to 3.4.3-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.3-SNAPSHOT and update the docs Issue-ID: CPS-2026 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: If0036c6245ddbae2a401b712cc13e3208491ed2f
2024-01-09Remove inefficient saveListElementsBatch APIdanielhanrahan4-70/+7
CpsDataService::saveListElementsBatch method is not needed as saveListElements supports saving multiple list elements in a single operation. This both simplifies implementation and greatly improves performance when saving list elements, as the Yang parser need only run once for the whole batch. - Change InventoryPersistence to save CM-handles in batches of 100 using existing CpsDataService::saveListElements method. - Remove not needed CpsDataService::saveListElementBatch. Issue-ID: CPS-2019 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8b74dda2917e094d064b42f2c0e4d57029b90395
2024-01-08Clean up cps temporal related notification codeJvD_Ericsson1-7/+0
- remove 'test' level folder - remove schemas but leave structure - remove 'data-updated' from test application.yaml - remove NOTIFICATION_DATASPACE_FILTER_PATTERNS from docker-compose Issue-ID: CPS-2005 Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech> Change-Id: I3962d795c760de6ba5ff353e85894895437ad5e7
2023-12-20Bump CPS to 3.4.2-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.4.2-SNAPSHOT and update the docs Issue-ID: CPS-2017 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Iea58c1134bc9d25c76ef7ccc2c1d2de1c7aa0bfd
2023-12-18Remove the dependency-cycle between beansToineSiebelink13-182/+273
- Splitting admin service into AnchorService and DataspaceService (this resolves the cyclic dependency) - Improved Delete dataspace integration error tests (were depending on execution order, now independent) Issue-ID: CPS-871 Change-Id: I47efedb6eb4bd2900f72d689616b7b7b62df2938 Signed-off-by: halil.cakal <halil.cakal@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2023-12-18Remove Notification code for updated eventsmpriyank17-1149/+51
- removed existing code for sending notifications to topic cps.dataupdated events formerly used by cps-temporal - corresponding testware removed or updated - unnecessary to fetch anchor details for delete and replace operation removed which might gain minor performance boost - yaml configurations , documentation removal and update - Added missing test for AsyncConfig to comply with coverage check Issue-ID: CPS-2005 Change-Id: I1848f7f229cb713fe8c0302ea50328e7451652ee Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-12-13Introduce Schema Set upgrade methodsourabh_sourabh4-16/+65
- Incl. integration test - Prod code is changed to use new method that update yand module. - updated module resource to return multiple modules. Issue-ID: CPS-1806 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I751d9393ce78a3be9daeaff6d0252738c02115e0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-11-27Expose hazelcast cluster infompriyank2-0/+22
- exposing hazelcast cluster and health related rest endpoints to be used in the testware - added test to support it - also added RTD docs Issue-ID: CPS-1980 Change-Id: I926013bee05603a43050b861f677885a2511fffc Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-14CPS Delta API 1: Delta between 2 anchorsArpit Singh10-4/+461
- CPS Delta Feature Part 1: To find delta between two anchors - created new endpoint deltaByDataspaceAndAnchors - endpoint to take dataspaceName, source anchor, target anchor, xpath, descendants as input - added new service CpsDeltaService - added method to find delta between DataNodes: getDeltaReport - added method to find removed data nodes: getRemovedDeltaReports - added method to get Added DataNodes: getAddedDeltaReports - added method to get Map of xpath to DataNode: convertToXPathToDataNodesMap - added a POJO for delta report - Added new JSON data for delta feature testing - Added groovy test files CpsDeltaServiceImplSpec and DeltaReportBuilderSpec - code related to update operation, will be added in separate commit Issue-ID: CPS-1824 Signed-off-by: Arpit Singh <as00745003@techmahindra.com> Change-Id: I313f0f71d04b03878be7643f709d8af1aa6df6ba
2023-11-09Bump CPS to 3.4.1-SNAPSHOTmpriyank1-1/+1
- bumped CPS to 3.4.1-SNAPSHOT - updated the release notes Issue-ID: CPS-1962 Change-Id: Iee9fa03a1890ac5d4c1204d0851a255c5b897720 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-07Bump cps to 3.4.0-SNAPSHOTsourabh_sourabh1-1/+1
- bump cps to 3.4.0-SNAPSHOT and update the docs Issue-ID: CPS-1936 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I6a99662c72b236e49abcd79201156bf0a9572de7
2023-11-06Bump cps to 3.3.10-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.3.10-SNAPSHOT and update the docs Issue-ID: CPS-1954 Change-Id: Id62f59d4b3c42ea6f791fad85f0700089e3125b9 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-11-03[BUG] Set Hazelcast class loaderdanielhanrahan1-0/+1
ClassNotFoundException is being thrown during CM-handle registration when running the cps-application JAR. This fixes the issue by using the class loader for the CPS classes. Issue-ID: CPS-1933 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I02e2d19d9f668f0c4af36e9061e68f9b9ddb9434
2023-10-23Introduce and use new Hazelcast map pt. 2sourabh_sourabh1-1/+0
- modified ModuleSyncService - created ModuleSetTagCacheConfig and tests - ensure both Create and Upgrade cm Handle use cases work - Moved inventory pkg to its right patha as production code. Issue-ID: CPS-1859 Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Change-Id: I173dcd81fe2e74d86d85365b2ead461302cad974 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-10-16Clean up Dependenciesegernug1-26/+25
Clean up of dependencies into logical orders and compile/test statuses Issue-ID: CPS-1873 Signed-off-by: egernug <gerard.nugent@est.tech> Change-Id: I90ad49b7f1362e8f5b7006b85013c0bdf1b4d4ef
2023-10-11Expose REST endpoint to update YANG schema set using moduleSetTagsourabh_sourabh3-4/+4
- Added new schema to upgrade model into component. - Modified Ncmp rest input mapper to add upgradedCmHandles attributes. - Modified cm handle state mapper to add new lock reason. - Added new method to parse and upgrade Cm handles in DmiRegistration. - YANG data converter is modified to add "module-set-tag" atribute. - Cm handle new query method is added for cps path without appending ancestor. - Modified setCompositeStateForRetry to add lock reason. - New lock reason category is added. - Existing module sync service is modified to upgrade the model "syncAndCreateOrUpgradeSchemaSetAndAnchor". - Sync util method "getModuleSyncFailedCmHandles" to modified to add another lock reason "LOCKED_MISBEHAVING". - Added new attribute "UpgradedCmHandles" into DmiPluginRegistration and DmiPluginRegistrationResponse. - New attribute "moduleSetTag" is added into NcmpServiceCmHandle. - New model "UpgradedCmHandles" is added. - New method "updateSchemaSetWithExistingModules" is added into cps module service to update cm handle with exsting model. - Code coverage is reducced to 96 percentage that would be addressed and pushed into new patch. Issue-ID: CPS-1798 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I540acb404e38fc434de87a0d959bfde710a18b03 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-10-10Merge "JSON list support when updating multiple datanodes"Toine Siebelink2-27/+15