cps.git
2 months agoFix release notes: only mention end user features 53/140653/3
ToineSiebelink [Thu, 3 Apr 2025 17:23:10 +0000 (18:23 +0100)]
Fix release notes: only mention end user features

Issue-ID: CPS-2169

Change-Id: I5c1572d687fa7b4b0de0f57a318b63988b508121
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
2 months agoMerge "Refactor Cps Delta code from CpsDataService to CpsDeltaService"
Priyank Maheshwari [Mon, 7 Apr 2025 10:23:28 +0000 (10:23 +0000)]
Merge "Refactor Cps Delta code from CpsDataService to CpsDeltaService"

2 months agoMerge "Refactor Consumers/Producers based on agreed format #2"
Priyank Maheshwari [Mon, 7 Apr 2025 09:45:24 +0000 (09:45 +0000)]
Merge "Refactor Consumers/Producers based on agreed format #2"

2 months agoRefactor Consumers/Producers based on agreed format #2 07/140607/3
emaclee [Thu, 27 Mar 2025 12:40:26 +0000 (12:40 +0000)]
Refactor Consumers/Producers based on agreed format #2

- 'EventsPublisher' to 'EventsProducer'
- terms 'publish' is replaced with 'send' to follow kafka
  methods
- LcmEventsProducer is not fully changed as it may affect
  metrics; will handle on seperate patch

Issue-ID: CPS-2597
Change-Id: I310fc60fd0ff85eb83f2f3c6f9b54c569b3ff902
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
2 months agoUpdate Springboot to eliminate transitive vulnerabilities 33/140633/2
egernug [Tue, 1 Apr 2025 09:12:57 +0000 (10:12 +0100)]
Update Springboot to eliminate transitive vulnerabilities

Issue-ID: CPS-2725

Change-Id: Iafa07af4d95bc2f396385c607dde63f2d3eab8c8
Signed-off-by: egernug <gerard.nugent@est.tech>
2 months agoMerge "Set initial delay in ModuleSyncWatchdog and DataSyncWatchdog"
Sourabh Sourabh [Thu, 3 Apr 2025 17:01:51 +0000 (17:01 +0000)]
Merge "Set initial delay in ModuleSyncWatchdog and DataSyncWatchdog"

2 months agoMerge "Use alternate IDs for Legacy Batch Read operation"
Daniel Hanrahan [Thu, 3 Apr 2025 12:09:05 +0000 (12:09 +0000)]
Merge "Use alternate IDs for Legacy Batch Read operation"

2 months agoSet initial delay in ModuleSyncWatchdog and DataSyncWatchdog 10/140610/11
leventecsanyi [Thu, 27 Mar 2025 15:26:31 +0000 (16:26 +0100)]
Set initial delay in ModuleSyncWatchdog and DataSyncWatchdog

  - added initial delay values to yml files
  - modified the RTD

Issue-ID: CPS-2731
Change-Id: I3dc8fd9ee44428c91c7f73e9e6a351ea61c0653c
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2 months agoUse alternate IDs for Legacy Batch Read operation 44/140644/2
halil.cakal [Wed, 2 Apr 2025 09:49:07 +0000 (10:49 +0100)]
Use alternate IDs for Legacy Batch Read operation

- generate a random set of alternate ids out of 50K
- each alternate id is unique in the batches
- this is for both kpi and endurance pipelines

Issue-ID: CPS-2417

Change-Id: Id848593d472fa1df677ded301948e526e193aa5a
Signed-off-by: halil.cakal <halil.cakal@est.tech>
2 months agoRefactor Cps Delta code from CpsDataService to CpsDeltaService 43/140343/22
Arpit Singh [Wed, 12 Mar 2025 07:03:35 +0000 (12:33 +0530)]
Refactor Cps Delta code from CpsDataService to CpsDeltaService

- added new open api yaml file defining CPS delta endpoints
- Added new REST controller for CPS Delta
- Moved CPS Delta endpoints to new java interface, out from CPS Data
- Added integration tests for CPS Delta
- CPS Delta rest controller and java interface have the two delta
  endpoints: Delta between anchors and Delta between anchor and payload.

Issue-ID: CPS-2320
Change-Id: I556e70623a8c18f8cde3cd28bac890296019c0e2
Signed-off-by: Arpit Singh <AS00745003@techmahindra.com>
2 months agoAdd 'unpublished' REST interface for DataJobs Write to allow K6 testing 04/140604/8
sourabh_sourabh [Thu, 27 Mar 2025 10:15:46 +0000 (10:15 +0000)]
Add 'unpublished' REST interface for DataJobs Write to allow K6 testing

- Created a new hidden REST endpoint to use write job for internal
  testing like KPI and endurence.

