summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpriyank <priyank.maheshwari@est.tech>2023-04-28 15:02:00 +0100
committermpriyank <priyank.maheshwari@est.tech>2023-05-02 12:09:29 +0100
commit74cf06f7af65c699187f9e268db58023db2e2a62 (patch)
treefc9439384f1b5336e337da62f0841c969aded8fc
parent5f964d1910e309502530631bff4d21e5d59f4dc8 (diff)
Align the hazelcast cluster names
- We need to align the hazelcast cluster names as members of the same cluster can join each other. We will still have exclusivity as the instance names and configs are different for each distributed object. - Exposing env variable to override the cluster name depending on the env it is run on. - Modified test cases to validate the cluster names as well Issue-ID: CPS-1637 Change-Id: Ib0f8c80dc9b2268f976b0c2d3ccd6d64792d4781 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
-rw-r--r--cps-application/src/main/resources/application.yml1
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfig.java13
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfig.java3
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfigSpec.groovy26
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfigSpec.groovy8
-rw-r--r--cps-ncmp-service/src/test/resources/application.yml1
-rw-r--r--cps-service/src/main/java/org/onap/cps/cache/AnchorDataCacheConfig.java3
-rw-r--r--cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java10
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/cache/AnchorDataCacheConfigSpec.groovy8
-rw-r--r--cps-service/src/test/resources/application.yml1
10 files changed, 42 insertions, 32 deletions
diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml
index 1eb1c11f20..ccd09c8555 100644
--- a/cps-application/src/main/resources/application.yml
+++ b/cps-application/src/main/resources/application.yml
@@ -199,6 +199,7 @@ ncmp:
# Custom Hazelcast Config.
hazelcast:
+ cluster-name: ${CPS_NCMP_CACHES_CLUSTER_NAME:"cps-and-ncmp-common-cache-cluster"}
mode:
kubernetes:
enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false}
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfig.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfig.java
index ff7afc9eb7..62a380ca5c 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfig.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfig.java
@@ -51,9 +51,7 @@ public class SynchronizationCacheConfig extends HazelcastCacheConfig {
*/
@Bean
public BlockingQueue<DataNode> moduleSyncWorkQueue() {
- return createHazelcastInstance("moduleSyncWorkQueue", commonQueueConfig,
- "synchronization-caches")
- .getQueue("moduleSyncWorkQueue");
+ return createHazelcastInstance("moduleSyncWorkQueue", commonQueueConfig).getQueue("moduleSyncWorkQueue");
}
/**
@@ -63,9 +61,8 @@ public class SynchronizationCacheConfig extends HazelcastCacheConfig {
*/
@Bean
public IMap<String, Object> moduleSyncStartedOnCmHandles() {
- return createHazelcastInstance("moduleSyncStartedOnCmHandles", moduleSyncStartedConfig,
- "synchronization-caches")
- .getMap("moduleSyncStartedOnCmHandles");
+ return createHazelcastInstance("moduleSyncStartedOnCmHandles", moduleSyncStartedConfig).getMap(
+ "moduleSyncStartedOnCmHandles");
}
/**
@@ -75,8 +72,6 @@ public class SynchronizationCacheConfig extends HazelcastCacheConfig {
*/
@Bean
public IMap<String, Boolean> dataSyncSemaphores() {
- return createHazelcastInstance("dataSyncSemaphores", dataSyncSemaphoresConfig,
- "synchronization-caches")
- .getMap("dataSyncSemaphores");
+ return createHazelcastInstance("dataSyncSemaphores", dataSyncSemaphoresConfig).getMap("dataSyncSemaphores");
}
}
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfig.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfig.java
index d2c3dc2599..443ebc627a 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfig.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfig.java
@@ -45,7 +45,6 @@ public class ForwardedSubscriptionEventCacheConfig extends HazelcastCacheConfig
@Bean
public IMap<String, Set<String>> forwardedSubscriptionEventCache() {
return createHazelcastInstance("hazelCastInstanceSubscriptionEvents",
- forwardedSubscriptionEventCacheMapConfig, "cps-ncmp-service-caches")
- .getMap("forwardedSubscriptionEventCache");
+ forwardedSubscriptionEventCacheMapConfig).getMap("forwardedSubscriptionEventCache");
}
}
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfigSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfigSpec.groovy
index 567debdded..c0fc18abfc 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfigSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationCacheConfigSpec.groovy
@@ -59,20 +59,28 @@ class SynchronizationCacheConfigSpec extends Specification {
def 'Verify configs for Distributed objects'(){
given: 'the Module Sync Work Queue config'
- def queueConfig = Hazelcast.getHazelcastInstanceByName('moduleSyncWorkQueue').config.queueConfigs.get('defaultQueueConfig')
+ def moduleSyncWorkQueueConfig = Hazelcast.getHazelcastInstanceByName('moduleSyncWorkQueue').config
+ def moduleSyncDefaultWorkQueueConfig = moduleSyncWorkQueueConfig.queueConfigs.get('defaultQueueConfig')
and: 'the Module Sync Started Cm Handle Map config'
- def moduleSyncStartedOnCmHandlesConfig = Hazelcast.getHazelcastInstanceByName('moduleSyncStartedOnCmHandles').config.mapConfigs.get('moduleSyncStartedConfig')
+ def moduleSyncStartedOnCmHandlesConfig = Hazelcast.getHazelcastInstanceByName('moduleSyncStartedOnCmHandles').config
+ def moduleSyncStartedOnCmHandlesMapConfig = moduleSyncStartedOnCmHandlesConfig.mapConfigs.get('moduleSyncStartedConfig')
and: 'the Data Sync Semaphores Map config'
- def dataSyncSemaphoresConfig = Hazelcast.getHazelcastInstanceByName('dataSyncSemaphores').config.mapConfigs.get('dataSyncSemaphoresConfig')
+ def dataSyncSemaphoresConfig = Hazelcast.getHazelcastInstanceByName('dataSyncSemaphores').config
+ def dataSyncSemaphoresMapConfig = dataSyncSemaphoresConfig.mapConfigs.get('dataSyncSemaphoresConfig')
expect: 'system created instance with correct config of Module Sync Work Queue'
- assert queueConfig.backupCount == 3
- assert queueConfig.asyncBackupCount == 3
+ assert moduleSyncDefaultWorkQueueConfig.backupCount == 3
+ assert moduleSyncDefaultWorkQueueConfig.asyncBackupCount == 3
and: 'Module Sync Started Cm Handle Map has the correct settings'
- assert moduleSyncStartedOnCmHandlesConfig.backupCount == 3
- assert moduleSyncStartedOnCmHandlesConfig.asyncBackupCount == 3
+ assert moduleSyncStartedOnCmHandlesMapConfig.backupCount == 3
+ assert moduleSyncStartedOnCmHandlesMapConfig.asyncBackupCount == 3
and: 'Data Sync Semaphore Map has the correct settings'
- assert dataSyncSemaphoresConfig.backupCount == 3
- assert dataSyncSemaphoresConfig.asyncBackupCount == 3
+ assert dataSyncSemaphoresMapConfig.backupCount == 3
+ assert dataSyncSemaphoresMapConfig.asyncBackupCount == 3
+ and: 'all instances are part of same cluster'
+ def testClusterName = 'cps-and-ncmp-test-caches'
+ assert moduleSyncWorkQueueConfig.clusterName == testClusterName
+ assert moduleSyncStartedOnCmHandlesConfig.clusterName == testClusterName
+ assert dataSyncSemaphoresConfig.clusterName == testClusterName
}
def 'Verify deployment network configs for Distributed objects'() {
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfigSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfigSpec.groovy
index 7448daf598..03d3a1c105 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfigSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/ForwardedSubscriptionEventCacheConfigSpec.groovy
@@ -44,10 +44,12 @@ class ForwardedSubscriptionEventCacheConfigSpec extends Specification {
def 'Verify configs for Distributed Caches'(){
given: 'the Forwarded Subscription Event Cache config'
- def forwardedSubscriptionEventCacheConfig = Hazelcast.getHazelcastInstanceByName('hazelCastInstanceSubscriptionEvents').config.mapConfigs.get('forwardedSubscriptionEventCacheMapConfig')
+ def forwardedSubscriptionEventCacheConfig = Hazelcast.getHazelcastInstanceByName('hazelCastInstanceSubscriptionEvents').config
+ def forwardedSubscriptionEventCacheMapConfig = forwardedSubscriptionEventCacheConfig.mapConfigs.get('forwardedSubscriptionEventCacheMapConfig')
expect: 'system created instance with correct config'
- assert forwardedSubscriptionEventCacheConfig.backupCount == 3
- assert forwardedSubscriptionEventCacheConfig.asyncBackupCount == 3
+ assert forwardedSubscriptionEventCacheConfig.clusterName == 'cps-and-ncmp-test-caches'
+ assert forwardedSubscriptionEventCacheMapConfig.backupCount == 3
+ assert forwardedSubscriptionEventCacheMapConfig.asyncBackupCount == 3
}
def 'Verify deployment network configs for Distributed Caches'() {
diff --git a/cps-ncmp-service/src/test/resources/application.yml b/cps-ncmp-service/src/test/resources/application.yml
index 679248ba86..66194ad9e5 100644
--- a/cps-ncmp-service/src/test/resources/application.yml
+++ b/cps-ncmp-service/src/test/resources/application.yml
@@ -39,6 +39,7 @@ ncmp:
# Custom Hazelcast Config.
hazelcast:
+ cluster-name: "cps-and-ncmp-test-caches"
mode:
kubernetes:
enabled: false
diff --git a/cps-service/src/main/java/org/onap/cps/cache/AnchorDataCacheConfig.java b/cps-service/src/main/java/org/onap/cps/cache/AnchorDataCacheConfig.java
index 5ee6b3804e..efe19c6cb7 100644
--- a/cps-service/src/main/java/org/onap/cps/cache/AnchorDataCacheConfig.java
+++ b/cps-service/src/main/java/org/onap/cps/cache/AnchorDataCacheConfig.java
@@ -40,7 +40,6 @@ public class AnchorDataCacheConfig extends HazelcastCacheConfig {
*/
@Bean
public IMap<String, AnchorDataCacheEntry> anchorDataCache() {
- return createHazelcastInstance("hazelCastInstanceCpsCore", anchorDataCacheMapConfig, "cps-service-caches")
- .getMap("anchorDataCache");
+ return createHazelcastInstance("hazelCastInstanceCpsCore", anchorDataCacheMapConfig).getMap("anchorDataCache");
}
}
diff --git a/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java b/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
index 4aebceae0a..405e6e2a88 100644
--- a/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
+++ b/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
@@ -35,6 +35,9 @@ import org.springframework.beans.factory.annotation.Value;
@Slf4j
public class HazelcastCacheConfig {
+ @Value("${hazelcast.cluster-name}")
+ protected String clusterName;
+
@Value("${hazelcast.mode.kubernetes.enabled}")
protected boolean cacheKubernetesEnabled;
@@ -42,12 +45,11 @@ public class HazelcastCacheConfig {
protected String cacheKubernetesServiceName;
protected HazelcastInstance createHazelcastInstance(final String hazelcastInstanceName,
- final NamedConfig namedConfig, final String clusterName) {
- return Hazelcast.newHazelcastInstance(initializeConfig(hazelcastInstanceName, namedConfig, clusterName));
+ final NamedConfig namedConfig) {
+ return Hazelcast.newHazelcastInstance(initializeConfig(hazelcastInstanceName, namedConfig));
}
- private Config initializeConfig(final String instanceName, final NamedConfig namedConfig,
- final String clusterName) {
+ private Config initializeConfig(final String instanceName, final NamedConfig namedConfig) {
final Config config = new Config(instanceName);
if (namedConfig instanceof MapConfig) {
config.addMapConfig((MapConfig) namedConfig);
diff --git a/cps-service/src/test/groovy/org/onap/cps/cache/AnchorDataCacheConfigSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/cache/AnchorDataCacheConfigSpec.groovy
index 76b5345534..e219945d83 100644
--- a/cps-service/src/test/groovy/org/onap/cps/cache/AnchorDataCacheConfigSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/cache/AnchorDataCacheConfigSpec.groovy
@@ -46,10 +46,12 @@ class AnchorDataCacheConfigSpec extends Specification {
def 'Verify configs for Distributed Caches'(){
given: 'the Anchor Data Cache config'
- def anchorDataCacheConfig = Hazelcast.getHazelcastInstanceByName('hazelCastInstanceCpsCore').config.mapConfigs.get('anchorDataCacheMapConfig')
+ def anchorDataCacheConfig = Hazelcast.getHazelcastInstanceByName('hazelCastInstanceCpsCore').config
+ def anchorDataCacheMapConfig = anchorDataCacheConfig.mapConfigs.get('anchorDataCacheMapConfig')
expect: 'system created instance with correct config'
- assert anchorDataCacheConfig.backupCount == 3
- assert anchorDataCacheConfig.asyncBackupCount == 3
+ assert anchorDataCacheConfig.clusterName == 'cps-and-ncmp-test-caches'
+ assert anchorDataCacheMapConfig.backupCount == 3
+ assert anchorDataCacheMapConfig.asyncBackupCount == 3
}
def 'Verify deployment network configs for Distributed Caches'() {
diff --git a/cps-service/src/test/resources/application.yml b/cps-service/src/test/resources/application.yml
index 21f3745337..dc100667ba 100644
--- a/cps-service/src/test/resources/application.yml
+++ b/cps-service/src/test/resources/application.yml
@@ -51,6 +51,7 @@ logging:
# Custom Hazelcast Config.
hazelcast:
+ cluster-name: "cps-and-ncmp-test-caches"
mode:
kubernetes:
enabled: false