cps.git
3 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

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

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

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

3 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

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

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

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

3 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 weeks 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>
5 weeks agoMerge "Optimize registration parameters"
Toine Siebelink [Mon, 10 Mar 2025 10:05:19 +0000 (10:05 +0000)]
Merge "Optimize registration parameters"

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

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

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

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

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

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

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

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

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

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

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

6 weeks 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>
6 weeks 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>
6 weeks 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>
6 weeks agoMerge "Release notes update for 3.6.1"
Priyank Maheshwari [Mon, 3 Mar 2025 14:27:51 +0000 (14:27 +0000)]
Merge "Release notes update for 3.6.1"

6 weeks agoRelease notes update for 3.6.1 54/140354/5
egernug [Mon, 3 Mar 2025 11:25:55 +0000 (11:25 +0000)]
Release notes update for 3.6.1

Issue-ID: CPS-2670

Change-Id: I525976f68f69f1f8d9bfd81788cb332fdc5303f0
Signed-off-by: egernug <gerard.nugent@est.tech>
6 weeks agoMerge "RTD update related to event schemas"
Lee Anjella Macabuhay [Mon, 3 Mar 2025 13:48:48 +0000 (13:48 +0000)]
Merge "RTD update related to event schemas"

6 weeks agoAdd conditionalProperty for DeviceTrustLevelMessageConsumer 69/140369/1
emaclee [Mon, 3 Mar 2025 12:52:13 +0000 (12:52 +0000)]
Add conditionalProperty for DeviceTrustLevelMessageConsumer

Issue-ID: CPS-2556
Change-Id: Id3be9bccdf40065794654cc414ae75a2184aebb8
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
6 weeks agoRTD update related to event schemas 28/140328/2
mpriyank [Fri, 28 Feb 2025 15:58:04 +0000 (15:58 +0000)]
RTD update related to event schemas

- moving the event schemas file to corresponding folder in the docs
  folder as it is in the cps-ncmp-events
- the files are updated as per the new event data schemas

Issue-ID: CPS-2645
Change-Id: Ibcc9b504c6db8a3556773eeaadebcf02f1a3bb96
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
7 weeks agoAdd CM Data Notification background Load to K6 16/140216/9
sourabh_sourabh [Thu, 13 Feb 2025 10:26:19 +0000 (10:26 +0000)]
Add CM Data Notification background Load to K6

- Implement Kafka message producer with controlled throughput
- Configured message rate to 1000 (default: 500).
- Implemented constant-arrival-rate scenario to maintain controlled throughput.
- Adjusted maxVUs from 1000 to prevent resource overload.
- Added graceful shutdown with a 10s stop period.
- Added it into main K6 suite

Issue-ID:CPS-2587
Change-Id: I75fd1fa83892fd4775b27132059f73e9c0ea4d75
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
7 weeks agoMerge "Change order of CM Handle Reference lookup depending on special character"
Sourabh Sourabh [Fri, 28 Feb 2025 14:09:27 +0000 (14:09 +0000)]
Merge "Change order of CM Handle Reference lookup depending on special character"

7 weeks agoConfigure allowed request size for Nginx 52/140352/1
leventecsanyi [Thu, 27 Feb 2025 15:12:55 +0000 (16:12 +0100)]
Configure allowed request size for Nginx

Issue-ID: CPS-2668
Change-Id: Ie7f1b2dcaa9883a40bc3e0e9c447b44ddf681f59
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
7 weeks agoChange order of CM Handle Reference lookup depending on special character 98/140298/2
seanbeirne [Thu, 20 Feb 2025 11:16:11 +0000 (11:16 +0000)]
Change order of CM Handle Reference lookup depending on special character

- implemented new algorithm using validator to rule out standard id / prefer alternate id
- moved validator imp to cps-service (not in RI) TBC!!!
- changed order of characters tested in validator to fail fast (on '=')
- added Boolean variation validator method to reduce overhead and prevent logic based on exceptions
- improved integration test to cover all scenarios
- add performance test for alternate id look up (report only)
- ensured all performance test use alternate ids it '='
- added small groovy tests to restore cps-ri code coverage to 0.31

Issue-ID: CPS-2605
Change-Id: Id9c22bb69904b7f5d376b7f8319332428435333e
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Signed-off-by: seanbeirne <sean.beirne@est.tech>
7 weeks agoMerge "Event data schemas for NCMP"
Lee Anjella Macabuhay [Thu, 27 Feb 2025 11:16:56 +0000 (11:16 +0000)]
Merge "Event data schemas for NCMP"