Issue-ID: CPS-2718
Change-Id: I1c4c7bc145dd522d344bd98ea04f05068b3e43eb
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2 months agoMerge "Move SDNC and PNFSim into docker-compose for CSITs"
Priyank Maheshwari [Wed, 2 Apr 2025 12:23:00 +0000 (12:23 +0000)]
Merge "Move SDNC and PNFSim into docker-compose for CSITs"

2 months agoPerformance fix for Module search outputting Alternate IDs 40/140640/3
danielhanrahan [Tue, 1 Apr 2025 15:04:39 +0000 (16:04 +0100)]
Performance fix for Module search outputting Alternate IDs

Use OMIT_DESCENDANTS instead of INCLUDE_ALL_DESCENDANTS.

Issue-ID: CPS-2738
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: If0ee84baa297137f7275e611905e4183a16c7ee1

2 months agoMerge "Added logging around write job operation to verify request and response detail...
Toine Siebelink [Wed, 2 Apr 2025 08:33:43 +0000 (08:33 +0000)]
Merge "Added logging around write job operation to verify request and response details, with a focus on the number of jobs involved"

2 months agoMerge "Fix for Trust Level search with alternate ID output"
Toine Siebelink [Wed, 2 Apr 2025 07:42:35 +0000 (07:42 +0000)]
Merge "Fix for Trust Level search with alternate ID output"

2 months agoFix for Trust Level search with alternate ID output 41/140641/1
danielhanrahan [Tue, 1 Apr 2025 14:18:48 +0000 (15:18 +0100)]
Fix for Trust Level search with alternate ID output

Currently the requests are timing out, over 60 seconds.
This commit restores the older implementation not using
attribute-axis, so that when the DataNodes are fetched,
we can get both the Cm Handle ID and Alternate ID.

Issue-ID: CPS-2738
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I2072eb5cae2fd04d8217be48c261e219c948a339

2 months agoAdded logging around write job operation to verify request and response details,... 24/140624/8
sourabh_sourabh [Sat, 29 Mar 2025 15:26:06 +0000 (15:26 +0000)]
Added logging around write job operation to verify request and response details, with a focus on the number of jobs involved

Issue-ID: CPS-2735
Change-Id: I8dd6260556b4949bda5695d22f3f862c0786e385
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2 months agoMerge "Update release notes for Flux improvement"
Priyank Maheshwari [Tue, 1 Apr 2025 14:15:07 +0000 (14:15 +0000)]
Merge "Update release notes for Flux improvement"

2 months agoUpdate batch id searches to return alternate ids 12/140612/3
halil.cakal [Thu, 27 Mar 2025 11:13:03 +0000 (11:13 +0000)]
Update batch id searches to return alternate ids

- keep the query parameter (?outputAlternateId=true) common for id-searches and searches
  since it does not have any negative impact for the searches when provided this way the code
  is more simple and readable
- function names kept the same to comply with the response messages
- the plot names kept the same to maintain the history in local storage of kpi plot job

Issue-ID: CPS-2715

Change-Id: I8146e7ecb04ddd4b907fae94e91fd78bd535b58c
Signed-off-by: halil.cakal <halil.cakal@est.tech>
2 months agoUpdate release notes for Flux improvement 23/140623/1
danielhanrahan [Fri, 28 Mar 2025 18:52:38 +0000 (18:52 +0000)]
Update release notes for Flux improvement

Issue-ID: CPS-2712
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I0b78b6a1c37b0b5b06b0e3894d717ab2f64eabe4

2 months agoMove SDNC and PNFSim into docker-compose for CSITs 02/140402/3
danielhanrahan [Tue, 11 Feb 2025 18:34:57 +0000 (18:34 +0000)]
Move SDNC and PNFSim into docker-compose for CSITs

To improve reliability of healthchecks in CSITs, they are implemented
in docker-compose. This commit moves SDNC and dependencies into main
docker-compose and adds healthchecks to them. This improves the CSIT
in that tests will quickly fail if SDNC or PNFsim containers fail to
start (currently tests run anyway even if containers are not ready).

- Move SDNC, MariaDB and PNFSim containers to main docker-compose
- Add healthchecks and timeouts for those containers
- Move node mounting script as a sidecar container so it is protected
  by healthchecks

Issue-ID: CPS-2632
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ib53522c2f756d3ce2c6d6b7472cb4c65359fe355

3 months agoMerge "Efficient implementation of Attribute Axis in SQL"
Lee Anjella Macabuhay [Thu, 27 Mar 2025 10:56:13 +0000 (10:56 +0000)]
Merge "Efficient implementation of Attribute Axis in SQL"

3 months agoMerge "Fix NullPointerException for cm handle state metrics"
Toine Siebelink [Thu, 27 Mar 2025 10:14:21 +0000 (10:14 +0000)]
Merge "Fix NullPointerException for cm handle state metrics"

3 months agoMerge "Refactor Consumers/Producers based on agreed format"
Priyank Maheshwari [Thu, 27 Mar 2025 10:14:12 +0000 (10:14 +0000)]
Merge "Refactor Consumers/Producers based on agreed format"

