cps.git
2 weeks agoAdjusted NCMP architecture rule 47/140847/3
leventecsanyi [Wed, 7 May 2025 10:20:04 +0000 (12:20 +0200)]
Adjusted NCMP architecture rule

  - removed spi package from ncmp service test

Issue-ID: CPS-2767
Change-Id: I482685ef4f8760a3cff3f3a6dfca12298b467209
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2 weeks agoInconsistency With JSON Response(List Items) Using GetANode API 45/140045/31
Rudrangi Anupriya [Mon, 5 May 2025 14:34:39 +0000 (20:04 +0530)]
Inconsistency With JSON Response(List Items) Using GetANode API

Jira - https://lf-onap.atlassian.net/browse/CPS-2566
Documentation -https://lf-onap.atlassian.net/wiki/x/OQA1AQ

- Introduced versioned V3 approach to retrieve list elements
- added controller method getNodeByDataspaceAndAnchorV3
- Updated listelementAsMap,containerElementsAsMap to group list elements

Issue-ID: CPS-2566
Change-Id: Ice9ffb99aabb03702355321c6d5c2eade0e7ef5b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
3 weeks agoAdd non blocking comments from previous commit 40/140840/1
emaclee [Fri, 2 May 2025 12:23:37 +0000 (13:23 +0100)]
Add non blocking comments from previous commit

- Adding non blocking comments changes from 140838: Increase CM Notification Event KPI Background Load | https://gerrit.onap.org/r/c/cps/+/140838

Issue-ID: CPS-2752
Change-Id: I14c28466f69d9ff83692075f4283b7631e947fd3
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
3 weeks agoIncrease CM Notification Event KPI Background Load 38/140838/1
ToineSiebelink [Tue, 29 Apr 2025 11:13:26 +0000 (12:13 +0100)]
Increase CM Notification Event KPI Background Load

- Update KPI script to send batches of messages
- Increased KPI load from 500 to 2,500 events/sec using 10 VUs and batchsize of 250
- Added instrumentation on cm avc forwarding method
- verified using Grafana (instrumentation) and kafka ui to confirm correct load of messages consumed and forwarded

Issue-ID: CPS-2752
Change-Id: I90951bf7844e087b908082c2609d0f3a564d50f9
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 weeks agoControl start-up delay: set host-names explicitly in docker compose 26/140826/7
ToineSiebelink [Mon, 28 Apr 2025 08:15:06 +0000 (09:15 +0100)]
Control start-up delay: set host-names explicitly in docker compose

- Use sequenced hostnames for cps-ncmp  in docker compose based on a common template
- Use explicit port definitions for each instance instead of range (instrumentation/Grafana)
- Calculated startup delay as sequence number times 1 second when correct pattern used
- Fall back on hash code modulus 10 seconds otherwise
- clear logging which algorithm is used, why and outcome
- update kpi and endurance environment files to use correct instance names

Issue-ID:CPS-2752

Change-Id: Ie788aff60d6e9c470136b2a2051d0c5ccc173e9a
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 weeks agoMerge "Increase the setup timeout in k6"
Sourabh Sourabh [Thu, 1 May 2025 09:55:36 +0000 (09:55 +0000)]
Merge "Increase the setup timeout in k6"

3 weeks agoMerge "Adjust KPI threshold and rate as per latest KPI agreement"
Priyank Maheshwari [Thu, 1 May 2025 09:47:46 +0000 (09:47 +0000)]
Merge "Adjust KPI threshold and rate as per latest KPI agreement"

3 weeks agoIncrease the setup timeout in k6 33/140833/2
halil.cakal [Thu, 1 May 2025 08:30:46 +0000 (09:30 +0100)]
Increase the setup timeout in k6

- Since the new server for on demand KPI jobs is slower than our regular
  server and fails because of a limit on the set up time this patch is
to increase that

Issue-ID: CPS-2694

Change-Id: I406faadec474f3147eaedee67ba1137a82207ccb
Signed-off-by: halil.cakal <halil.cakal@est.tech>
3 weeks agoAdjust KPI threshold and rate as per latest KPI agreement 34/140834/1
ToineSiebelink [Wed, 30 Apr 2025 13:25:29 +0000 (14:25 +0100)]
Adjust KPI threshold and rate as per latest KPI agreement

