diff options
7 files changed, 40 insertions, 9 deletions
@@ -62,6 +62,11 @@ committers: company: 'Ericsson Software Technology' id: 'JosephKeenan' timezone: 'Europe/Dublin' + - name: 'Sourabh Sharma' + email: 'sourabh.sourabh@est.tech' + company: 'Ericsson Software Technology' + id: 'sourabh_sourabh' + timezone: 'Europe/Dublin' repositories: - cps tsc: diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml index 6bbe80bfb7..17551344fe 100644 --- a/cps-application/src/main/resources/application.yml +++ b/cps-application/src/main/resources/application.yml @@ -46,6 +46,13 @@ spring: password: ${DB_PASSWORD}
driverClassName: org.postgresql.Driver
initialization-mode: always
+ hikari:
+ minimumIdle: 5
+ maximumPoolSize: 80
+ idleTimeout: 120000
+ connectionTimeout: 300000
+ leakDetectionThreshold: 300000
+ pool-name: CpsDatabasePool
cache:
type: caffeine
@@ -100,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-
@@ -164,4 +171,4 @@ timers: locked-modules-sync:
sleep-time-ms: 300000
cm-handle-data-sync:
- sleep-time-ms: 30000
\ No newline at end of file + sleep-time-ms: 30000
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/NcmpConfiguration.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/NcmpConfiguration.java index a41815554f..f250ddb73a 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/NcmpConfiguration.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/NcmpConfiguration.java @@ -20,6 +20,7 @@ package org.onap.cps.ncmp.api.impl.config; +import java.time.Duration; import java.util.Arrays; import lombok.AccessLevel; import lombok.Getter; @@ -39,6 +40,9 @@ import org.springframework.web.client.RestTemplate; @RequiredArgsConstructor(access = AccessLevel.PROTECTED) public class NcmpConfiguration { + private static final Duration CONNECTION_TIMEOUT_MILLISECONDS = Duration.ofMillis(180000); + private static final Duration READ_TIMEOUT_MILLISECONDS = Duration.ofMillis(180000); + @Getter @Component public static class DmiProperties { @@ -59,7 +63,8 @@ public class NcmpConfiguration { @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) public static RestTemplate restTemplate(final RestTemplateBuilder restTemplateBuilder) { - final RestTemplate restTemplate = restTemplateBuilder.build(); + final RestTemplate restTemplate = restTemplateBuilder.setConnectTimeout(CONNECTION_TIMEOUT_MILLISECONDS) + .setReadTimeout(READ_TIMEOUT_MILLISECONDS).build(); setRestTemplateMessageConverters(restTemplate); return restTemplate; } 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 863977a64f..81268cbc0b 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 82e9d33ae7..fb4ca3933d 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/csit/plans/cps/test.properties b/csit/plans/cps/test.properties index 47bb43b0a1..449aa93816 100644 --- a/csit/plans/cps/test.properties +++ b/csit/plans/cps/test.properties @@ -23,4 +23,7 @@ DMI_SERVICE_URL=http://$LOCAL_IP:$DMI_PORT DOCKER_REPO=nexus3.onap.org:10003 CPS_VERSION=latest -DMI_VERSION=1.2.0-SNAPSHOT-latest
\ No newline at end of file +DMI_VERSION=1.2.0-SNAPSHOT-latest + +ADVISED_MODULES_SYNC_SLEEP_TIME_MS=2000 +CMHANDLE_DATA_SYNC_SLEEP_TIME_MS=2000
\ No newline at end of file diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 8d3a0a3579..ca7795f2f7 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -49,8 +49,8 @@ services: notification.enabled: 'true' notification.async.executor.time-out-value-in-ms: 2000 NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*' - TIMERS_ADVISED-MODULES-SYNC_SLEEP-TIME-MS: 2000 - TIMERS_CM-HANDLE-DATA-SYNC_SLEEP-TIME-MS: 2000 + TIMERS_ADVISED-MODULES-SYNC_SLEEP-TIME-MS: ${ADVISED_MODULES_SYNC_SLEEP_TIME_MS:-30000} + TIMERS_CM-HANDLE-DATA-SYNC_SLEEP-TIME-MS: ${CMHANDLE_DATA_SYNC_SLEEP_TIME_MS:-30000} restart: unless-stopped depends_on: - dbpostgresql |