3 months agoEfficient implementation of Attribute Axis in SQL 99/140599/3
danielhanrahan [Mon, 2 Sep 2024 17:59:41 +0000 (18:59 +0100)]
Efficient implementation of Attribute Axis in SQL

Attribute Axis is the feature which allows fetching only a single
attribute, e.g. //books[@title='Matilda']/@price -> [15]
This implements the attribute axis feature directly in SQL, giving
much higher performance e.g. for CM-handle ID searches in NCMP.
The native SQL implementation directly returns data leaves from DB,
not requiring conversions to FragmentEntity, DataNode, etc.

Issue-ID: CPS-2623
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I54f517e47ca6bcddfae356f98857b05fd2e1229e

3 months agoMerge "Use Flux stream processing for CM-handle searches"
Toine Siebelink [Thu, 27 Mar 2025 08:36:32 +0000 (08:36 +0000)]
Merge "Use Flux stream processing for CM-handle searches"

3 months agoAdd CloudEventBuilder to SpringBootTest 00/140600/1
egernug [Wed, 26 Mar 2025 16:00:47 +0000 (16:00 +0000)]
Add CloudEventBuilder to SpringBootTest

There are test failures on:
DmiInEventProducerSpec
NcmpOutEventProducerSpec
stemming from CloudEventBuilder being missing from the SpringBootTest. Adding this to clear issues.

Issue-ID: CPS-2727

Change-Id: I5e838741d7fc54bc91c5d91497085da68ab391d4
Signed-off-by: egernug <gerard.nugent@est.tech>
3 months agoFix NullPointerException for cm handle state metrics 53/140553/2
halil.cakal [Fri, 21 Mar 2025 11:09:58 +0000 (11:09 +0000)]
Fix NullPointerException for cm handle state metrics

- ensure the certain beans are created in a specific order:
1-AdminCacheConfig
2-CmHandleStateMonitor
3-CmHandleStateConfig
- extract cm handle state config from MicroMeterRegistry to allow
  control order of bean initialization to prevent NullPointerException
- introduce @DependsOn annotation

Issue-ID: CPS-2677

Change-Id: I8dfec54cc7e603bded6a24e7362437042b222fd3
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoMerge "Remove private properties from DMI write operations"
Toine Siebelink [Wed, 26 Mar 2025 14:10:36 +0000 (14:10 +0000)]
Merge "Remove private properties from DMI write operations"

3 months agoMerge "Use attribute-axis in NCMP [#4]"
Daniel Hanrahan [Wed, 26 Mar 2025 13:19:17 +0000 (13:19 +0000)]
Merge "Use attribute-axis in NCMP [#4]"

3 months agoUse Flux stream processing for CM-handle searches 93/140593/3
danielhanrahan [Sun, 9 Feb 2025 21:53:34 +0000 (21:53 +0000)]
Use Flux stream processing for CM-handle searches

This greatly reduces memory consumption to fetch CM-handles in NCMP
by fetching in batches in a Flux. Full CM-handle search operations
now consume much less memory than before. The lower memory usage and
database pressure improves overall performance.

Issue-ID: CPS-2712
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7f653fadeadbf9612e0847f9451654b01a1a5604