- CM Handle ID searches now can take 2.6 sec
- CM Handle searches now can take 24 sec
- Updated 'blue' lines to reflect KPI
- Updated 'green' lines to reflect current average (i.e. we expect measurements to be 'around' this)
- Experimental: increased cm notification forwarding by using more VUs
- Add timer metric to be able to check cm notification forwarding rate
- Temporary: removed redirecting of warning and errors to null device

Issue-ID: CPS-2793
Change-Id: I560985d4f9ce7a4c8aa27b3ae089a43a8a76b28a
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
3 weeks agoMerge "Fix legacy batch response with not found CM-handle"
Priyank Maheshwari [Wed, 30 Apr 2025 14:40:52 +0000 (14:40 +0000)]
Merge "Fix legacy batch response with not found CM-handle"

4 weeks agoFix legacy batch response with not found CM-handle 54/140654/3
danielhanrahan [Thu, 17 Apr 2025 17:21:14 +0000 (18:21 +0100)]
Fix legacy batch response with not found CM-handle

An unhandled exception leads to the entire batch operation failing,
even if only a single CM handle in the batch was not found. This
fixes the issue by swallowing the exception. Note there is existing
logic in DmiDataOperationsHelper for reporting not-found CM handles.

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

4 weeks agoRemove Basic Authentication References 08/140708/16
ToineSiebelink [Wed, 16 Apr 2025 12:47:09 +0000 (13:47 +0100)]
Remove Basic Authentication References

- Remove whole ‘security’ section from application.yml file(s) also in testware
- Remove whole ‘security’ section from  open api yml file(s) except Policy Executor
- Remove whole ‘component.securitySchemes’ section from  open api yml files
- Remove references to security.auth.username from xml config files
- Removed cps authentication details from Docker compose and readme files (tested)
- Removed authentication groovy test rom cps-application
- Side note: cps-application added test, coverage increased to 100%
- Updated Docker-Compose (CSIT & K6) to latest version
- Minor csit script updates to help troubleshooting
- Removed auth header from ALL csit tests files

Issue-ID: CPS-2600
Change-Id: Ie1cf02461943f4e43029a3dbfaef052e347a4d4d
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
4 weeks agoMerge "Automate the CPS-NCMP metrics scraping"
Toine Siebelink [Thu, 24 Apr 2025 16:42:12 +0000 (16:42 +0000)]
Merge "Automate the CPS-NCMP metrics scraping"

4 weeks agoAutomate the CPS-NCMP metrics scraping 87/140787/6
halil.cakal [Thu, 24 Apr 2025 08:47:57 +0000 (09:47 +0100)]
Automate the CPS-NCMP metrics scraping

- import ScrapeMetrics, test_ScrapeMetrics and run from conf .py to
  automate the scraping
- the scripts will be running with tox when building the docs
- update unit tests to use test specific names
- highlight the header row of metrics' table

Issue-ID: CPS-2778

Change-Id: I843221ec21454220ea1182c488f88813c0691c4a
Signed-off-by: halil.cakal <halil.cakal@est.tech>
4 weeks agoMerge "Add integration tests of legacy batch data operation"
Toine Siebelink [Thu, 24 Apr 2025 11:48:51 +0000 (11:48 +0000)]
Merge "Add integration tests of legacy batch data operation"

4 weeks agoMerge "Scrape all metrics and add them to cps documentation"
Toine Siebelink [Wed, 23 Apr 2025 15:54:47 +0000 (15:54 +0000)]
Merge "Scrape all metrics and add them to cps documentation"

4 weeks agoScrape all metrics and add them to cps documentation 00/140700/8
halil.cakal [Thu, 10 Apr 2025 13:02:54 +0000 (14:02 +0100)]
Scrape all metrics and add them to cps documentation

- add a new dummy annotation (TimedCustom) for Gauge metrics (cm handle state)
- add a description field for the counter annotation (CountCmHandleSearchExecution)
- add a python script (with tests) to scrape the metrics mentioned above
  using a single regex for all
- remove redundancies (distribution management) from pom.xml of
  checkstyle module since there is no artifact released from checkstyle
- import and display the output (metrics.cvs) in admin-guide docs

Issue-ID: CPS-2709