7 weeks agoUse attribute-axis in NCMP [#1] 72/140272/3
emaclee [Tue, 18 Feb 2025 17:39:02 +0000 (17:39 +0000)]
Use attribute-axis in NCMP [#1]

- uses queryleaf API on the methods getCmHandleReferencesByTrustLevel,
getCmHandleReferencesByDmiPluginIdentifier

Issue-ID: CPS-2663
Change-Id: Ib9ff3ceb58b14664660f2a92b02e0bacf00bebda
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
7 weeks agoEvent data schemas for NCMP 54/139954/13
mpriyank [Thu, 16 Jan 2025 13:38:52 +0000 (13:38 +0000)]
Event data schemas for NCMP

- Updated the schema id as NCMP has a master copy of all the schemas
  that are used
- Introduced an enum to keep track of the dataschemas at a single place.
- Refactored NcmpEvent builder class to take type and dataschema as a
  parameter
- Cleaned up dependencies
- Refactored testware to prove the changes
- Changes are according to the decisions recorded here https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16554840/CPS-2425+Event+Schemas+in+ONAP#Agreed-Event-Schema-Names

Issue-ID: CPS-2425
Change-Id: Icbda1aa20e3c4b0f2b6797d25b59e52cf9237c92
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
7 weeks agoChange metric name for LCM state gauge 92/140292/2
emaclee [Tue, 25 Feb 2025 07:37:52 +0000 (07:37 +0000)]
Change metric name for LCM state gauge

- change gauge name from cmHandlesByState to cps_ncmp_inventory_cm_handles_by_state

Issue-id: CPS-2662
Change-Id: I97a036b155b638cd6ed94a739e3dffb7b6f00172
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
8 weeks agoretry before stopping in docker-compose 81/140281/1
mpriyank [Fri, 21 Feb 2025 09:48:36 +0000 (09:48 +0000)]
retry before stopping in docker-compose

- configure restart policy as on-failure and set it to restart atmost 3
  times and then give up.
- prevents infinite restart
- gives an opportunity to the app to heal on its own

Issue-ID: CPS-2647
Change-Id: I6cd0c8601060ec518df1f10bcd0dac1b97f622d8
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
8 weeks agoMerge "Handle duplicated yang resource exception when creating schema set"
Priyank Maheshwari [Thu, 20 Feb 2025 17:13:33 +0000 (17:13 +0000)]
Merge "Handle duplicated yang resource exception when creating schema set"

8 weeks agoHandle duplicated yang resource exception when creating schema set 42/140242/5
halil.cakal [Tue, 18 Feb 2025 10:24:54 +0000 (10:24 +0000)]
Handle duplicated yang resource exception when creating schema set

- catch and log duplicated yang resource during schema set creation
- there may be other exception when the app started however there will
  be a tech. dept ticket for them thus please review this commit for
   only duplicated yang resource exception

Issue-ID: CPS-2647

Change-Id: Idf6063cb8328efc667516f09d25ad6c4c6fd8186
Signed-off-by: halil.cakal <halil.cakal@est.tech>
8 weeks agoMerge "Update packaged postman collection to include all rest endpoints"
Daniel Hanrahan [Tue, 18 Feb 2025 13:32:19 +0000 (13:32 +0000)]
Merge "Update packaged postman collection to include all rest endpoints"

8 weeks agoMerge "Fix CpsSessionFactory for it to be used in prod code"
Daniel Hanrahan [Mon, 17 Feb 2025 18:32:32 +0000 (18:32 +0000)]
Merge "Fix CpsSessionFactory for it to be used in prod code"

8 weeks agoMerge "Add actuator port based on testProfile provided"
Daniel Hanrahan [Mon, 17 Feb 2025 18:30:59 +0000 (18:30 +0000)]
Merge "Add actuator port based on testProfile provided"

8 weeks agoEnable the container logs and disable the container restart for 37/140237/3
halil.cakal [Mon, 17 Feb 2025 10:15:59 +0000 (10:15 +0000)]
Enable the container logs and disable the container restart for
cps-and-ncmp

Issue-ID: CPS-2643

Change-Id: I57ba18dcaa71f4c2c5d985e9c870569e40d26880
Signed-off-by: halil.cakal <halil.cakal@est.tech>