From: Joseph Keenan Date: Fri, 19 Aug 2022 10:48:59 +0000 (+0000) Subject: Merge "Performance Improvement: Temporal event" X-Git-Tag: 3.1.0~35 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=a1a33160054bb9e7ffa57e18270dfa0f9a2ad77e;hp=ca19d1864d7c39982e0fcf991840bd52c8fd6ddb;p=cps.git Merge "Performance Improvement: Temporal event" --- diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml index ea1b93ba4..17551344f 100644 --- a/cps-application/src/main/resources/application.yml +++ b/cps-application/src/main/resources/application.yml @@ -107,8 +107,8 @@ notification: enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""} async: executor: - core-pool-size: 10 - max-pool-size: 100 + core-pool-size: 2 + max-pool-size: 10 queue-capacity: 500 wait-for-tasks-to-complete-on-shutdown: true thread-name-prefix: Async- diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy index 863977a64..81268cbc0 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/ModuleSyncWatchdogSpec.groovy @@ -21,12 +21,11 @@ package org.onap.cps.ncmp.api.inventory.sync -import org.mockito.Mock + import org.onap.cps.ncmp.api.impl.event.lcm.LcmEventsCmHandleStateHandler import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle import org.onap.cps.ncmp.api.inventory.CmHandleState import org.onap.cps.ncmp.api.inventory.CompositeState -import org.onap.cps.ncmp.api.inventory.DataStoreSyncState import org.onap.cps.ncmp.api.inventory.InventoryPersistence import org.onap.cps.ncmp.api.inventory.LockReasonCategory import org.onap.cps.ncmp.api.inventory.CompositeStateBuilder diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy index 82e9d33ae..fb4ca3933 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/sync/SyncUtilsSpec.groovy @@ -62,13 +62,25 @@ class SyncUtilsSpec extends Specification{ @Shared def dataNode = new DataNode(leaves: ['id': 'cm-handle-123']) + @Shared + def dataNodeAdditionalProperties = new DataNode(leaves: ['name': 'dmiProp1', 'value': 'dmiValue1']) + + def 'Get an advised Cm-Handle where ADVISED cm handle #scenario'() { given: 'the inventory persistence service returns a collection of data nodes' mockCmHandleQueries.getCmHandlesByState(CmHandleState.ADVISED) >> dataNodeCollection + and: 'we have some additional (dmi, private) properties' + dataNodeAdditionalProperties.xpath = dataNode.xpath + '/additional-properties[@name="dmiProp1"]' + dataNode.childDataNodes = [dataNodeAdditionalProperties] when: 'get advised cm handles are fetched' def yangModelCmHandles = objectUnderTest.getAdvisedCmHandles() then: 'the returned data node collection is the correct size' yangModelCmHandles.size() == expectedDataNodeSize + and: 'if there is a data node the additional (dmi, private) properties are included' + if (expectedDataNodeSize > 0) { + assert yangModelCmHandles[0].dmiProperties[0].name == 'dmiProp1' + assert yangModelCmHandles[0].dmiProperties[0].value == 'dmiValue1' + } and: 'yang model collection contains the correct data' yangModelCmHandles.stream().map(yangModel -> yangModel.id).collect(Collectors.toSet()) == dataNodeCollection.stream().map(dataNode -> dataNode.leaves.get("id")).collect(Collectors.toSet()) diff --git a/docs/cps-events.rst b/docs/cps-events.rst index a28d4b052..34b5a5f66 100644 --- a/docs/cps-events.rst +++ b/docs/cps-events.rst @@ -8,12 +8,6 @@ CPS Events ########## -CPS Core -******** -.. - Cps core events yet to be written - - CPS-NCMP ******** @@ -23,16 +17,7 @@ Lifecycle Management (LCM) Event Overview -------- -Lifecycle management events are published as cm handle state transitions from one state to another. - - -LCM events and state handler ----------------------------- -The LCM events are triggered under the state handler which has the following responsibilities: - -#. Updating and persisting cm handle state based on the target state of the cm handle - -#. Create and calls to publish the LCM event based on the cm handle state transition that occured +LCM events for CM Handles are published when a CM Handle is created, deleted or another change in the cm handle state occurs. **3 possible event types:** @@ -40,8 +25,6 @@ The LCM events are triggered under the state handler which has the following res * Update * Delete - - LCM Event Schema ---------------- The current published LCM event is based on the following schema: