summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service
AgeCommit message (Collapse)AuthorFilesLines
2024-10-17Release cps3.5.4jenkins-releng1-1/+1
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
2024-08-21Merge "[BUG] Blank alternateId overwrites existing"Priyank Maheshwari3-11/+16
2024-08-21Merge "Revert "Remove trust level entries from cache when cm handles deleted""Daniel Hanrahan10-150/+73
2024-08-21Revert "Remove trust level entries from cache when cm handles deleted"Lee Anjella Macabuhay10-150/+73
This reverts commit 77b8e25e14e698c853334ef57459c21d7813911a. Reason for revert: Performance degredation Change-Id: Ibd88e626189d821680568c63952b95e7d1e05dc4 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2024-08-21[BUG] Blank alternateId overwrites existingdanielhanrahan3-11/+16
During CM-handle update, a blank "" alternateId will overwrite an already-set alternateId. Additionally during registration, if an alternateId consisting of whitespace is supplied, it will be persisted with whitespace. This fixes both issues by using isBlank/isNotBlank consistently. Issue-ID: CPS-2372 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I44e536cf87a31c6e975a82ed37769c1d2548653a
2024-08-21Merge "Faster alternate-id checks during registration (CPS-2366 #2)"Priyank Maheshwari5-24/+59
2024-08-21Merge "Refactoring alternate ID checker (CPS-2366 #1)"Priyank Maheshwari2-103/+49
2024-08-21Remove trust level entries from cache when cm handles deletedhalil.cakal10-73/+150
- handle removal of device trust levels from the cache when cm handles deleted - handle initial dmi registration inside trust level manager - add get effective trust level function to trust level manager for get and query cm handle APIs (to set trust level on the return object) Issue-ID: CPS-2315 Change-Id: I8daa4a2ad8310de10e35fdc50351deb85fd3ffd0 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Signed-off-by: halil.cakal <halil.cakal@est.tech>
2024-08-20Faster alternate-id checks during registration (CPS-2366 #2)danielhanrahan5-24/+59
This improves performance when using alternate ID in registration. Instead of one CPS path query for each alternate ID, it sends one query for the whole batch using OR operator, e.g. /dmi-registry/cm-handles[@alternate-id='A' or @alternate-id='B'] Issue-ID: CPS-2366 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I5b10437f4a01c886b3c84e46ac727e0e79917589
2024-08-20Refactoring alternate ID checker (CPS-2366 #1)danielhanrahan2-103/+49
Issue-ID: CPS-2366 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I07228a130ebdab0e2782e54255b5e8cc34c8d77e
2024-08-16Get data job result from DMIleventecsanyi5-0/+185
- added DataJobResult interface - extended the DmiRestClient to retrieve status - added mock response to DmiDispatcher Issue-ID: CPS-2296 Change-Id: I551afd827cccd91c5f9837bd4923b30320865d55 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2024-08-16Merge "Refactored Data Job interfaces"Priyank Maheshwari7-29/+33