Age | Commit message (Collapse) | Author | Files | Lines |
|
- Add (micrometer) instrumentation to expose inefficiencies
- Add test config for micrometer
- Add setup methods in base to create many cm handles
- Set module sync parallelism to 2 for testing
- Add clean up methods for hazelcast related tests
- added test to show inefficiencies
- POC 1 use hazelcast set to prevent multiple threads working on same ModuleSetTag
- POC 2 'cache' module set tags per thread to prevent DB looks ups
- Main inefficiency left: create schemaset for EACH cm Handled even if same tag. No easy PoC...
Change-Id: Idf46b44c475a24727dd7084bb613459f4c29be55
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
- Add tests for multi threaded scenarios around module sync
- Disabled ModuleSyncWatchdog timer using long delay and interval
- Call Module Sync method as needed for more control
(sometimes it needs to be triggered twice like retry use cases as designed)
- Improve NCMP performance test setup (consistent naming etc.)
- Rename some production code method names to better reflect functionality
- Disabled intermittent failing test for create cm handle as it is not asserting the correct message
- Improved Code Coverage ModuleSyncWatchdog
Issue-ID: CPS-2462
Change-Id: Ia907af77d2037309f1bbb73ea671679b788bab9e
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
- Release notes update
- Update openapi info.version to 3.5.4
- Update scheduled-tasks docs to reflect changes in retry mechanism
- Update deployment docs to update configurable timer parameters
- Remove unused locked-module-sync.sleep-time-ms
Issue-ID: CPS-2457
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ieb559bbfe348848c4b8669410861edfeeb6c9bf3
|
|
- updated all the cache(distributed datastructures) to use the same instance config now.
- there will be just one instance per JVM now
- Better cleanup of hz instance in the testware
- Refactored the testware to verify the configs
- Expected Impact on lowering the memory usage, less number of TCP
communications between members
- NOTE: we need to do a full regression as the changes impacts all the
use cases which involves cache
Issue-ID: CPS-2408
Change-Id: I7564992a9990f44ef3defb4f50cb7d094cad7b92
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
- configurable default answer
- apply default answer upon non 2xx response
- delayed default webclient read timeout
- add custom timeout method with original read timeout in seconds
- apply default answer upon timeout
- add integration test with short timeout error scenario
Issue-ID: CPS-2412
Change-Id: I62527a27e426c2f01fda2182ebd2513242c29ac1
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
- Execute Policy Executor REST request
- Act (and log) on response from Policy Executor
- Add dispatcher(mock) in integration test FWK
- Add integration test for allow/non allowed and no authorization use cases
- disabled PolicyExecution feature by default (only enabled for testware)
Issue-ID: CPS-2247
Change-Id: I111ba9ba89cc91649b63b20f88414aa33721dbeb
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
- remove forced module sync in tests
- set module sync timers to 1 second in test application.yml
- have tests wait up to 2 seconds for module sync to run
Issue-ID: CPS-2304
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I727894dc1b4b9cee1ab82d05a9c31d1e3e067cf3
|
|
Change-Id: I192fa53e293ea43cdff92ebd44d0382eb290bb76
Signed-off-by: david.mcweeney <david.mcweeney@est.tech>
Issue-ID: CPS-2172
|
|
|
|
- added DmiWebClientConfiguration
- use WebClient in DmiRestClient
- fixed unit tests
- encode query params for DMI request
- added configurable buffer size
- Re-used ncmp.dmi.httpclient.maximumConnectionsTotal parameter
(as documented in RTD) to control webclient connection poolsize
Issue-ID: CPS-2173
Change-Id: I21584563034d58e8ae3ff3cbcf172e0d14b408fb
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- topic application parameters updated to be in sync with the actual
convention we are following for the flow.
- environment variables also updated to follow the same
- removed the unused parameters related to notification
Issue-ID: CPS-2210
Change-Id: If5adb3dac1ce81df5afe2e99f99513adc2011cc9
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
- Added a new integration test to check total time and memory taken to
get cm handle by its longest match alternate id.
Issue-ID: CPS-2176
Change-Id: I7a6b299c46803a0878406f1e16fdae970b361dd9
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
Change from using MockRestServiceServer - which is only compatible
with RestTemplate - to MockWebServer, which will allow tests to work
using WebClient instead of RestTemplate.
Issue-ID: CPS-2183
Change-Id: I7494fe17cba6e92f7df81f0fd0185e1d2b5a5541
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
1. Error handling not working
2. Unable to make dmi call as url appens extra "/"
Commit 1: Replace RestTemplate with WebClient in synchronous DMI calls
- added DmiWebClientConfiguration
- use WebClient in DmiRestClient
- fixed unit tests
- ingnored failing NCMP related integration tests (related to WebClient, will be fixed in a future patch)
- encode query params for DMI requests
Commit 2: Module sync task failing with WebClient
- added configurable buffer size
Commit 3: Re-use ncmp.dmi.httpclient.maximumConnectionsTotal parameter
(as documented in RTD) to control webclient connection poolsize
Issue-ID:CPS-989, CPS-2195, CPS-2198
Change-Id: I6c71ab2801b222708404f51bd60f2b3031ebf32e
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- added configurable buffer size
Issue-ID: CPS-2195
Change-Id: I7cdb09856fd4d80134a91e54faa7e6600f3721dc
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
|
|
- In event of async task timeout, error code 102
(DMI_SERVICE_NOT_RESPONDING) is sent to client topic.
- In event of unexpected error (such as database unavailable),
error code 108 (UNKNOWN_ERROR) is sent to client topic.
- The default timeouts have been adjusted so that the task
timeout (60s) is longer than the HTTP and Database timeouts (30s),
so that expected codes are returned.
Issue-ID: CPS-2186
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I84c3447a625e084c445ab2f5c01e2b32a0c971ac
|
|
|
|
- Added support for the dataProducerIdentifier to be added,
and updated from blank to something once
- The dataProducerIdentifier is persisted in the DB
Issue-ID: CPS-2105
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
Change-Id: I1c230be8f9402154a761e8c2ba4d8a6331965b3c
|
|
- Add some tests of CPS get/query operations comparing
look up of cm-handle id vs alternate-id
- Add test of querying all CM handles by module-set-tag
- Test accuracy is improved by performing warmup operations
(reported results are faster with more warmup iterations)
Issue-ID: CPS-2087
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I4214e157ccf93f751c69b8a17d55f4185749ca90
|
|
This covers REST endpoints of GET, POST, PUT, PATCH, DELETE
of /ncmp/v1/ch/{cmHandleId}/data/ds/{datastoreName}
and the async REST endpoint of POST /ncmp/v1/data
It verifies that:
- bearer token is passed from NCMP to DMI
- basic auth header is not passed from NCMP to DMI
Issue-ID: CPS-2137
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ie4761a848904175a9d8cd5b917817e85f5b69813
|
|
- removed the flag as the functionality around model loader is stable
now
- removed the config parameter from the application yaml file as well
Issue-ID: CPS-2112
Change-Id: Ie4e3317c0689615b900dcd9bbf1896bc3a5f37b3
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
Integration tests covering scenarios of the creation and upgrade of
CM-handles with:
- no moduleSetTag
- new moduleSetTag
- existing moduleSetTag
Failing tests are marked @Ignore.
Issue-ID: CPS-2102
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Id5567e08a13d8c26dc7b6458f0af8449bef6f082
|
|
- Add NCMP to integration test base class
- Use MockRestServiceServer to mock DMI responses in groovy tests
- Added tests for CM-handle registration to READY and LOCKED states
- Add test of CM-handle deregistration
Issue-ID: CPS-2033
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I89f9f8aab2bba9d4eb5b3136a2feb238e7cf1b06
|
|
- Remove TestConfig and instead use auto-configuration
- Add needed application.yml config
- Refactor helper methods for creating JSON
Issue-ID: CPS-2090
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I4f618a1d4a83e9c75e468928c257b817d449c22f
|
|
Complete liquibase changelog takes under 1 second to run,
so having separate changelog for integration tests offers
no benefit.
Issue-ID: CPS-2090
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ib0e928f35d401b91c23dfcb5dc82c77778a044dc
|
|
YANG specifies two ways that leaf-lists can be ordered:
- ordered-by user: original order in JSON is preserved
- ordered-by system (default): it is up to the system how to order
For leaf-lists to preserve same order as the JSON, the Yang module
must specify 'ordered-by user'. To ensure consistent behaviour even
when system ordering is used, the leaf-list is sorted during parsing.
- Add 'ordered-by user' to authors field in bookstore.yang
- Sort leaf-list during parsing when using 'ordered-by system'
- Add new tests to verify ordering
Issue-ID: CPS-2057
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6ab688ec2fa4a22182e853d1a8b26642f278c40a
|
|
- Add new module: bookstore-types
- Import the new module from stores module
- Change integration testwares to comply with
the new module
- Add new integration test for retrieving module
definition
Issue-ID: CPS-1135
Change-Id: Ib51c998ceeab50d3fcea212ed55c8ab50ca09257
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
- Added code for Update action in Delta service
- added method to get updated Leaf data: getUpdatedLeavesBetweenSourceAndTargetDataNode
- added method to compare Leaf data common in source and target data
node
- added method to process leaves unique to target data node
- added method to compare leaves: compareLeaves
- added method to store updated data to a DeltaReport: addUpdatedLeavesToDeltaReport
- Added corresponding testware
Issue-ID: CPS-1824
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I3de07ea3227988784a0892f6a92c238ecf00a7fa
|
|
- Implement fragment ID sequence generator with allocation size of 100
- Enable write batching for insert and update, with batch size of 100
- Write performance is over 2x faster
Issue-ID: CPS-1795
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e
|
|
- added new dmi model registry and modified tests
Issue-ID: CPS-1989
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
Change-Id: I576a5a0704fe28924dcc304c276fec5665b52764
|
|
- CPS Delta Feature Part 1: To find delta between two anchors
- created new endpoint deltaByDataspaceAndAnchors
- endpoint to take dataspaceName, source anchor, target anchor,
xpath, descendants as input
- added new service CpsDeltaService
- added method to find delta between DataNodes:
getDeltaReport
- added method to find removed data nodes: getRemovedDeltaReports
- added method to get Added DataNodes: getAddedDeltaReports
- added method to get Map of xpath to DataNode: convertToXPathToDataNodesMap
- added a POJO for delta report
- Added new JSON data for delta feature testing
- Added groovy test files CpsDeltaServiceImplSpec and DeltaReportBuilderSpec
- code related to update operation, will be added in
separate commit
Issue-ID: CPS-1824
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I313f0f71d04b03878be7643f709d8af1aa6df6ba
|
|
To align with Ericsson Spring Boot is being uplifted to version 3.1.2
Issue-ID: CPS-1888
Signed-off-by: egernug <gerard.nugent@est.tech>
Change-Id: Icfe97df15ab67a7fb25e0a98e4bbbbe91f332321
|
|
- New model introduced in test can be ported to production code
- Groovy test around the new use-cases can be used as a guid for actau production code solution
- Current worst use-case about 10 secodn son windows laptop. is acceptable as per Requiremenyt of 30 second
- TODO: update test limits/expectations based on CI results
Issue-ID: CPS-1881
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I05f3adf7f9cc4d9a9c94a8435a392ed76f9fad66
|
|
- Exposed an interface to update anchor by schema set name.
- New interface is implemented into RI model.
- New native query is exposed to update id with given schema set name.
- A new integration test is written to test new interface into cps core.
Issue-ID: CPS-1800
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: Ibf44712e11b53cb6673b04b9e3fd864321c90839
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- Removed list named invoice from all bookstore files
- Added a new parent list as bookstore-address
- Refactored tests
Issue-ID: CPS-1813
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I5c7e83e1ee0ad9ac1d94d1906c2361c7a00d49af
|
|
|
|
Post List Element does not allow for create List Element, only appends onto existing node as children
-Add a check in saveListElements to see if the parent xpath is a root path ("/").If root node store list element as top node. Else add passed list element to parent xpath node.
-Add test for scenario for above
-Add test scenario Saving list element data fragment under Root node
-Add Integration Tests Add and Delete top-level list (element) data nodes with root node
-Update bookstore model with TopLevelList datanode
Issue-ID: CPS-1586
Change-Id: Iaa7f59fbeebb03703626132c6d5c2afde0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
Presently, a query using the same leaf name twice will fail:
//books[@price > 10 and @price < 20]
It is caused by storing data leaves in a Map.
This is fixed by storing data leaves in a List<DataLeaf>.
Issue-ID: CPS-1779
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ie6990ea5e622cf37e986b720a0a07fb69ce4f03b
|
|
- Moved all Data Intergation Test
- Added/improved some module Moudle Servcie test too
- Removed some unused (impossible) code-paths in prod code
- Replaced null's with meaningful strings (in edge case scenarios)
- Replaced @Shared with static (shorter) in some test
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ib4b1ec1706ace7e3f5ac03d85177a6f7d4f6b8d0
|
|
As Liquibase is used, JPA does not manage database definition.
Within Liquibase changelog, only Anchor and Fragment have BIGINT (Long)
IDs. Other entities have INTEGER IDs.
- Change AnchorEntity/AnchorRepository ID type to Long
- Change YangResourceEntity/YangResourceRepository and
ModuleReferenceRepository ID to Integer
- Modify datatypes of foreign key references in liquibase changelog to
use correct types for dataspace_id, schema_set_id, yang_resource_id
- Update test liquibase changelog
Issue-ID: CPS-1676
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I26de6712b2e74d166fc5a48b1f8149de6a1e5199
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
- Remove dataspace_id column from fragment table and drop associated
index, foreign key constraint and uniqueness constaint.
- Add uniqueness constraint using only fragment xpath and anchor_id.
- Add not-null constraint to anchor_id.
- Update code and test data to remove references to dataspace_id.
- Repopulate the dataspace_id in Liquibase rollback
(verified with manual testing of update/rollback).
Issue-ID: CPS-1677
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I467cccba25ac5d884ec790064ca58150281b7e1d
|
|
- dropped ri module coverage to alow for move
- removed performance tests (already better tests in intergration module)
- added 'save' iue cases in new integration-test
- removed no longer used version for save single data node
(todo: remove old tests for similar functionality, will wait until new test cover same)
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I4c2e788e0a313938a923cd1e7e52584d739ec6f4
|
|
Cascade delete was added to fragments table in main DB changelog,
but not to integration-test changelog.
Issue-ID: CPS-1617
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: If85f120dfdc4bf3e9c8a1dde2b982378560d418a
|
|
- Migrate query tests for composite keys to integration-test
- Add addresses with composite key to bookstore model
Issue-ID: CPS-1597
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6f8dfc2c44ae6ba3bac1cce804841671ef5a009d
|
|
Issue-ID: CPS-1597
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I1d92355f272271424a7014057d251cf88eac0203
|
|
|
|
- Generate openroadm data from a single innerNode.json template
- Double the number of openroadm device nodes (25 -> 50) in tests
- Add new performance tests for getDataNodes and queryDataNodes to
integration-test module, using openroadm and bookstore data
- Remove old performance tests from cps-ri
Issue-ID: CPS-1524
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Id9ec2a86d984d6c50c9ae6093e7a62729cb851da
|
|
- Migrate some query tests to integration-test
- Edit bookstore model to add integer leaf-list 'editions'
- Lower cps-ri code coverage
Issue-ID: CPS-1597
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: If50bf15ad7d7f147448f6b60d464efc1cdc91005
|
|
- Add missing index to liquibase test-changelog.yaml
Issue-ID: CPS-1535
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I2f8ee9f66b3f433be2f61e17759f0f6c9f2e4707
|
|
- added data (folders) for different models and json data
- added base and data for cps-ncmp (registry) specific test cases
- integrated Ahila's (large) openroadm model and data
(corrected version provided by Lee Anjella)
- created profiles to exclude/include *PerfTest
- fixed dependency test check
- included integration test for overall coverage
- increased margings in existing perf test to reduce nordix intermitten failures
Issue-ID: CPS-1516
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ia82826f610636c14aa7e8939b385c278e5039817
|