diff options
author | Brinda Santh <bs2796@att.com> | 2020-02-05 15:51:03 -0500 |
---|---|---|
committer | Brinda Santh <bs2796@att.com> | 2020-02-12 14:16:28 -0500 |
commit | 65bb9d0d83762e8fa8e3ab568c801908eafa0686 (patch) | |
tree | ad8ae7fafc1954b44ddd9b72d1fceb482f042431 /ms/blueprintsprocessor/application/src/main/kotlin | |
parent | 723cb0b0f4fca052561f21bb8312bf7c6e8cd524 (diff) |
Cluster co-ordination with Hazelcast.
Remove Atomix implementation, due to Kubernetes clustering issues.
Cluster environment property changes.
Issue-ID: CCSDK-2011
Signed-off-by: Brinda Santh <bs2796@att.com>
Change-Id: I23f40c92c0adc6b3ab8690871385f78525c76433
Diffstat (limited to 'ms/blueprintsprocessor/application/src/main/kotlin')
-rw-r--r-- | ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/BluePrintProcessorCluster.kt | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/BluePrintProcessorCluster.kt b/ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/BluePrintProcessorCluster.kt index 4c9314ec2..16cb5d6e2 100644 --- a/ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/BluePrintProcessorCluster.kt +++ b/ms/blueprintsprocessor/application/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/BluePrintProcessorCluster.kt @@ -20,14 +20,13 @@ import kotlinx.coroutines.runBlocking import org.onap.ccsdk.cds.blueprintsprocessor.core.service.BluePrintClusterService import org.onap.ccsdk.cds.blueprintsprocessor.core.service.ClusterInfo import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants -import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException import org.onap.ccsdk.cds.controllerblueprints.core.logger -import org.onap.ccsdk.cds.controllerblueprints.core.splitCommaAsList import org.onap.ccsdk.cds.controllerblueprints.core.utils.ClusterUtils import org.springframework.boot.context.event.ApplicationReadyEvent import org.springframework.context.event.EventListener import org.springframework.stereotype.Component import java.time.Duration +import java.util.Properties import javax.annotation.PreDestroy /** @@ -44,15 +43,13 @@ import javax.annotation.PreDestroy * 2. Container names should end with sequence number. * Blueprintprocessor example be : cds-controller-1, cds-controller-2, cds-controller-3 * ResourceResolution example be : resource-resolution-1, resource-resolution-2, resource-resolution-3 - * 3. Each contained, should have environment properties CLUSTER_ID, CLUSTER_NODE_ID, CLUSTER_NODE_ADDRESS, - * CLUSTER_MEMBERS, CLUSTER_STORAGE_PATH + * 3. Each contained, should have environment properties CLUSTER_ID, CLUSTER_NODE_ID, CLUSTER_JOIN_AS_CLIENT, + * CLUSTER_CONFIG_FILE * Example values : * CLUSTER_ID: cds-cluster * CLUSTER_NODE_ID: cds-controller-2 - * CLUSTER_NODE_ADDRESS: cds-controller-2 - * CLUSTER_MEMBERS: cds-controller-1,cds-controller-2,cds-controller-3,resource-resolution-1,resource-resolution-2,resource-resolution-3 - * CLUSTER_STORAGE_PATH: /opt/app/onap/config/cluster - * CLUSTER_CONFIG_FILE: /opt/app/onap/config/atomix/atomix-multicast.conf + * CLUSTER_JOIN_AS_CLIENT: "true" or "false" + * CLUSTER_CONFIG_FILE: <Config location> * 4. Cluster will be enabled only all the above properties present in the environments. * if CLUSTER_ENABLED is present, then it will try to create cluster. */ @@ -68,23 +65,20 @@ open class BluePrintProcessorCluster(private val bluePrintClusterService: BluePr val clusterId = ClusterUtils.clusterId() val nodeId = ClusterUtils.clusterNodeId() - val nodeAddress = ClusterUtils.clusterNodeAddress() - val clusterMembers = System.getenv(BluePrintConstants.PROPERTY_CLUSTER_MEMBERS) - ?: throw BluePrintProcessorException("couldn't get environment variable ${BluePrintConstants.PROPERTY_CLUSTER_MEMBERS}") - - val clusterMemberList = clusterMembers.splitCommaAsList() - - val clusterStorage = System.getenv(BluePrintConstants.PROPERTY_CLUSTER_STORAGE_PATH) - ?: throw BluePrintProcessorException("couldn't get environment variable ${BluePrintConstants.PROPERTY_CLUSTER_STORAGE_PATH}") + val joinAsClient = + (System.getenv(BluePrintConstants.PROPERTY_CLUSTER_JOIN_AS_CLIENT) ?: "false").toBoolean() val clusterConfigFile = System.getenv(BluePrintConstants.PROPERTY_CLUSTER_CONFIG_FILE) + val properties = Properties() + properties["hazelcast.logging.type"] = "slf4j" + val clusterInfo = ClusterInfo( id = clusterId, nodeId = nodeId, - clusterMembers = clusterMemberList, nodeAddress = nodeAddress, - storagePath = clusterStorage, - configFile = clusterConfigFile + joinAsClient = joinAsClient, + configFile = clusterConfigFile, + properties = properties ) bluePrintClusterService.startCluster(clusterInfo) } else { |