Change-Id: Iaee23f0a20c05e5aea033baacad1f23cb61e8b34
Signed-off-by: halil.cakal <halil.cakal@est.tech>
4 weeks agoAdd integration tests of legacy batch data operation 10/140710/3
danielhanrahan [Wed, 16 Apr 2025 11:20:58 +0000 (12:20 +0100)]
Add integration tests of legacy batch data operation

Add integration tests for:
1. happy path: batch request forwarded to DMI
2. negative case: not ready CM-handles report error
3. negative case: not existing CM-handles report error

Case 3 is Ignored as there is currently a bug which causes the
request to fail, instead of reporting error on kafka topic.

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

5 weeks agoSimplify hostname-based startup delay logic with consistent hash-based approach 11/140711/1
sourabh_sourabh [Thu, 17 Apr 2025 16:38:54 +0000 (17:38 +0100)]
Simplify hostname-based startup delay logic with consistent hash-based approach

- Removed conditional logic based on last character of the hostname

- Applied a uniform hash-based delay calculation up to 5000 ms

- Improves consistency and simplifies the code logic

- Updated JavaDoc to reflect the new approach

Issue-ID: CPS-2752
Change-Id: Ic9e5cffb7396695e90b94edba79984f7f0f859aa
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
5 weeks agoBump CPS to 3.6.3-SNAPSHOT 07/140707/1
mpriyank [Wed, 16 Apr 2025 12:16:25 +0000 (13:16 +0100)]
Bump CPS to 3.6.3-SNAPSHOT

- bumped CPS-NCMP to 3.6.3-SNAPSHOT version

Issue-ID: CPS-2770
Change-Id: I7221363b048abacdf2ef9011efb5b98caeaa043c
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
5 weeks agoMerge "Container yaml for release"
Lee Anjella Macabuhay [Wed, 16 Apr 2025 12:09:36 +0000 (12:09 +0000)]
Merge "Container yaml for release"

5 weeks agoContainer yaml for release 06/140706/1
mpriyank [Wed, 16 Apr 2025 11:35:23 +0000 (12:35 +0100)]
Container yaml for release

Issue-ID: CPS-2770
Change-Id: If0f852fcdf32b658343de1d682019d6edb27f2b7
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
5 weeks agoMaven stage yaml 05/140705/1
mpriyank [Wed, 16 Apr 2025 11:23:56 +0000 (12:23 +0100)]
Maven stage yaml

- maven stage yaml for 3.6.2 release

Issue-ID: CPS-2770
Change-Id: Ia143acf696ddc7e8c31d2b1ea8e8772f1452a3e7
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
5 weeks agoRelease note to uplift spring boot 04/140704/2
mpriyank [Wed, 16 Apr 2025 10:32:02 +0000 (11:32 +0100)]
Release note to uplift spring boot

Issue-ID: CPS-2770
Change-Id: Icc66cde5de51e1f5d74d52556cd3068e07600f2e
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
5 weeks agoUpdate info and OAS for the release 03/140703/1
mpriyank [Wed, 16 Apr 2025 09:58:13 +0000 (10:58 +0100)]
Update info and OAS for the release

- info version set to 3.6.2 as it is the version being released

Issue-ID: CPS-2770
Change-Id: Idd78aded458710b39fcaaab24343fd93aee3f658
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
5 weeks agoReview RTD Configuration Properties 02/140702/2
ToineSiebelink [Tue, 15 Apr 2025 15:17:14 +0000 (16:17 +0100)]
Review RTD Configuration Properties

- split into 3 tables
- introduced CSV-file-defined tables for easier maintenance
- removed unnecessary 3PP properties definitions
- checked all custom properties still used and default values
- corrected some default values (sometime just wrong casing)
- updated application yaml spring.datasource.url so it has a default host value
- removed code-formatting for property values (except for URLS to prevent failing link-checks)
- added notes about using environment variables where applicable

Issue-ID: CPS-2596
Change-Id: I6f413dd726088ca8a002da145bf4f6c52a1c7b2a
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
5 weeks agoMerge "Use a Hazelcast map of alternate ids to Cm handle ids"
Daniel Hanrahan [Tue, 15 Apr 2025 10:44:56 +0000 (10:44 +0000)]
Merge "Use a Hazelcast map of alternate ids to Cm handle ids"

