Age | Commit message (Collapse) | Author | Files | Lines |
|
- New algorithm is implemented as per the pseudo code -> https://wiki.onap.org/display/DW/CPS-1733%3A+Upgrade+YANG+Schema-Set+for+CM+Handle+Using+a+Module+Set+Tag
Issue-ID: CPS-2027
Change-Id: I78fc1c8f927de1a1b814c3c1c62351dda58f2139
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
|
|
Test changes:
- Check moduleSetTag (and alternateId) in unit test of get CM handle.
- Verify moduleSetTag is updated in tests of CM handle upgrade.
Code changes:
- Set moduleSetTag when converting a YangModelCmHandle to
NcmpServiceCmHandle.
- Set moduleSetTag in YangModelCmHandle copy constructor.
- Minor refactor using StringUtils::isBlank.
Issue-ID: CPS-2027
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6a9a92aa58d15c6ecf5a6bb21aa5c9d6ec8dc817
|
|
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
|
|
integration-test module is not recording code coverage due to
incorrectly overriding the maven surefire config from parent pom.
Issue-ID: CPS-2086
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I774c64acedca546f5c01403597bd9f5010de73d2
|
|
- 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>
|
|
- add query parameters: module-name and revision to OpenAPI
- extend the controller method to hande the new parameters
- add the new method stack to the service layer
- extend the SQL query to support the new parameters
- add unit and integration testwares
Issue-ID: CPS-1135
Change-Id: I089ad2ad71effb58ac0ba809e9f441d6cdb59c4f
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
|
|
- retry yang parser exceptions one time by clearing cache
- split yangUtils into YangParserHelper (instance based) and YangUtils for non-parsering static methods
- removed public methods only used from test. Refactored to use variation with (empty) parent path
- removed use of optional for parentPath, easier to handle with just an empty string!
- make methods no longer used in production code in YangUtils are private
- udpate testware to use proper public methods instead of private methods of yang utils / parser (helper)
Issue-ID:CPS-2000
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I0c7590a5e1495d047006e7136f1bd873be37f7b0
|
|
- 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
|
|
CpsDataService::saveListElementsBatch method is not needed as
saveListElements supports saving multiple list elements in a single
operation. This both simplifies implementation and greatly improves
performance when saving list elements, as the Yang parser need only
run once for the whole batch.
- Change InventoryPersistence to save CM-handles in batches of 100
using existing CpsDataService::saveListElements method.
- Remove not needed CpsDataService::saveListElementBatch.
Issue-ID: CPS-2019
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I8b74dda2917e094d064b42f2c0e4d57029b90395
|
|
|
|
Add performance tests for CpsDataService methods:
- saveListElements
- saveListElementsBatch
Results show that saveListElementsBatch (used only by NCMP for
saving CM-handles) has extremely poor performance compared to
saveListElements, which is over 4x faster and uses less memory.
Issue-ID: CPS-2019
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I89d634c69b3790f1e1a79e2ff5392db5a45c761b
|
|
This change fixes a few issues related to JSON encoding of
FragmentEntity attributes (data leaves). This significantly
improves update performance in cases of partial updates.
- Normalize JSON and order leaves by name when comparing
data leaves during update operations.
- Update performance test timings.
Issue-ID: CPS-2018
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ia764a353bf96c05758827845e1358745247ee237
|
|
Test suite for CpsDataService update methods:
- updateDataLeaves
- updateDataNodeAndDescendants
- replaceListContent
Added JVM warmup for update tests
Issue-ID: CPS-1674
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ia07d792bef63fbe2d376a16c210d9d0c4425e302
|
|
CpsAdminService was split into CpsDataspaceService and CpsAnchorService.
One test has incorrect changes.
Issue-ID: CPS-871
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I8013c4d9d17a5846d183e1c06bc11fa5ef9b4c4d
|
|
- Splitting admin service into AnchorService and DataspaceService
(this resolves the cyclic dependency)
- Improved Delete dataspace integration error tests
(were depending on execution order, now independent)
Issue-ID: CPS-871
Change-Id: I47efedb6eb4bd2900f72d689616b7b7b62df2938
Signed-off-by: halil.cakal <halil.cakal@est.tech>
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
|
|
- removed existing code for sending notifications to topic
cps.dataupdated events formerly used by cps-temporal
- corresponding testware removed or updated
- unnecessary to fetch anchor details for delete and replace operation
removed which might gain minor performance boost
- yaml configurations , documentation removal and update
- Added missing test for AsyncConfig to comply with coverage check
Issue-ID: CPS-2005
Change-Id: I1848f7f229cb713fe8c0302ea50328e7451652ee
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
|
|
- added new dmi model registry and modified tests
Issue-ID: CPS-1989
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
Change-Id: I576a5a0704fe28924dcc304c276fec5665b52764
|
|
- Incl. integration test
- Prod code is changed to use new method that update yand module.
- updated module resource to return multiple modules.
Issue-ID: CPS-1806
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I751d9393ce78a3be9daeaff6d0252738c02115e0
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- upgrade Guava to the latest version
to fix critial vulnerability
Issue-ID: CPS-1987
Change-Id: I6ea314407133dea229e9626fdf2d9c938f7c7e08
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
Presently, performance tests measure CURRENT memory usage instead of
PEAK memory usage, leading to under-reporting if garbage collector
runs during a test. This patch fixes it, so that memory reported will
now be at least the memory of live objects at that time.
- Add tests for ResourceMeter class
- ResourceMeter measures peak memory usage instead of current
Issue-ID: CPS-1967
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I36e9ea2196420b84877ecabc1b7331c5d3e2e252
|
|
- 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
|
|
New limits for time and memory are based on analyzing 40 previous
performance job runs. Test limits are chosen so that individual
test cases would pass 95% of the the time.
Issue-ID: CPS-1884
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iadca27eb1f9482016759070e5afdc70c53f9d043
|
|
-updated recordAndAssertResourceUsage
Issue-ID: CPS-1941
Signed-off-by: seanbeirne <sean.beirne@est.tech>
Change-Id: I62f42c7ab396e555d54a7280ebc7da8804045667
|
|
|
|
- Added new schema to upgrade model into component.
- Modified Ncmp rest input mapper to add upgradedCmHandles attributes.
- Modified cm handle state mapper to add new lock reason.
- Added new method to parse and upgrade Cm handles in DmiRegistration.
- YANG data converter is modified to add "module-set-tag" atribute.
- Cm handle new query method is added for cps path without appending
ancestor.
- Modified setCompositeStateForRetry to add lock reason.
- New lock reason category is added.
- Existing module sync service is modified to upgrade the model
"syncAndCreateOrUpgradeSchemaSetAndAnchor".
- Sync util method "getModuleSyncFailedCmHandles" to modified to add
another lock reason "LOCKED_MISBEHAVING".
- Added new attribute "UpgradedCmHandles" into DmiPluginRegistration and DmiPluginRegistrationResponse.
- New attribute "moduleSetTag" is added into NcmpServiceCmHandle.
- New model "UpgradedCmHandles" is added.
- New method "updateSchemaSetWithExistingModules" is added into cps
module service to update cm handle with exsting model.
- Code coverage is reducced to 96 percentage that would be addressed and
pushed into new patch.
Issue-ID: CPS-1798
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I540acb404e38fc434de87a0d959bfde710a18b03
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
Issue-ID: CPS-1753
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
Change-Id: I08fd0802f536b8fe333ddbfc9301356095f58171
|
|
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
|
|
|
|
There were some issues in original update test that caused no updates to
be written. This fixes those issues and adds verifies the subscriber
count.
Issue-ID: CPS-1881
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7b5a5e95bee247d1b1d52f5bc5e8567b8871a659
|
|
Issue-ID: CPS-1881
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I6b18d13fd8f1f877eb21fee783bc3fc8515a575c
|
|
- 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
|
|
|
|
- there was no test to check the exceptions thrown by getDataNodes
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: Ifa1df8ebe83fafba833be14559d94261bca93ef0
|
|
- 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>
|
|
The error is caused by the fetch-descendants code using
ResultSet.getLong which returns a 'long' primitive instead
of a 'Long' object. Thus a parent ID of 'NULL' becomes '0',
which causes an error during update. To preserve the NULL
value, ResultSet.getObject must be used.
Issue-ID: CPS-1841
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ida6837a04954cd3c23f0f2faabd7d0712d8ee19d
|
|
Incorrect limit on the warmup results in performance pipeline
failing, as the first test that runs must include the time taken
to write initial data.
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I82353fcd5d0904f458808b32f4f01597ba25a688
|
|
- Populate 3 anchors with 1000 openroadm devices nodes for
read and query tests (over 250,000 fragments)
- Increase update perf tests to update 100 out of 1000 devices
- Increase delete perf tests to delete 100 out of 300 devices
- Remove bookstore data from performance tests
- Update test timings
Issue-ID: CPS-1811
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iaa36694be907278e772ae729a85510ea9d004fd1
|
|
Issue-ID: CPS-1605
Change-Id: Ia6ba73d5e4930bcc547cf24d06c50c681c3a7452
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
|
|
Add pagination query parameters in query across all anchors API
pagination parameters (pageIndex and pageSize) are optional
default is to query all fragments
each pageSize represents number of records(number of anchors)
TotalRecords is returned in response header to find number of pages.
- If pagination option is provided in request then query number of
anchors equal to pageSize. pageIndex is used for setting offset.
- return number of records(one anchor per record) as per pagesize
and pageSize
Issue-ID: CPS-1605
Change-ID: I73f97f986a817d423f93a8d922dcd9647b2504bc
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
|