summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service
AgeCommit message (Collapse)AuthorFilesLines
2024-11-05Support Alternate-Id for CPS-E05 data batch interfaceseanbeirne12-56/+130
Issue-ID: CPS-2274 Change-Id: I75163bc7943fca5cbbe8c24601a2dfc184a9e6cc Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-11-04Refactor module synch taskhalil.cakal1-26/+29
- improve readablity of ModuleSyncTasks Issue-ID: CPS-2474 Change-Id: Ib0342e8fad00b431a293c5095fe54f4917f7a51b Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-11-04[Module Sync] Always update states at end of batchdanielhanrahan1-5/+5
This commit moves the state update code into the 'finally' block, so that state updates are always sent for the handles that finished syncing, even if an exception occurred. This commit also fixes a typo in cmHandleStatePerCmHandle. Issue-ID: CPS-2474 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ic25608a5772c0873fe0d0f8aca8d70bcda51d94a
2024-11-01[Module Sync] Log state changes after persistencedanielhanrahan7-153/+151
Currently, module sync will output messages such as: "cm-handle-1 is now in READY state" before the state change is persisted to the DB. If an exception occurs, the new state may not be persisted, which makes debugging hard due to misleading log entries. This commit moves the logging to the LCM state handler immediately after the change is persisted. - Move logging of state changes to LcmEventsCmHandleStateHandler. - Remove unused code in LcmEventsCmHandleStateHandler. - Add tests of state change logging. - Update the main test showing the bug to instead show expected behaviour, but disable test for now using @Ignore. Issue-ID: CPS-2474 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I58646af6df95e07e69ca525744713a7c01c25e41
2024-10-29Merge "Fix failing CSIT and add unit test proving the bug"Toine Siebelink2-3/+24
2024-10-29Merge "Support Alternate-Id for CPS-E05 id-searches and searchCmHandleIds"Daniel Hanrahan13-136/+257
2024-10-25Support Alternate-Id for CPS-E05 id-searches and searchCmHandleIdsseanbeirne13-136/+257
Issue-ID: CPS-2402 Issue-ID: CPS-2383 Change-Id: I5dd3132b70b401bf2f50f77c2c131d5d34aa0c0a Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-10-25Fix failing CSIT and add unit test proving the bugdanielhanrahan2-3/+24
It was determined that one CSIT is intermittently failing due to a CM-handle being deleted while module sync is in progress, which causes the whole batch operation to fail. Even CM-handles that did sync will not go into READY state, despite the logs saying otherwise. This commit reproduces the issue in a unit test, and prevents the issue in the CSIT by changing test order. Also, errors during module sync tasks are reported at ERROR level. (The actual bug fix will be addressed in another patch.) Issue-ID: CPS-2474 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I7e0d617cbd48d8fd1fad036079fbd876ee21d8a8
2024-10-24Add multi-threaded Integration Test for Module SyncToineSiebelink7-48/+126
- Add tests for multi threaded scenarios around module sync - Disabled ModuleSyncWatchdog timer using long delay and interval - Call Module Sync method as needed for more control (sometimes it needs to be triggered twice like retry use cases as designed) - Improve NCMP performance test setup (consistent naming etc.) - Rename some production code method names to better reflect functionality - Disabled intermittent failing test for create cm handle as it is not asserting the correct message - Improved Code Coverage ModuleSyncWatchdog Issue-ID: CPS-2462 Change-Id: Ia907af77d2037309f1bbb73ea671679b788bab9e Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-10-24Refactor: Improve code quality and compliance with SonarQube standardssourabh_sourabh1-9/+7
- Consolidated multiple `if` statements to enhance readability and maintainability. - Replaced traditional `instanceof` checks followed by casting with the new pattern matching syntax for improved type safety and clarity. - Removed unnecessary casts and streamlined code in `addYangLeafList` and `addDataNodeFromNormalizedNode` methods. Issue-ID: CPS-1957 Change-Id: I46696dc184b6b3c3d0fe3a6bd12267a4e0d76193 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-10-18Update SpotBugs dependencydanielhanrahan2-6/+0
- update spotbugs to 4.8.6 - remove old findbugs dependency (spotbugs replaces findbugs) - remove an unused SupressFBWarnings Issue-ID: CPS-2458 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: If9d5571ae4293a2653a117a988414af2452647c0
2024-10-17Release Stage 7 for 3.5.4seanbeirne1-1/+1
Issue-ID: CPS-2457 Change-Id: Id9a267c587f16f3fb5edb558b33cd0003864ed93 Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-10-17Refactor and Optimize ModuleSyncWatchdog for Improved Lock Handling and ↵sourabh_sourabh5-37/+81
Queue Management - Enhanced logging for populateWorkQueueIfNeeded and resetPreviouslyLockedCmHandles methods, improving clarity and error handling. - Improved readability and maintainability of the locking mechanism with Hazelcast's FencedLock. - Optimized error handling in catch blocks, logging detailed exception messages and stack traces for better troubleshooting. - Refined lock acquisition and release flow, with clear log messages for both successful and failed lock operations, ensuring safe handling of Hazelcast distributed locks. Issue-ID: CPS-2403 Change-Id: Ie089f36a817d4965782235b51ee987ef054516b1 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-10-16Update documentation related to hazelcastmpriyank2-4/+4
- removed old entries of data structures which are removed now. - updated the documentation to correctly reflect our infrastructure startegy related to hazelcast. - fixed few NB comments on the merged patch. Issue-ID: CPS-2408 Change-Id: Id7ce4ac695ad94742490ac5d2be89cd23ffda3e5 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-10-10use one hazelcast instance per jvmmpriyank9-66/+73
- updated all the cache(distributed datastructures) to use the same instance config now. - there will be just one instance per JVM now - Better cleanup of hz instance in the testware - Refactored the testware to verify the configs - Expected Impact on lowering the memory usage, less number of TCP communications between members - NOTE: we need to do a full regression as the changes impacts all the use cases which involves cache Issue-ID: CPS-2408 Change-Id: I7564992a9990f44ef3defb4f50cb7d094cad7b92 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-10-08Merge "Policy Executor: handle errors, part 2 (fighting between IntelliJ and ↵Sourabh Sourabh5-57/+119
Checkstyle best practices)"
2024-10-04Bump CPS to 3.5.4-SNAPSHOTmpriyank1-1/+1
- bump cps to 3.5.4-SNAPSHOT - updated release notes Issue-ID: CPS-2434 Change-Id: I3d5e6f37711bb29b61b598cc5af57ecfdc35cbba Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-10-03Policy Executor: handle errors, part 2ToineSiebelink5-57/+119
(fighting between IntelliJ and Checkstyle best practices) - non-2xx responses are processed using web client exceptions - handle unknown host exception - upgraded spotbugs (checkstyle and related mvn plugin) - fixed some small spotbugs due to upgrade - added commented instructions in docker compose to enable debugging - added some environment variables for policy executor configuration - extract out Sleeper in stub service to achieve 100% coverage - added cause to Policy Executor exceptions where applicable - ignored (new) spotbug rule about catch NPE because of issue in 3pp - ignored (new) spotbug rule about \n in string due to multiline string block Issue-ID: CPS-2412 Change-Id: I6835a73320c436cbeea12cc7a06f15899eec7bf1 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-09-25BugFix: 500 Server error when upgrade and service restart with data in DBhalil.cakal2-1/+6
- return NONE for get effective trust level api if the trustlevel caches empty (restart case) Issue-ID: CPS-2409 Change-Id: I72a755ca6ba5d4a78f5458a235c0d1f43aaa8d53 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-09-25Policy Executor: handle errorsToineSiebelink6-37/+121
- configurable default answer - apply default answer upon non 2xx response - delayed default webclient read timeout - add custom timeout method with original read timeout in seconds - apply default answer upon timeout - add integration test with short timeout error scenario Issue-ID: CPS-2412 Change-Id: I62527a27e426c2f01fda2182ebd2513242c29ac1 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-09-24Remove Hazelcast cache for prefix resolver (CPS-2417 #2)danielhanrahan5-3/+183
This patch removes the AnchorDataCache from CPS, which is used for prefix resolution in get/query operations. As such, Hazelcast is no longer a dependency of CPS, only NCMP. - Changed PrefixResolver to be more efficient. - Removed AnchorDataCache and associated classes. - Moved HazelcastCacheConfig to NCMP. - Removed Hazelcast dependency from cps-service/pom.xml This shows good performance improvements in some APIs such as v2 GET which is nearly 2x faster (also 5x faster including base patch). Issue-ID: CPS-2417 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I24768469f24e90b70f7a6187faa4f5b3d75777d2
2024-09-24Revert "Correctly report trust level if DMI is down"danielhanrahan7-36/+64
This reverts commit https://gerrit.onap.org/r/c/cps/+/138853 Reason for revert: Commit caused performance issues in CM handle search Manual rebase was required to integrate changes for alternate-id support made since original commit was merged. Issue-ID: CPS-2375 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I5ef743ea053589fa17c10587317a3534c2714c4b
2024-09-19Retry mechanism (with back off algorithm) is removed with more frequent ↵sourabh_sourabh5-185/+104
watchdog poll - Increased watchdog frequency for locked cm handle. - Removed retry backoff algorithm for locked cm handle. Issue-ID: CPS-2395 Change-Id: I54d0ec8f9de53a7d181639c14aaaa93736f03e19 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-09-18Merge "Refactored cps-ri package structure"Sourabh Sourabh5-5/+5
2024-09-17Refactored cps-ri package structureleventecsanyi5-5/+5
- fixed import order and moved package structure Issue-ID: CPS-2293 Change-Id: Ie2f9f057f261577054530feee7480850ba4b41e1 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2024-09-17Merge "Policy Executor API: Add Prefix in Yaml"Sourabh Sourabh1-4/+4
2024-09-17Policy Executor API: Add Prefix in YamlToineSiebelink1-4/+4
- Remove servers from yaml. - Add prefix to path in yaml. - Remove basepath prefix from Controller Impl. - Added policy server port to 8093. - Exposed docker env. vars for policy services. Issue-ID: CPS-2291 Change-Id: Idcc9e23f9d63bad2480537dc8d39523fe82b4b83 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-09-13Fix violation reported by sonarqubehalil.cakal2-2/+1
Issue-ID: CPS-89 Change-Id: Ia6e3bb26ffb433f3610f53f408fad12489f2e3b3 Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-09-05NCMP should not use CPS SPI classesdanielhanrahan6-52/+52
CpsDataPersistenceService is an internal interface of CPS, part of the SPI, intended only to be used by CPS. Instead, NCMP should use the public API of CPS, i.e. CpsDataService and CpsQueryService. This is an architectural issue, but it will affect upcoming changes, where changes to the SPI implementation should not affect public API. Issue-ID: CPS-2398 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I89339e1a3566a25e33168c24c8b8401ca52224e9
2024-09-04[Cps Path Parser] Move NCMP-specific logic to NCMPdanielhanrahan2-4/+22
Some special case code to disable ancestor-axis was added for CM-handle search (see CPS-2308). It is now relocated to NCMP. This makes other needed improvements of Cps Path Parser easier. - Move special case code into NCMP - Add integration test to ensure CM-handle search works Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I168d6156be559166f115aa42e21cd987d98b7d41
2024-09-04Merge "Support alternate id for CPS-E05 GetCmHandleDetailsById"Daniel Hanrahan2-8/+14
2024-09-04Merge "Support Alternate-id for CPS-E05 module search"Daniel Hanrahan2-7/+13
2024-09-04Merge "Remove event notifications when removing trust level entries"Priyank Maheshwari2-22/+5
2024-09-04Support Alternate-id for CPS-E05 module searchseanbeirne2-7/+13
Issue-ID: CPS-2370 Change-Id: I0ca3a1df232ad9fd9f76695cd6ea21d36919130d Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-09-04Merge "Support Alternate-id for CPS-E05 module definition"Priyank Maheshwari2-13/+27
2024-09-03Support alternate id for CPS-E05 GetCmHandleDetailsByIdmpriyank2-8/+14
- added support for alternate id when retreiving cmhandle details by id - Note : The performance for alternate id fetching will be taken care as part of a separate story. Issue-ID: CPS-2385 Change-Id: I019b85d128e4b0a1f1d61623c92e1a2381c406c0 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-09-02Remove event notifications when removing trust level entrieshalil.cakal2-22/+5
Issue-ID: CPS-2315 Change-Id: I4f0cb7c2066e0ab9c62ac9cdb0fc39ce7de7791b Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-09-02Support Alternate-id for CPS-E05 module definitionseanbeirne2-13/+27
Issue-ID: CPS-2379 Change-Id: Idd180c5792575522ceaaa094b94c8f5b36790186 Signed-off-by: seanbeirne <sean.beirne@est.tech>
2024-09-02Policy Executor: pass Change request as Objectsourabh_sourabh3-14/+35
- Added unit test for new exception handling Issue-ID: CPS-2335 Change-Id: I5517c91edf505932d0a94165c19420922b3f5f51 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-08-30Support alternate id interface for CPS-E-05 - publicPropertiesmpriyank2-8/+17
- added alternate id support for the existing endpoint - Incorporated previous comments on the indendation - Added new component cmHandleReferenceInPath in openapi docs to depict the correct example Issue-ID: CPS-2378 Change-Id: I63e752fbb6cb0bde49d1ced53f063743d904d74e Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-08-29Correctly report trust level if DMI is downdanielhanrahan7-64/+35
Current trust level should factor in both CM-handle and DMI trust levels (effective trust level). Issue-ID: CPS-2375 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ib531633a0e79af2bf9cf73d2b0b02d7a58777458
2024-08-29Merge "Invoke Policy Executor and handle not-allowed response"Sourabh Sourabh10-48/+342
2024-08-29Invoke Policy Executor and handle not-allowed responseToineSiebelink10-48/+342
- Execute Policy Executor REST request - Act (and log) on response from Policy Executor - Add dispatcher(mock) in integration test FWK - Add integration test for allow/non allowed and no authorization use cases - disabled PolicyExecution feature by default (only enabled for testware) Issue-ID: CPS-2247 Change-Id: I111ba9ba89cc91649b63b20f88414aa33721dbeb Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-08-27Support for alternate-id for CPS-E-05 i/fmpriyank5-5/+15
- Added support for alternateId for CREATE , UPDATE, DELETE and PATCH operation for CPS-E05 passthrough running datastores Issue-ID: CPS-2362 Change-Id: Ie4db1d84dba795e9650949cab3374e0b2570beba Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-08-27Support for alternate-id CPS-E05 composite statempriyank2-8/+21
- Added support for alternate id for the composite state API for CPS-E05#15 Issue-ID: CPS-2377 Change-Id: I1af41efb8cec762be68250cae7c1e98fbc61a4f5 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2024-08-27Merge "Remove trust level from cache when cm handles deleted"Daniel Hanrahan10-78/+154
2024-08-26Policy Executor, refactor(move) common http classesToineSiebelink19-54/+54
Issue-ID: CPS-2343 Change-Id: Ia9655364462826a794a2af78214311cb38c40de9 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-08-26Policy Executor and DMI WebClient configurationsToineSiebelink16-178/+430
- separated dmi and policy executor http client configuration Issue-ID: CPS-2324 Change-Id: Ib4e757da188673e163abe6078dfd6ddae447eaab Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2024-08-26Remove trust level from cache when cm handles deletedhalil.cakal10-78/+154
- handle removal of device trust levels from the cache when cm handles deleted - handle initial dmi registration inside trust level manager Issue-ID: CPS-2315 Change-Id: I605ed78f164d7534069de8352dc3b0a81a4ce22c Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-08-21Bump CPS to 3.5.3-SNAPSHOTdanielhanrahan1-1/+1
- bump CPS to 3.5.3-SNAPSHOT - updated the release notes and prepared for the next release Issue-ID: CPS-2374 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I60ea5f5864f5818d1ed5078e375cf07b8d713dde