5 weeks agoUse a Hazelcast map of alternate ids to Cm handle ids 64/140664/9
emaclee [Tue, 8 Apr 2025 11:48:48 +0000 (12:48 +0100)]
Use a Hazelcast map of alternate ids to Cm handle ids

Issue-ID: CPS-2753
Change-Id: I6f3657bf14d78e412f650ee536e79beefb601c09
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
5 weeks agoAdd HTTP 409 Conflict error response to NCMP OpenAPI Doc 91/140691/2
ToineSiebelink [Mon, 14 Apr 2025 12:50:50 +0000 (13:50 +0100)]
Add HTTP 409 Conflict error response to NCMP OpenAPI Doc

- This error can occur when Policy Execution denies write operation but was never documented

Issue-ID: CPS-2764
Change-Id: Idc47371b63b1348f86384e1ff3a8ae0d50056cdf
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
6 weeks agoMerge "Refactoring to combine LcmEventsCreator and LcmEventsCreatorHelper"
Priyank Maheshwari [Fri, 11 Apr 2025 13:08:58 +0000 (13:08 +0000)]
Merge "Refactoring to combine LcmEventsCreator and LcmEventsCreatorHelper"

6 weeks agoIntroduced a startup delay mechanism based on the container hostname 59/140659/8
sourabh_sourabh [Tue, 8 Apr 2025 10:13:08 +0000 (11:13 +0100)]
Introduced a startup delay mechanism based on the container hostname

- Extracted hostname using InetAddress and Calculated delay or fallback hash-based delay.
- This helps prevent the 'relation "databasechangelog" already exists' error seen in concurrent startups.

Issue-ID:CPS-2752
Change-Id: I051a8edd5ddab5a9fb012183b0526c113d90304e
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
6 weeks agoRefactoring to combine LcmEventsCreator and LcmEventsCreatorHelper 58/140658/2
emaclee [Mon, 7 Apr 2025 12:44:28 +0000 (13:44 +0100)]
Refactoring to combine LcmEventsCreator and LcmEventsCreatorHelper

- 1. Move all in LcmEventsCreatorHelper to LcmEventsCreator
- 2. Rename LcmEventsCreator to LcmEventsProducerHelper
- 3. Rename and update relevant tests
- 4. Refactor words 'publisher' to 'producer' and 'publish' to 'send' where applicable

Issue-ID: CPS-2726
Change-Id: Id0d53f851d25823e0456e95917c2be8856a20c40
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
6 weeks agoMerge "Fix release notes: only mention end user features"
Toine Siebelink [Wed, 9 Apr 2025 16:00:49 +0000 (16:00 +0000)]
Merge "Fix release notes: only mention end user features"

6 weeks 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>
6 weeks agoUpdate the script that is responsible for copyright checks 65/140665/1
halil.cakal [Mon, 7 Apr 2025 16:26:59 +0000 (17:26 +0100)]
Update the script that is responsible for copyright checks

- Since no more Nordix Foundation license header must be present in the codes, the script
  should look for OpenInfra Foundation Europe
- As an example LcmEventsCmHandleStateHandler.java has been modified and
  there is no issue reported

Issue-ID: CPS-2754

Change-Id: I4f251328649916fc482756ec94302b426e224e3b
Signed-off-by: halil.cakal <halil.cakal@est.tech>
6 weeks 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"

6 weeks 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"

6 weeks 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>
7 weeks 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>
7 weeks 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"

7 weeks 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"

7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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"

7 weeks 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

7 weeks 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"

7 weeks 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"

7 weeks 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

7 weeks 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>
7 weeks 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"

7 weeks 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>
8 weeks 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

8 weeks 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

8 weeks 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"

8 weeks 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"

8 weeks 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"

8 weeks 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

8 weeks 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"

8 weeks 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>
8 weeks 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>
8 weeks 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"

8 weeks 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]"

8 weeks 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

8 weeks 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>
8 weeks 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>
2 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>
2 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

2 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

2 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"

2 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"

2 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]"

2 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>
2 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>
2 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>
2 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"

2 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"

2 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>
2 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>
2 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"

2 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>
2 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

2 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"

2 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

2 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"

2 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"

2 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

2 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

2 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>
2 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>
2 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"

2 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>
2 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>
2 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"

2 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"

2 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>
2 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"

2 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"

2 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"