You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/04/24 12:48:32 UTC
[1/9] stratos git commit: Add cluster monitor updating methods when
the deployment policy is updated
Repository: stratos
Updated Branches:
refs/heads/master 0c515aa01 -> c4627b6a2
Add cluster monitor updating methods when the deployment policy is updated
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/528f5b56
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/528f5b56
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/528f5b56
Branch: refs/heads/master
Commit: 528f5b56ebf105307c1109b21ac19e737a2ccbc9
Parents: 0c515aa
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:16:39 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:16:39 2015 +0530
----------------------------------------------------------------------
.../services/impl/AutoscalerServiceImpl.java | 123 ++++++++++++++++++-
1 file changed, 121 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/528f5b56/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 94249af..8dafd81 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.stratos.autoscaler.services.impl;
+import org.apache.axis2.AxisFault;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -28,6 +29,10 @@ import org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParse
import org.apache.stratos.autoscaler.applications.pojo.*;
import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
import org.apache.stratos.autoscaler.context.AutoscalerContext;
+import org.apache.stratos.autoscaler.context.InstanceContext;
+import org.apache.stratos.autoscaler.context.cluster.ClusterInstanceContext;
+import org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext;
+import org.apache.stratos.autoscaler.context.partition.network.ClusterLevelNetworkPartitionContext;
import org.apache.stratos.autoscaler.exception.AutoScalerException;
import org.apache.stratos.autoscaler.exception.InvalidArgumentException;
import org.apache.stratos.autoscaler.exception.application.ApplicationDefinitionException;
@@ -45,11 +50,15 @@ import org.apache.stratos.autoscaler.pojo.policy.deployment.DeploymentPolicy;
import org.apache.stratos.autoscaler.registry.RegistryManager;
import org.apache.stratos.autoscaler.services.AutoscalerService;
import org.apache.stratos.autoscaler.util.AutoscalerUtil;
+import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
+import org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidPartitionExceptionException;
+import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
import org.apache.stratos.common.Properties;
import org.apache.stratos.common.client.CloudControllerServiceClient;
import org.apache.stratos.common.client.StratosManagerServiceClient;
import org.apache.stratos.common.constants.StratosConstants;
import org.apache.stratos.common.partition.NetworkPartition;
+import org.apache.stratos.common.partition.Partition;
import org.apache.stratos.common.util.CommonUtil;
import org.apache.stratos.manager.service.stub.domain.application.signup.ApplicationSignUp;
import org.apache.stratos.manager.service.stub.domain.application.signup.ArtifactRepository;
@@ -158,13 +167,13 @@ public class AutoscalerServiceImpl implements AutoscalerService {
applicationContext.getApplicationId()));
}
- if(AutoscalerContext.getInstance().getApplicationContext(applicationId) == null) {
+ if (AutoscalerContext.getInstance().getApplicationContext(applicationId) == null) {
String msg = "Application is not found as ApplicationContext. Please add application before updating it";
log.error(msg);
throw new ApplicationDefinitionException(msg);
}
- if(ApplicationHolder.getApplications().getApplication(applicationId) == null) {
+ if (ApplicationHolder.getApplications().getApplication(applicationId) == null) {
String msg = "Application is not found as Application. Please add application before updating it";
log.error(msg);
throw new ApplicationDefinitionException(msg);
@@ -949,6 +958,116 @@ public class AutoscalerServiceImpl implements AutoscalerService {
log.info("Successfully updated deployment policy: [deployment-policy-id] " + deploymentPolicyID);
}
+ updateClusterMonitors(deploymentPolicy);
+
+ }
+
+ private void updateClusterMonitors(DeploymentPolicy deploymentPolicy) throws InvalidDeploymentPolicyException {
+
+ for (ClusterMonitor clusterMonitor : AutoscalerContext.getInstance().getClusterMonitors().values()) {
+
+ if (deploymentPolicy.getDeploymentPolicyID().equals(clusterMonitor.getDeploymentPolicyId())) {
+
+ for (NetworkPartition networkPartition : deploymentPolicy.getNetworkPartitions()) {
+
+ ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext
+ = clusterMonitor.getClusterContext().getNetworkPartitionCtxt(networkPartition.getId());
+
+ try {
+ addNewPartitionsToClusterMonitor(clusterLevelNetworkPartitionContext, networkPartition,
+ deploymentPolicy.getDeploymentPolicyID(), clusterMonitor.getClusterContext().getServiceId());
+ } catch (RemoteException e) {
+ String message = "Cluster monitor update failed for [deployment-policy] "
+ + deploymentPolicy.getDeploymentPolicyID();
+ log.error(message);
+ throw new InvalidDeploymentPolicyException(message);
+ } catch (CloudControllerServiceInvalidPartitionExceptionException e) {
+
+ String message = "Cluster monitor update failed for [deployment-policy] "
+ + deploymentPolicy.getDeploymentPolicyID();
+ log.error(message);
+ throw new InvalidDeploymentPolicyException(message);
+ } catch (CloudControllerServiceInvalidCartridgeTypeExceptionException e) {
+
+ String message = "Cluster monitor update failed for [deployment-policy] "
+ + deploymentPolicy.getDeploymentPolicyID() + " [cluster] " + clusterMonitor.getClusterId();
+ log.error(message);
+ throw new InvalidDeploymentPolicyException(message);
+ }
+
+ removeOldPartitionsFromClusterMonitor(clusterLevelNetworkPartitionContext, networkPartition);
+
+ }
+ }
+ }
+ }
+
+ private void removeOldPartitionsFromClusterMonitor(ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext,
+ NetworkPartition networkPartition) {
+
+ for (InstanceContext instanceContext : clusterLevelNetworkPartitionContext.getInstanceIdToInstanceContextMap().values()) {
+
+ ClusterInstanceContext clusterInstanceContext = (ClusterInstanceContext) instanceContext;
+
+ for (ClusterLevelPartitionContext clusterLevelPartitionContext : clusterInstanceContext.getPartitionCtxts()) {
+
+ if (null == networkPartition.getPartition(clusterLevelPartitionContext.getPartitionId())) {
+
+ log.info(" +++ " + "We have found that this partition context which is in cluster monitor is removed in updated policy"
+ + " clusterLevelPartitionContext.getPartitionId() " + clusterLevelPartitionContext.getPartitionId());
+ //We have found that this partition context which is in cluster monitor is removed in updated policy
+
+ while (clusterLevelPartitionContext.getActiveMembers().size() != 0) {
+
+ MemberContext member = clusterLevelPartitionContext.getActiveMembers().get(0);
+ log.info(" +++ " + " Active member to be terminate " + member.getMemberId());
+ clusterLevelPartitionContext.moveActiveMemberToTerminationPendingMembers(member.getMemberId());
+ }
+
+ while (clusterLevelPartitionContext.getPendingMembers().size() != 0) {
+
+ MemberContext member = clusterLevelPartitionContext.getPendingMembers().get(0);
+ log.info(" +++ " + " Pending member to be terminate " + member.getMemberId());
+ clusterLevelPartitionContext.movePendingMemberToObsoleteMembers(member.getMemberId());
+ }
+ clusterLevelPartitionContext.setIsObsoletePartition(true);
+ }
+ }
+ }
+ }
+
+ private void addNewPartitionsToClusterMonitor(ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext,
+ NetworkPartition networkPartition, String deploymentPolicyID,
+ String cartridgeType) throws RemoteException,
+ CloudControllerServiceInvalidPartitionExceptionException,
+ CloudControllerServiceInvalidCartridgeTypeExceptionException {
+
+ boolean validationOfNetworkPartitionRequired = false;
+ for (Partition partition : networkPartition.getPartitions()) {
+
+ //Iterating through active instances
+ for (InstanceContext instanceContext : clusterLevelNetworkPartitionContext.getInstanceIdToInstanceContextMap().values()) {
+
+ ClusterInstanceContext clusterInstanceContext = (ClusterInstanceContext) instanceContext;
+ if (null == clusterInstanceContext.getPartitionCtxt(partition.getId())) {
+
+ log.info(" +++ " + "We have found that this partition which is in deployment policy/network partition is new"
+ + " clusterLevelPartitionContext.getPartitionId() " + partition.getId());
+
+ //We have found that this partition which is in deployment policy/network partition is new
+ ClusterLevelPartitionContext clusterLevelPartitionContext = new ClusterLevelPartitionContext(
+ partition, networkPartition.getId(), deploymentPolicyID);
+ validationOfNetworkPartitionRequired = true;
+ clusterInstanceContext.addPartitionCtxt(clusterLevelPartitionContext);
+ }
+ }
+ }
+
+ if (validationOfNetworkPartitionRequired) {
+
+ CloudControllerServiceClient.getInstance().validateNetworkPartitionOfDeploymentPolicy(cartridgeType,
+ clusterLevelNetworkPartitionContext.getId());
+ }
}
@Override
[9/9] stratos git commit: Update drools files with obsolete partition
check
Posted by la...@apache.org.
Update drools files with obsolete partition check
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/c4627b6a
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/c4627b6a
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/c4627b6a
Branch: refs/heads/master
Commit: c4627b6a217d6b179351b6df8ddae8029671e6aa
Parents: 779c643
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:44:30 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:44:30 2015 +0530
----------------------------------------------------------------------
.../modules/distribution/src/main/conf/drools/maxcheck.drl | 2 ++
.../modules/distribution/src/main/conf/drools/mincheck.drl | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/c4627b6a/products/stratos/modules/distribution/src/main/conf/drools/maxcheck.drl
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/drools/maxcheck.drl b/products/stratos/modules/distribution/src/main/conf/drools/maxcheck.drl
index 4d5668b..08cad47 100755
--- a/products/stratos/modules/distribution/src/main/conf/drools/maxcheck.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/maxcheck.drl
@@ -53,6 +53,8 @@ dialect "mvel"
partitionContext : ClusterLevelPartitionContext() from clusterInstanceContext.getPartitionCtxtsAsAnArray()
+ eval(!partitionContext.isObsoletePartition)
+
eval(log.debug("[max-check] [network-partition] " + clusterInstanceContext.getNetworkPartitionId()
+ " [cluster-instance] " + clusterInstanceContext.getId() + " [cluster] " + clusterId + " [partition] "
+ partitionContext.getPartitionId() + " Activated member count: " + partitionContext.getActiveInstanceCount()
http://git-wip-us.apache.org/repos/asf/stratos/blob/c4627b6a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
index 1be412a..96b60da 100755
--- a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl
@@ -79,7 +79,8 @@ dialect "mvel"
while(count != additionalInstances && partitionsAvailable){
ClusterLevelPartitionContext partitionContext = (ClusterLevelPartitionContext)partitionAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
- if(partitionContext != null){
+
+ if(partitionContext != null){
log.info("[min-check] Partition available, hence trying to spawn an instance to fulfil minimum count!" + " [cluster] " + clusterId);
log.debug("[min-check] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] " + clusterId);
[6/9] stratos git commit: Update cluster monitor to clean obsolete
partition context when removed
Posted by la...@apache.org.
Update cluster monitor to clean obsolete partition context when removed
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/e30dfbb8
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/e30dfbb8
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/e30dfbb8
Branch: refs/heads/master
Commit: e30dfbb839df6b5e47f0fe64f1194ba5cfd97fec
Parents: 4dab322
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:40:54 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:40:54 2015 +0530
----------------------------------------------------------------------
.../stratos/autoscaler/monitor/MonitorFactory.java | 5 ++---
.../autoscaler/monitor/cluster/ClusterMonitor.java | 15 +++++++++++----
2 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/e30dfbb8/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
index a531d59..8446bf6 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java
@@ -273,9 +273,8 @@ public class MonitorFactory {
}
try {
- org.apache.stratos.cloud.controller.stub.domain.Partition[] partitions
- = convertPartitionsToCCPartitions(partitionList.toArray(new Partition[partitionList.size()]));
- CloudControllerServiceClient.getInstance().validateDeploymentPolicy(serviceName, networkPartition.getId());
+
+ CloudControllerServiceClient.getInstance().validateNetworkPartitionOfDeploymentPolicy(serviceName, networkPartition.getId());
} catch (Exception e) {
String msg = String.format("Error while validating deployment policy from cloud controller [network-partition-id] %s", networkPartition.getId());
log.error(msg, e);
http://git-wip-us.apache.org/repos/asf/stratos/blob/e30dfbb8/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
index da3aa31..cba4871 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
@@ -95,7 +95,7 @@ public class ClusterMonitor extends Monitor implements Runnable {
protected FactHandle dependentScaleCheckFactHandle;
protected boolean hasFaultyMember = false;
protected boolean stop = false;
- protected AbstractClusterContext clusterContext;
+ protected ClusterContext clusterContext;
protected StatefulKnowledgeSession minCheckKnowledgeSession;
protected StatefulKnowledgeSession maxCheckKnowledgeSession;
protected StatefulKnowledgeSession obsoleteCheckKnowledgeSession;
@@ -113,7 +113,7 @@ public class ClusterMonitor extends Monitor implements Runnable {
private boolean groupScalingEnabledSubtree;
private static final Log log = LogFactory.getLog(ClusterMonitor.class);
- private Map<String, ClusterLevelNetworkPartitionContext> networkPartitionIdToClusterLevelNetworkPartitionCtxts;
+ private Map<String, ClusterLevelNetworkPartitionContext> networkPartitionIdToClusterLevelNetworkPartitionCtxts;
private boolean hasPrimary;
private float scalingFactorBasedOnDependencies = 1.0f;
private String deploymentPolicyId;
@@ -349,11 +349,11 @@ public class ClusterMonitor extends Monitor implements Runnable {
this.dependentScaleCheckKnowledgeSession = dependentScaleCheckKnowledgeSession;
}
- public AbstractClusterContext getClusterContext() {
+ public ClusterContext getClusterContext() {
return clusterContext;
}
- public void setClusterContext(AbstractClusterContext clusterContext) {
+ public void setClusterContext(ClusterContext clusterContext) {
this.clusterContext = clusterContext;
}
@@ -608,6 +608,13 @@ public class ClusterMonitor extends Monitor implements Runnable {
getObsoleteCheckKnowledgeSession().setGlobal("clusterId", clusterId);
obsoleteCheckFactHandle = AutoscalerRuleEvaluator.evaluate(
getObsoleteCheckKnowledgeSession(), obsoleteCheckFactHandle, partitionContext);
+
+ if (partitionContext.isObsoletePartition()
+ && partitionContext.getTerminationPendingMembers().size() == 0
+ && partitionContext.getObsoletedMembers().size() == 0) {
+
+ instanceContext.removePartitionCtxt(partitionContext.getPartition().getId());
+ }
}
};
executorService.execute(monitoringRunnable);
[8/9] stratos git commit: Add a meaningful name to network partition
verification method in CC client
Posted by la...@apache.org.
Add a meaningful name to network partition verification method in CC client
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/779c643b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/779c643b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/779c643b
Branch: refs/heads/master
Commit: 779c643b32121c4164fcdc55d91dc7f7da01fc84
Parents: 82f81c7
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:43:56 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:43:56 2015 +0530
----------------------------------------------------------------------
.../apache/stratos/common/client/CloudControllerServiceClient.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/779c643b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
index 7d226eb..c9ddbf7 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java
@@ -212,7 +212,7 @@ public class CloudControllerServiceClient {
return stub.updateKubernetesHost(kubernetesHost);
}
- public void validateDeploymentPolicy(String cartridgeType, String networkPartitionId)
+ public void validateNetworkPartitionOfDeploymentPolicy(String cartridgeType, String networkPartitionId)
throws RemoteException,
CloudControllerServiceInvalidPartitionExceptionException,
CloudControllerServiceInvalidCartridgeTypeExceptionException {
[2/9] stratos git commit: Handle obsolete partition contexts in
partition selection algorithm
Posted by la...@apache.org.
Handle obsolete partition contexts in partition selection algorithm
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/17cfb019
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/17cfb019
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/17cfb019
Branch: refs/heads/master
Commit: 17cfb01907caddcdefbea303829aa80cc4c1edaf
Parents: 528f5b5
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:17:53 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:17:53 2015 +0530
----------------------------------------------------------------------
.../autoscaler/algorithms/partition/OneAfterAnother.java | 5 +++--
.../stratos/autoscaler/algorithms/partition/RoundRobin.java | 6 ++++--
2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/17cfb019/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/OneAfterAnother.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/OneAfterAnother.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/OneAfterAnother.java
index a6b6386..226e57f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/OneAfterAnother.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/OneAfterAnother.java
@@ -39,7 +39,7 @@ public class OneAfterAnother implements PartitionAlgorithm {
for (PartitionContext partitionContext : partitionContexts) {
- if (partitionContext.getNonTerminatedMemberCount() < partitionContext.getMax()) {
+ if (partitionContext.getNonTerminatedMemberCount() < partitionContext.getMax() && !partitionContext.isObsoletePartition()) {
if (log.isDebugEnabled()) {
log.debug(String.format("[one-after-another algorithm] [scale-up] [partition] %s has space to create " +
@@ -57,7 +57,8 @@ public class OneAfterAnother implements PartitionAlgorithm {
for (int partitionIndex = partitionContexts.length - 1; partitionIndex >= 0; partitionIndex--) {
- if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() > 0) {
+ if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() > 0
+ && !partitionContexts[partitionIndex].isObsoletePartition()) {
if (log.isDebugEnabled()) {
log.debug(String.format("[one-after-another algorithm] [scale-down] [partition] %s has members that" +
http://git-wip-us.apache.org/repos/asf/stratos/blob/17cfb019/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/RoundRobin.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/RoundRobin.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/RoundRobin.java
index d274d0f..1ced903 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/RoundRobin.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithms/partition/RoundRobin.java
@@ -50,7 +50,8 @@ public class RoundRobin implements PartitionAlgorithm {
break;
}
- if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() < lowestInstanceCount) {
+ if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() < lowestInstanceCount
+ && !partitionContexts[partitionIndex].isObsoletePartition()) {
lowestInstanceCount = partitionContexts[partitionIndex].getNonTerminatedMemberCount();
selectedIndex = partitionIndex;
}
@@ -84,7 +85,8 @@ public class RoundRobin implements PartitionAlgorithm {
for (int partitionIndex = partitionContexts.length - 1; partitionIndex >= 0; partitionIndex--) {
- if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() > highestInstanceCount) {
+ if (partitionContexts[partitionIndex].getNonTerminatedMemberCount() > highestInstanceCount
+ && !partitionContexts[partitionIndex].isObsoletePartition()) {
highestInstanceCount = partitionContexts[partitionIndex].getNonTerminatedMemberCount();
selectedIndex = partitionIndex;
[5/9] stratos git commit: Remove unnecesarry logs
Posted by la...@apache.org.
Remove unnecesarry logs
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/4dab3225
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/4dab3225
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/4dab3225
Branch: refs/heads/master
Commit: 4dab3225b8689fbb6c9414dd31f55c622764c0c5
Parents: a5af78f
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:38:45 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:38:45 2015 +0530
----------------------------------------------------------------------
.../autoscaler/services/impl/AutoscalerServiceImpl.java | 7 -------
1 file changed, 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/4dab3225/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 8dafd81..1c8bbf2 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -1013,21 +1013,17 @@ public class AutoscalerServiceImpl implements AutoscalerService {
if (null == networkPartition.getPartition(clusterLevelPartitionContext.getPartitionId())) {
- log.info(" +++ " + "We have found that this partition context which is in cluster monitor is removed in updated policy"
- + " clusterLevelPartitionContext.getPartitionId() " + clusterLevelPartitionContext.getPartitionId());
//We have found that this partition context which is in cluster monitor is removed in updated policy
while (clusterLevelPartitionContext.getActiveMembers().size() != 0) {
MemberContext member = clusterLevelPartitionContext.getActiveMembers().get(0);
- log.info(" +++ " + " Active member to be terminate " + member.getMemberId());
clusterLevelPartitionContext.moveActiveMemberToTerminationPendingMembers(member.getMemberId());
}
while (clusterLevelPartitionContext.getPendingMembers().size() != 0) {
MemberContext member = clusterLevelPartitionContext.getPendingMembers().get(0);
- log.info(" +++ " + " Pending member to be terminate " + member.getMemberId());
clusterLevelPartitionContext.movePendingMemberToObsoleteMembers(member.getMemberId());
}
clusterLevelPartitionContext.setIsObsoletePartition(true);
@@ -1051,9 +1047,6 @@ public class AutoscalerServiceImpl implements AutoscalerService {
ClusterInstanceContext clusterInstanceContext = (ClusterInstanceContext) instanceContext;
if (null == clusterInstanceContext.getPartitionCtxt(partition.getId())) {
- log.info(" +++ " + "We have found that this partition which is in deployment policy/network partition is new"
- + " clusterLevelPartitionContext.getPartitionId() " + partition.getId());
-
//We have found that this partition which is in deployment policy/network partition is new
ClusterLevelPartitionContext clusterLevelPartitionContext = new ClusterLevelPartitionContext(
partition, networkPartition.getId(), deploymentPolicyID);
[4/9] stratos git commit: Update contexes to handle parition addition
and removal
Posted by la...@apache.org.
Update contexes to handle parition addition and removal
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a5af78f5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a5af78f5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a5af78f5
Branch: refs/heads/master
Commit: a5af78f5b3d7982805e087534205dd75e052edb8
Parents: 546de6c
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:21:08 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:21:08 2015 +0530
----------------------------------------------------------------------
.../stratos/autoscaler/context/cluster/ClusterContext.java | 3 ++-
.../autoscaler/context/cluster/ClusterInstanceContext.java | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a5af78f5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
index 2a6b4a0..a200edc 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterContext.java
@@ -119,7 +119,8 @@ public class ClusterContext extends AbstractClusterContext {
ClusterLevelNetworkPartitionContext networkPartitionContext = null;
ClusterInstance clusterInstance = cluster.getInstanceContexts(instanceId);
- String deploymentPolicyName = AutoscalerUtil.getDeploymentPolicyIdByAlias(cluster.getAppId(), AutoscalerUtil.getAliasFromClusterId(clusterId));
+ String deploymentPolicyName = AutoscalerUtil.getDeploymentPolicyIdByAlias(cluster.getAppId(),
+ AutoscalerUtil.getAliasFromClusterId(clusterId));
DeploymentPolicy deploymentPolicy = PolicyManager.getInstance().getDeploymentPolicy(deploymentPolicyName);
if (networkPartitionCtxts.containsKey(clusterInstance.getNetworkPartitionId())) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a5af78f5/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
index 8edb71b..67787f5 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/cluster/ClusterInstanceContext.java
@@ -121,6 +121,10 @@ public class ClusterInstanceContext extends InstanceContext {
this.partitionCtxts.add(ctxt);
}
+ public void removePartitionCtxt(String partitionId) {
+ this.partitionCtxts.remove(partitionId);
+ }
+
public ClusterLevelPartitionContext getPartitionCtxt(String id) {
for (ClusterLevelPartitionContext partitionContext : partitionCtxts) {
[3/9] stratos git commit: Fix formatting issues in
DefaultApplicationParser.java
Posted by la...@apache.org.
Fix formatting issues in DefaultApplicationParser.java
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/546de6ca
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/546de6ca
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/546de6ca
Branch: refs/heads/master
Commit: 546de6caa42c20f130afb7a5be4ce1c62c72fef7
Parents: 17cfb01
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:19:39 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:19:39 2015 +0530
----------------------------------------------------------------------
.../autoscaler/applications/parser/DefaultApplicationParser.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/546de6ca/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index 5ededa5..1c83eff 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -613,7 +613,7 @@ public class DefaultApplicationParser implements ApplicationParser {
if (group.getGroups() != null) {
for (Group childGroup : group.getGroups()) {
ClusterDataHolder dataHolder = findClusterDataInGroup(childGroup, cartridgeType);
- if(dataHolder != null) {
+ if (dataHolder != null) {
return dataHolder;
}
}
[7/9] stratos git commit: Formatting autoscaler component
Posted by la...@apache.org.
Formatting autoscaler component
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/82f81c78
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/82f81c78
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/82f81c78
Branch: refs/heads/master
Commit: 82f81c7824123e024ce10085b153054ec801f62e
Parents: e30dfbb
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Fri Apr 24 14:42:25 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Fri Apr 24 14:42:25 2015 +0530
----------------------------------------------------------------------
.../context/partition/PartitionContext.java | 10 ++++
.../internal/AutoscalerServiceComponent.java | 3 +-
.../monitor/component/GroupMonitor.java | 10 ++--
.../autoscaler/registry/RegistryManager.java | 2 +-
.../stratos/autoscaler/util/AutoscalerUtil.java | 60 ++++++++++----------
5 files changed, 47 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/82f81c78/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
index 9849702..8e3d6c7 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
@@ -39,6 +39,7 @@ public abstract class PartitionContext implements Serializable {
private Partition partition;
private String deploymentPolicyId;
private String networkPartitionId;
+ private boolean isObsoletePartition = false;
// properties
private Properties properties;
@@ -98,4 +99,13 @@ public abstract class PartitionContext implements Serializable {
.getNetworkPartitionByNetworkPartitionId(networkPartitionId)
.getPartition(partitionId).getPartitionMax();
}
+
+ public void setIsObsoletePartition(boolean isObsoletePartition) {
+ this.isObsoletePartition = isObsoletePartition;
+ }
+
+ public boolean isObsoletePartition() {
+ return isObsoletePartition;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/82f81c78/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
index d161398..e3641b6 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/internal/AutoscalerServiceComponent.java
@@ -189,8 +189,7 @@ public class AutoscalerServiceComponent {
}
-
- // Add application policies to information model
+ // Add application policies to information model
List<ApplicationPolicy> applicationPolicies = RegistryManager.getInstance().
retrieveApplicationPolicies();
Iterator<ApplicationPolicy> applicationPolicyIterator = applicationPolicies.iterator();
http://git-wip-us.apache.org/repos/asf/stratos/blob/82f81c78/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
index 1de7e90..e8da232 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
@@ -142,13 +142,13 @@ public class GroupMonitor extends ParentComponentMonitor {
}
int nonTerminatedInstancesCount = networkPartitionContext.
- getNonTerminatedInstancesCount();
- int minInstances = ((GroupLevelNetworkPartitionContext)networkPartitionContext).
+ getNonTerminatedInstancesCount();
+ int minInstances = ((GroupLevelNetworkPartitionContext) networkPartitionContext).
getMinInstanceCount();
- if(nonTerminatedInstancesCount < minInstances) {
+ if (nonTerminatedInstancesCount < minInstances) {
int instancesToBeCreated = minInstances - nonTerminatedInstancesCount;
- for(int i = 0; i < instancesToBeCreated; i++) {
- for(InstanceContext parentInstanceContext : parent.
+ for (int i = 0; i < instancesToBeCreated; i++) {
+ for (InstanceContext parentInstanceContext : parent.
getNetworkPartitionContext(networkPartitionContext.getId()).
getInstanceIdToInstanceContextMap().values()) {
//Creating new group instance based on the existing parent instances
http://git-wip-us.apache.org/repos/asf/stratos/blob/82f81c78/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 771f362..2a64f25 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -401,7 +401,7 @@ public class RegistryManager {
* @return all the deployment policies
*/
public List<DeploymentPolicy> retrieveDeploymentPolicies() {
- try{
+ try {
startTenantFlow();
List<DeploymentPolicy> depPolicyList = new ArrayList<DeploymentPolicy>();
RegistryManager registryManager = RegistryManager.getInstance();
http://git-wip-us.apache.org/repos/asf/stratos/blob/82f81c78/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 1548e98..3e6c134 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -545,13 +545,13 @@ public class AutoscalerUtil {
aliasToDeploymentPolicyIdMap.put(groupContext.getAlias(), deploymentPolicyId);
if (groupContext.getCartridgeContexts() != null && groupContext.getCartridgeContexts().length != 0) {
setDeploymentPolicyIdToChildCartridgeContexts(aliasToDeploymentPolicyIdMap,
- deploymentPolicyId,
+ deploymentPolicyId,
groupContext.getCartridgeContexts());
}
if (groupContext.getGroupContexts() != null && groupContext.getGroupContexts().length != 0) {
setDeploymentPolicyIdToChildGroupContexts(aliasToDeploymentPolicyIdMap,
- deploymentPolicyId,
- groupContext.getGroupContexts());
+ deploymentPolicyId,
+ groupContext.getGroupContexts());
}
}
@@ -562,13 +562,13 @@ public class AutoscalerUtil {
private static void setDeploymentPolicyIdToChildCartridgeContexts(
Map<String, String> aliasToDeploymentPolicyIdMap, String deploymentPolicyId,
- CartridgeContext[] cartridgeContexts) {
+ CartridgeContext[] cartridgeContexts) {
if (cartridgeContexts != null && cartridgeContexts.length != 0) {
for (CartridgeContext cartridgeContext : cartridgeContexts) {
if (cartridgeContext != null) {
aliasToDeploymentPolicyIdMap.put(cartridgeContext.getSubscribableInfoContext().getAlias(),
- deploymentPolicyId);
+ deploymentPolicyId);
}
}
}
@@ -582,13 +582,13 @@ public class AutoscalerUtil {
if (groupContext != null) {
if (groupContext.getCartridgeContexts() != null && groupContext.getCartridgeContexts().length != 0) {
setDeploymentPolicyIdToChildCartridgeContexts(aliasToDeploymentPolicyIdMap,
- deploymentPolicyId,
- groupContext.getCartridgeContexts());
+ deploymentPolicyId,
+ groupContext.getCartridgeContexts());
}
if (groupContext.getGroupContexts() != null && groupContext.getGroupContexts().length != 0) {
setDeploymentPolicyIdToChildGroupContexts(aliasToDeploymentPolicyIdMap,
- deploymentPolicyId,
- groupContext.getGroupContexts());
+ deploymentPolicyId,
+ groupContext.getGroupContexts());
}
}
}
@@ -623,7 +623,7 @@ public class AutoscalerUtil {
String algorithm = applicationPolicy.getAlgorithm();
if (algorithm == null || StringUtils.isBlank(algorithm)) {
String msg = "Invalid Application Policy. Cause -> Network " +
- "partition algorithm is null or empty";
+ "partition algorithm is null or empty";
log.error(msg);
throw new InvalidApplicationPolicyException(msg);
}
@@ -662,9 +662,9 @@ public class AutoscalerUtil {
// network partitions should be added already
if (null == CloudControllerServiceClient.getInstance().
- getNetworkPartition(networkPartitionId)) {
+ getNetworkPartition(networkPartitionId)) {
String msg = String.format("Invalid Application Policy. "
- + "Cause -> Network partition not found for network-partition-id : %s",
+ + "Cause -> Network partition not found for network-partition-id : %s",
networkPartitionId);
log.error(msg);
throw new InvalidApplicationPolicyException(msg);
@@ -691,7 +691,7 @@ public class AutoscalerUtil {
// network-partition-id can't be null or empty
if (null == networkPartitionId || networkPartitionId.isEmpty()) {
String msg = String.format("Invalid Application Policy. "
- + "Cause -> Invalid network-partition-id : %s",
+ + "Cause -> Invalid network-partition-id : %s",
networkPartitionId);
log.error(msg);
throw new InvalidApplicationPolicyException(msg);
@@ -767,30 +767,30 @@ public class AutoscalerUtil {
}
public void updateApplicationsTopology(Application application)
- throws ApplicationDefinitionException{
+ throws ApplicationDefinitionException {
Application existingApplication = ApplicationHolder.getApplications().
- getApplication(application.getUniqueIdentifier());
+ getApplication(application.getUniqueIdentifier());
//Retrieve all the groups in order to update it
Set<Group> existingGroups = existingApplication.getAllGroupsRecursively();
//updating all the groups by traversing the existing application
- for(Group existingGroup : existingGroups) {
+ for (Group existingGroup : existingGroups) {
Group newGroup = application.getGroupRecursively(existingGroup.getUniqueIdentifier());
- if(newGroup != null) {
+ if (newGroup != null) {
//Finding the GroupMonitor based on ApplicationMonitor
GroupMonitor groupMonitor = (GroupMonitor) AutoscalerContext.getInstance().
getAppMonitor(application.getUniqueIdentifier()).
findGroupMonitorWithId(existingGroup.getUniqueIdentifier());
//Updating the GroupMonitor
- for(NetworkPartitionContext networkPartitionContext : groupMonitor.
+ for (NetworkPartitionContext networkPartitionContext : groupMonitor.
getNetworkPartitionCtxts().values()) {
- ((GroupLevelNetworkPartitionContext)networkPartitionContext).
+ ((GroupLevelNetworkPartitionContext) networkPartitionContext).
setMinInstanceCount(newGroup.getGroupMinInstances());
- ((GroupLevelNetworkPartitionContext)networkPartitionContext).
+ ((GroupLevelNetworkPartitionContext) networkPartitionContext).
setMaxInstanceCount(newGroup.getGroupMaxInstances());
}
- try{
+ try {
ApplicationHolder.acquireWriteLock();
//update the min and max of Group instances
existingGroup.setGroupMinInstances(newGroup.getGroupMinInstances());
@@ -810,24 +810,24 @@ public class AutoscalerUtil {
}
- public void updateClusterMonitor(Application application) throws ApplicationDefinitionException{
+ public void updateClusterMonitor(Application application) throws ApplicationDefinitionException {
Application existingApplication = ApplicationHolder.getApplications().
getApplication(application.getUniqueIdentifier());
Set<ClusterDataHolder> clusterDataHolders = application.getClusterDataRecursively();
- for(ClusterDataHolder clusterDataHolder : clusterDataHolders) {
+ for (ClusterDataHolder clusterDataHolder : clusterDataHolders) {
ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().
- getClusterMonitor(clusterDataHolder.getClusterId());
- if(clusterMonitor != null) {
- for(ClusterLevelNetworkPartitionContext networkPartitionContext :
+ getClusterMonitor(clusterDataHolder.getClusterId());
+ if (clusterMonitor != null) {
+ for (ClusterLevelNetworkPartitionContext networkPartitionContext :
clusterMonitor.getNetworkPartitionCtxts()) {
- for(InstanceContext instanceContext :
+ for (InstanceContext instanceContext :
networkPartitionContext.getInstanceIdToInstanceContextMap().values()) {
//Updating the min and max instances of cluster instance context
- ((ClusterInstanceContext)instanceContext).
+ ((ClusterInstanceContext) instanceContext).
setMinInstanceCount(clusterDataHolder.getMinInstances());
- ((ClusterInstanceContext)instanceContext).
+ ((ClusterInstanceContext) instanceContext).
setMaxInstanceCount(clusterDataHolder.getMaxInstances());
try {
@@ -836,7 +836,7 @@ public class AutoscalerUtil {
ClusterDataHolder existingClusterDataHolder = existingApplication.
getClusterDataHolderRecursivelyByAlias(
AutoscalerUtil.getAliasFromClusterId(
- clusterDataHolder.getClusterId()));
+ clusterDataHolder.getClusterId()));
existingClusterDataHolder.setMinInstances(clusterDataHolder.
getMinInstances());
existingClusterDataHolder.setMaxInstances(clusterDataHolder.