3 months agoUse attribute-axis in NCMP [#4] 92/140592/2
emaclee [Mon, 24 Mar 2025 17:29:03 +0000 (17:29 +0000)]
Use attribute-axis in NCMP [#4]

- introduce getCmHandleReferencesByCpsPath for queries by cps
  path in replacement for use of
  'queryCmHandleAncestorsByCpsPath'

Issue-ID: CPS-2666
Change-Id: I38b76e1f255ad1751b13f6a22dbcf540fed764bd
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
3 months agoRefactor Consumers/Producers based on agreed format 50/140550/3
emaclee [Sun, 23 Mar 2025 18:53:04 +0000 (18:53 +0000)]
Refactor Consumers/Producers based on agreed format

- agreed: consumer over producer
- agreed: 'Consumer' is named based on what it consumes
- agreed: no 'Publisher' in names, use producer instead
- AsyncRestRequestResponseEventConsumer to DmiAsyncRequestResponseEventConsumer
- LcmEventsService to LcmEventsProducer
- CmAvcEventPublisher to InventoryEventProducer
- CpsDataUpdateEventsService to CpsDataUpdateEventsProducer
- see https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16514237/CPS+Data+Notifications+Overview?force_transition=43836314-5d80-4b83-b9f4-7880332d79a4 for more info

Issue-ID: CPS-2597
Change-Id: Iaafb435fcf985372d4858bcbbcd98901ac778b52
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
3 months agoRemove private properties from DMI write operations 62/140562/1
sourabh_sourabh [Mon, 24 Mar 2025 13:40:44 +0000 (13:40 +0000)]
Remove private properties from DMI write operations

Issue-ID: CPS-2693
Change-Id: Ibef6a3bed095bc668d07324bf7cf011fdb01da09
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoOptimize SQL for fetching descendant fragments 60/140560/1
danielhanrahan [Sun, 9 Feb 2025 21:53:34 +0000 (21:53 +0000)]
Optimize SQL for fetching descendant fragments

This removes the INNER JOIN from the SQL query, giving
better performance when fetching smaller batches.

Issue-ID: CPS-2712
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I40ec9b7b54c285cc29fd8188c23eb00b4442c75f

3 months agok6 script to do CM-handle registration only 22/140522/3
danielhanrahan [Wed, 19 Mar 2025 14:47:05 +0000 (14:47 +0000)]
k6 script to do CM-handle registration only

This script is intended to be used for populating the database with
CM-handles, which is needed when doing SQL performance analysis.

Issue-ID: CPS-2651
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ie644f5f4c86d91a95134b7c67ed96e0650464e0c

3 months agoMerge "Add initial Liquibase database tag for rollback support"
Daniel Hanrahan [Fri, 21 Mar 2025 13:37:23 +0000 (13:37 +0000)]
Merge "Add initial Liquibase database tag for rollback support"

3 months agoMerge "Implemented parallel execution for writeDataJob using ExecutorService with...
Daniel Hanrahan [Fri, 21 Mar 2025 13:36:47 +0000 (13:36 +0000)]
Merge "Implemented parallel execution for writeDataJob using ExecutorService with 10 concurrent threads"

3 months agoMerge "Use attribute-axis in NCMP [#3]"
Daniel Hanrahan [Fri, 21 Mar 2025 13:33:32 +0000 (13:33 +0000)]
Merge "Use attribute-axis in NCMP [#3]"

3 months agoImplemented parallel execution for writeDataJob using ExecutorService with 10 concurr... 94/140494/4
sourabh_sourabh [Tue, 18 Mar 2025 15:09:45 +0000 (15:09 +0000)]
Implemented parallel execution for writeDataJob using ExecutorService with 10 concurrent threads

Issue-ID: CPS-2692
Change-Id: I497e2e626e60b08c6cf28ffa94884808d68a1dd9
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoAdd initial Liquibase database tag for rollback support 37/140537/2
sourabh_sourabh [Thu, 20 Mar 2025 13:19:11 +0000 (13:19 +0000)]
Add initial Liquibase database tag for rollback support

- Introduced an initial Liquibase database tag (24-initial database tag) to support future rollbacks.
- Updated the Liquibase changelog to include a tagDatabase changeSet.
- Ensures that rollback workflows can reference a stable database state.
- No impact on existing functionality.

Issue-ID: CPS-2669
Change-Id: I4f932bb0f90505cf95ddf74d2e57d7b4ea8fba79
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoUse attribute-axis in NCMP [#3] 26/140526/2
emaclee [Thu, 20 Mar 2025 00:07:40 +0000 (00:07 +0000)]
Use attribute-axis in NCMP [#3]

- uses queryleaf API on the methods 'getCmHandleReferences'

Issue-ID: CPS-2664
Change-Id: I7552b4cdfcfa5eb285b94c1dcebfa5ba8327508c
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
3 months agoMerge "Introducing VES event standard schema"
Toine Siebelink [Thu, 20 Mar 2025 11:06:53 +0000 (11:06 +0000)]
Merge "Introducing VES event standard schema"

3 months agoMerge "Enhance batch operation performance with AlternateIdMatcher"
Toine Siebelink [Wed, 19 Mar 2025 18:48:34 +0000 (18:48 +0000)]
Merge "Enhance batch operation performance with AlternateIdMatcher"

3 months agoEnhance batch operation performance with AlternateIdMatcher 23/140523/4
leventecsanyi [Wed, 19 Mar 2025 11:09:12 +0000 (12:09 +0100)]
Enhance batch operation performance with AlternateIdMatcher

  - used more efficient methos in AlternateIdMatcher to get cmHandleIds
  - removed getYangModelCmHandlesFromCmHandleReferences from InventoryPersistence class (unused + bad performance)

Issue-ID: CPS-2607
Change-Id: Ia1970435aec57cd12713958a910a9ced4511440b
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
3 months agoIntroducing VES event standard schema 24/140524/2
mpriyank [Wed, 19 Mar 2025 15:52:39 +0000 (15:52 +0000)]
Introducing VES event standard schema

- ves event schema definition file
- modified schema to generate the pojo classes as per NCMP standard
- reference : https://docs.onap.org/projects/onap-vnfrqts-requirements/en/latest/Chapter8/ves_7_2/ves_event_listener_7_2.html#

Issue-ID: CPS-2710
Change-Id: I332e3f3756bbd79b4acc3d5d338e9ae44ed4330e
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
3 months agoMerge "Use only alternate id for passthrough read and write tests in k6 #2"
Daniel Hanrahan [Wed, 19 Mar 2025 13:21:52 +0000 (13:21 +0000)]
Merge "Use only alternate id for passthrough read and write tests in k6 #2"

3 months agoUse only alternate id for passthrough read and write tests in k6 #2 83/140483/3
halil.cakal [Thu, 13 Mar 2025 10:29:55 +0000 (10:29 +0000)]
Use only alternate id for passthrough read and write tests in k6 #2

- remove cm handle based passthrough read and write tests in k6
- increase passthrough read and write frequencies to match FS
  requirement for 200K

Issue-ID: CPS-2625

Change-Id: I9099163ea7e65d8cb8bc0226954bc9535ec6eb57
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoUpdate release notes for attribute axis 88/140488/1
danielhanrahan [Fri, 14 Mar 2025 15:08:08 +0000 (15:08 +0000)]
Update release notes for attribute axis

Issue-ID: CPS-2624
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I669c0af944e1e6ae87e756670f8e6976ee9a925e

3 months agoMerge "Add attribute-axis to CPS query nodes rest API"
Priyank Maheshwari [Fri, 14 Mar 2025 14:14:03 +0000 (14:14 +0000)]
Merge "Add attribute-axis to CPS query nodes rest API"

3 months agoMinor refactor of query parameters in FragmentQueryBuilder 79/140479/1
danielhanrahan [Thu, 13 Mar 2025 17:51:05 +0000 (17:51 +0000)]
Minor refactor of query parameters in FragmentQueryBuilder

Issue-ID: CPS-2623
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ib0f39dd0aeb5f8f52b856ff7aede635f3061927e

3 months agoMerge "Optimize Hazelcast usage in Trust Level Search"
Priyank Maheshwari [Thu, 13 Mar 2025 17:30:06 +0000 (17:30 +0000)]
Merge "Optimize Hazelcast usage in Trust Level Search"

3 months agoMerge "Add documentation for attribute-axis"
Priyank Maheshwari [Thu, 13 Mar 2025 17:07:24 +0000 (17:07 +0000)]
Merge "Add documentation for attribute-axis"

3 months agoAdd documentation for attribute-axis 77/140477/2
danielhanrahan [Thu, 13 Mar 2025 14:40:57 +0000 (14:40 +0000)]
Add documentation for attribute-axis

Issue-ID: CPS-2624
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iafa145d1fefbd26adc8786e4001d90883acf1463

3 months agoAdd attribute-axis to CPS query nodes rest API 89/140189/3
danielhanrahan [Thu, 13 Mar 2025 13:33:27 +0000 (13:33 +0000)]
Add attribute-axis to CPS query nodes rest API

Support attribute-axis in query nodes api for both JSON and XML:
  /cps/v2/dataspaces/{dataspace}/anchors/{anchor}/nodes/query

It allows such queries as:
  //books/@title
which returns a JSON response like: [{"title":"Matilda"},{"title":"Dune"}]
and an XML response like: <title>Matilda</title><title>Dune</title>

Issue-ID: CPS-2620
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iab51fbe76281740b8dbde373e11864d3509696ef

3 months agoBatch fetch all CM-handles for faster data job 55/140455/2
sourabh_sourabh [Wed, 12 Mar 2025 15:45:52 +0000 (15:45 +0000)]
Batch fetch all CM-handles for faster data job

This optimizes the write data job for the use-case where
most there will be many write operations affecting many CM-handles.
It works by fetching ALL CM-handles into memory.

Issue-ID: CPS-2692
Change-Id: I3a51a9f799ff7521a2a3736440482538de6aa204
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoMove CPS REST business logic to CPS-Service Layer 19/140419/7
ToineSiebelink [Mon, 10 Mar 2025 16:46:22 +0000 (16:46 +0000)]
Move CPS REST business logic to CPS-Service Layer
(scope limited to methods using PrefixResolver)

- Introduced CPSFacade (for methods invoking multiple CPS Services related to Prefix insertion)
- Introduced DataMapper to combine PrefixResolver & DataMapUtils
- Moved includeDecendants boolean to Enum conversion to Enum class
- Removed redundant tests from DataRestControllerSpec
- Removed redundant tests from QueryRestControllerSpec
- Cleaned up some legacy testware (adding assert etc)

Issue-ID: CPS-2428
Change-Id: Ib3b4dae941ada441be0dc76aaa5cd14e48685cf7
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 months agoMerge "Add prometheus metrics for searches and id-searches"
Toine Siebelink [Thu, 13 Mar 2025 09:58:17 +0000 (09:58 +0000)]
Merge "Add prometheus metrics for searches and id-searches"

3 months agoAdd prometheus metrics for searches and id-searches 07/140407/7
mpriyank [Mon, 24 Feb 2025 15:23:09 +0000 (15:23 +0000)]
Add prometheus metrics for searches and id-searches

- Added counter to record the number of invocations for id-searches and
  searches endpoint for cm handle ids
- introducing a cps-interface tag to differentiate between inventory
  id-search and traditional id-search endpoints
- used AOP to have minimal code in the controller layers

Issue-ID: CPS-2611
Change-Id: Ib7db2a25f5f71d11872b779a23d38c1f7931410f
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
3 months agoOptimize Hazelcast usage in Trust Level Search 21/140421/2
seanbeirne [Fri, 7 Mar 2025 16:18:12 +0000 (16:18 +0000)]
Optimize Hazelcast usage in Trust Level Search

Issue-ID: CPS-2674
Change-Id: I1f2fa5dce82eefbc99906bc468c6541f0d35851b
Signed-off-by: seanbeirne <sean.beirne@est.tech>
3 months agoMerge "Allow limiting results in queryDataLeaf"
Toine Siebelink [Wed, 12 Mar 2025 17:21:28 +0000 (17:21 +0000)]
Merge "Allow limiting results in queryDataLeaf"

3 months agoMerge "Groovy performance test for attribute-axis"
Toine Siebelink [Wed, 12 Mar 2025 16:59:35 +0000 (16:59 +0000)]
Merge "Groovy performance test for attribute-axis"

3 months agoAdded performance test of DCM Write Operation 38/140438/1
sourabh_sourabh [Wed, 12 Mar 2025 13:13:35 +0000 (13:13 +0000)]
Added performance test of DCM Write Operation

- Improved maintainability by making alternateId generation customizable via function parameters
- Extracted common logic into registerSequenceOfCmHandles to eliminate duplication.

Issue-ID: CPS-2691
Change-Id: I3b7788115a74a89a87b5cddc93f4c5861e9ccd93
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoMerge "Increase healthcheck retries for cps-and-ncmp"
Daniel Hanrahan [Wed, 12 Mar 2025 11:31:00 +0000 (11:31 +0000)]
Merge "Increase healthcheck retries for cps-and-ncmp"

3 months agoMerge "Set a permanent directory for the container logs"
Daniel Hanrahan [Wed, 12 Mar 2025 11:27:47 +0000 (11:27 +0000)]
Merge "Set a permanent directory for the container logs"

3 months agoMerge "Refactor buildDataNodes to a separate service"
Priyank Maheshwari [Wed, 12 Mar 2025 09:22:22 +0000 (09:22 +0000)]
Merge "Refactor buildDataNodes to a separate service"

3 months agoRefactor buildDataNodes to a separate service 75/139275/23
Arpit Singh [Thu, 7 Nov 2024 10:03:39 +0000 (15:33 +0530)]
Refactor buildDataNodes to a separate service

- Moved the code for buildDataNodes from CpsDataServiceImpl.java to a
  separate service named DataNodeBuilderService.java
- Renamed the methods to be clear and in-line with their intended use in
  DataNodeBuilderService class
- Moved ROOT_NODE_XPATH and NO_PARENT_PATH to CpsPathUtils

Issue-ID: CPS-2487
Change-Id: I46cf843ab79b1e2547d968fbd30528270b95cc16
Signed-off-by: Arpit Singh <AS00745003@techmahindra.com>
3 months agoSet a permanent directory for the container logs 27/140427/1
halil.cakal [Tue, 11 Mar 2025 14:23:33 +0000 (14:23 +0000)]
Set a permanent directory for the container logs

- Currently the container logs (cps-and-ncmp) being stored in the cps
  repository (in k6-tests/logs directory). In every build, cps code base
  being fetched freshly. Thus, the zipped container logs being lost.
- Now, by using the WORKSPACE variable set by Jenkins job, the logs will
  be stored under the root directory of WORKSPACE permanently.

Issue-ID: CPS-2676

Change-Id: I0f7f9a46b94fc3e438de39bbab04f9a59daf446b
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoIncrease healthcheck retries for cps-and-ncmp 11/140411/3
halil.cakal [Mon, 10 Mar 2025 11:11:29 +0000 (11:11 +0000)]
Increase healthcheck retries for cps-and-ncmp

- increase the healthcheck retries from 3 to 10

Issue-ID: CPS-2679

Change-Id: Idd541fd88eb804d552659c32f6c6c92a0919c405
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoMerge "Refactor CM Handle Properties to be more realistic into K6 tests"
Toine Siebelink [Tue, 11 Mar 2025 10:07:37 +0000 (10:07 +0000)]
Merge "Refactor CM Handle Properties to be more realistic into K6 tests"

3 months agoMerge "Zip and store logs for containers"
Toine Siebelink [Tue, 11 Mar 2025 10:05:36 +0000 (10:05 +0000)]
Merge "Zip and store logs for containers"

3 months agoAllow limiting results in queryDataLeaf 01/140401/2
danielhanrahan [Wed, 5 Mar 2025 17:28:07 +0000 (17:28 +0000)]
Allow limiting results in queryDataLeaf

This exposes queryResultLimit parameter in queryDataLeaf,
same as was implemented for queryDataNodes API.

Issue-ID: CPS-2680
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ieb922ac1acc91dbfd67fb5ade7856213a2f93ce8

3 months agoGroovy performance test for attribute-axis 05/140405/2
danielhanrahan [Fri, 7 Mar 2025 16:57:52 +0000 (16:57 +0000)]
Groovy performance test for attribute-axis

This adds a groovy performance for attribute-axis feature
(queryDataLeaf API).

Issue-ID: CPS-2635
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ib7fe324897a3a829cac3ced3446b4d007dc2bee4

3 months agoMerge "Added query limits to NCMP service methods"
Toine Siebelink [Mon, 10 Mar 2025 16:43:00 +0000 (16:43 +0000)]
Merge "Added query limits to NCMP service methods"

3 months agoZip and store logs for containers 04/140404/2
halil.cakal [Fri, 7 Mar 2025 15:01:02 +0000 (15:01 +0000)]
Zip and store logs for containers

- keep console logs printed for k6 results
- zip and store container logs into jenkins' workspace so that it will
  be downloadable whenever needed

Issue-ID: CPS-2676

Change-Id: If2864c0c372d0b7319bba06a3732b49b53c371a4
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoMerge "Optimize registration parameters"
Toine Siebelink [Mon, 10 Mar 2025 10:05:19 +0000 (10:05 +0000)]
Merge "Optimize registration parameters"

3 months agoMerge "Fix test-tools metrics script"
Priyank Maheshwari [Fri, 7 Mar 2025 17:26:06 +0000 (17:26 +0000)]
Merge "Fix test-tools metrics script"

3 months agoRefactor CM Handle Properties to be more realistic into K6 tests 21/140321/4
sourabh_sourabh [Thu, 27 Feb 2025 16:15:41 +0000 (16:15 +0000)]
Refactor CM Handle Properties to be more realistic into K6 tests

Issue-ID: CPS-2637
Change-Id: I627cb8be0738e6b0f82dace361eb02889f193ace
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
3 months agoMerge "Omit decendents when resolving AlternateId"
Daniel Hanrahan [Fri, 7 Mar 2025 12:10:01 +0000 (12:10 +0000)]
Merge "Omit decendents when resolving AlternateId"

3 months agoOptimize registration parameters 98/140398/1
halil.cakal [Fri, 7 Mar 2025 10:24:41 +0000 (10:24 +0000)]
Optimize registration parameters

- change internal batch size from 100 to 300
- change input batch size from 100 to 2000 in k6 tests

Issue-ID: CPS-2686

Change-Id: If9645facaee6c0d745a1e9dd12962a27e110f787
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 months agoMerge "Randomize cm handle ids in a legacy batch array"
Daniel Hanrahan [Thu, 6 Mar 2025 18:41:52 +0000 (18:41 +0000)]
Merge "Randomize cm handle ids in a legacy batch array"

3 months agoRandomize cm handle ids in a legacy batch array 93/140393/2
leventecsanyi [Thu, 6 Mar 2025 15:15:16 +0000 (16:15 +0100)]
Randomize cm handle ids in a legacy batch array

  - added new JS method to get a random list of CmHandle IDs

Issue-ID: CPS-2687
Change-Id: I3b02d4b7c03af3a05860e30b32877475b7e70dba
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
3 months agoFix test-tools metrics script 95/140395/1
danielhanrahan [Wed, 5 Mar 2025 10:15:46 +0000 (10:15 +0000)]
Fix test-tools metrics script

The test script for generating spreadsheet report from prometheus
metrics is currently broken (produces garbage output).

- Issue is fixed by specifying space character as delimiter.
- Add more metrics to the report to make script more useful.

Issue-ID: CPS-2651
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6347521f15bdfc1654243552bfe87190058bd8db

3 months agoFix degradation in (de)registration performance 94/140394/1
ToineSiebelink [Thu, 6 Mar 2025 11:34:08 +0000 (11:34 +0000)]
Fix degradation in (de)registration performance

- Disabled CPS notifications by default (in yaml and java)
- minor refactoring of related production code
- Improved unit test regarding notifications being enabled/disabled to get 100% coverage
- Removed now redundant test for enable/disable scenarios (2 replaced by 1 better test)

Issue-ID: CPS-2684
Change-Id: If43cd9c06c1655e1d49c70c55830c4e3a579a6d4
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 months agoAdded query limits to NCMP service methods 91/140391/1
leventecsanyi [Thu, 6 Mar 2025 12:33:12 +0000 (13:33 +0100)]
Added query limits to NCMP service methods

  - modified CmHandleQueryService if
  - added limits to certain Impl methods

Issue-ID: CPS-2678
Change-Id: Ia5fd58afcd6f48404aeafba08ee2977c3efc6dcc
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
3 months agoOmit decendents when resolving AlternateId 53/140353/2
seanbeirne [Wed, 19 Feb 2025 14:46:36 +0000 (14:46 +0000)]
Omit decendents when resolving AlternateId

Issue-ID: CPS-2652
Change-Id: Ifcaa62d251ab0e4c926f13180acde90a02778c74
Signed-off-by: seanbeirne <sean.beirne@est.tech>
3 months agoMerge "Add notes for request limitations"
Lee Anjella Macabuhay [Wed, 5 Mar 2025 16:08:44 +0000 (16:08 +0000)]
Merge "Add notes for request limitations"

3 months agoMerge "Use attribute-axis in NCMP [#2]"
Daniel Hanrahan [Wed, 5 Mar 2025 16:08:13 +0000 (16:08 +0000)]
Merge "Use attribute-axis in NCMP [#2]"

3 months agoMerge "Add APIs to control notification subscription"
Daniel Hanrahan [Wed, 5 Mar 2025 13:48:20 +0000 (13:48 +0000)]
Merge "Add APIs to control notification subscription"

3 months agoMerge "Configure allowed request size for Nginx"
Daniel Hanrahan [Wed, 5 Mar 2025 13:13:32 +0000 (13:13 +0000)]
Merge "Configure allowed request size for Nginx"

3 months agoMerge "Add conditionalProperty for DeviceTrustLevelMessageConsumer"
Daniel Hanrahan [Wed, 5 Mar 2025 13:12:24 +0000 (13:12 +0000)]
Merge "Add conditionalProperty for DeviceTrustLevelMessageConsumer"

3 months agoAdd notes for request limitations 79/140379/2
leventecsanyi [Tue, 4 Mar 2025 15:31:18 +0000 (16:31 +0100)]
Add notes for request limitations

Issue-ID: CPS-2673
Change-Id: Ida88320ca3a5866933ee9b2303ad6bec6885c9c2
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
3 months agoAdd APIs to control notification subscription 90/139790/20
rajesh.kumar [Tue, 24 Dec 2024 08:10:06 +0000 (13:40 +0530)]
Add APIs to control notification subscription

  - Add API for notification subscription
  - Add API for notification unsubscription
  - Add API for getting notification subscription information

Issue-ID: CPS-2428
Change-Id: I56c34400dc73c71b936a51260efd241224dccdba
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
3 months agoUse attribute-axis in NCMP [#2] 17/140317/4
emaclee [Thu, 27 Feb 2025 03:40:27 +0000 (03:40 +0000)]
Use attribute-axis in NCMP [#2]

- uses queryleaf API on the methods queryCmHandleAnyProperties

Issue-ID: CPS-2665
Change-Id: Ibad5888ae8ec8f23348d90d7c99871b075479e03
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
3 months agoMerge "Improved unit test related to cm handle reference lookup"
Lee Anjella Macabuhay [Tue, 4 Mar 2025 16:50:49 +0000 (16:50 +0000)]
Merge "Improved unit test related to cm handle reference lookup"

3 months agoImproved unit test related to cm handle reference lookup 78/140378/3
ToineSiebelink [Tue, 4 Mar 2025 15:12:32 +0000 (15:12 +0000)]
Improved unit test related to cm handle reference lookup

Issue-ID: CPS-2605
Change-Id: Iac36b4838f640fa0bb4bf6bcc41f8a72e8c3bd8e
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 months agoMerge "Use attribute-axis in NCMP [#1]"
Daniel Hanrahan [Tue, 4 Mar 2025 12:37:32 +0000 (12:37 +0000)]
Merge "Use attribute-axis in NCMP [#1]"

3 months agoBump CPS to 3.6.2-SNAPSHOT 59/140359/2
egernug [Mon, 3 Mar 2025 15:36:15 +0000 (15:36 +0000)]
Bump CPS to 3.6.2-SNAPSHOT

Issue-ID: CPS-2670

Change-Id: Ida5b74651cca38749c43bd21f410ba539539d914
Signed-off-by: egernug <gerard.nugent@est.tech>
3 months agoContainer yaml for 3.6.1 58/140358/1
egernug [Mon, 3 Mar 2025 15:00:49 +0000 (15:00 +0000)]
Container yaml for 3.6.1

Issue-ID: CPS-2670

Change-Id: I260d97327063a7fb9d69fa7ec5df7e5d69900400
Signed-off-by: egernug <gerard.nugent@est.tech>
3 months agoAdding maven stage yaml 3.6.1 57/140357/1
egernug [Mon, 3 Mar 2025 14:42:36 +0000 (14:42 +0000)]
Adding maven stage yaml 3.6.1

Issue-ID: CPS-2670

Change-Id: If136f148a3762bc5bfbac92e0146844c6fb86701
Signed-off-by: egernug <gerard.nugent@est.tech>