removing the primary member handling from autoscaler

Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cf2e00aa
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cf2e00aa
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cf2e00aa

Branch: refs/heads/master
Commit: cf2e00aa21742b5b1e1484f10d86158603ab3832
Parents: f1e5488
Author: reka <[email protected]>
Authored: Mon Jul 27 15:27:54 2015 +0530
Committer: reka <[email protected]>
Committed: Wed Jul 29 16:11:07 2015 +0530

----------------------------------------------------------------------
 .../client/AutoscalerCloudControllerClient.java |  7 +-
 .../autoscaler/context/InstanceContext.java     |  4 -
 .../context/cluster/ClusterInstanceContext.java | 12 +--
 .../autoscaler/monitor/MonitorFactory.java      |  9 --
 .../monitor/cluster/ClusterMonitor.java         | 93 --------------------
 .../autoscaler/rule/RuleTasksDelegator.java     |  4 +-
 6 files changed, 8 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
index f944a9f..9504d53 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
@@ -83,7 +83,7 @@ public class AutoscalerCloudControllerClient {
 
     public synchronized MemberContext startInstance(PartitionRef partition,
                                                     String clusterId, String 
clusterInstanceId,
-                                                    String networkPartitionId, 
boolean isPrimary,
+                                                    String networkPartitionId,
                                                     int minMemberCount) throws 
SpawningException {
         try {
             if (log.isInfoEnabled()) {
@@ -107,15 +107,10 @@ public class AutoscalerCloudControllerClient {
             instanceContext.setNetworkPartitionId(networkPartitionId);
 
             Properties memberContextProps = new Properties();
-            Property isPrimaryProp = new Property();
-            isPrimaryProp.setName("PRIMARY");
-            isPrimaryProp.setValue(String.valueOf(isPrimary));
-
             Property minCountProp = new Property();
             minCountProp.setName(StratosConstants.MIN_COUNT);
             minCountProp.setValue(String.valueOf(minMemberCount));
 
-            memberContextProps.addProperty(isPrimaryProp);
             memberContextProps.addProperty(minCountProp);
             
instanceContext.setProperties(AutoscalerUtil.toStubProperties(memberContextProps));
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/InstanceContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/InstanceContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/InstanceContext.java
index 977ad7d..52f14ef 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/InstanceContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/InstanceContext.java
@@ -53,10 +53,6 @@ public abstract class InstanceContext {
         return id;
     }
 
-    public void setId(String id) {
-        this.id = id;
-    }
-
     public String getParentInstanceId() {
         return parentInstanceId;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/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 d1964b3..b4c6cec 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
@@ -47,15 +47,15 @@ public class ClusterInstanceContext extends InstanceContext 
{
     // Map<PartitionId, Partition Context>
     protected Map<String, ClusterLevelPartitionContext> partitionCtxts;
     //boolean values to keep whether the requests in flight parameters are 
reset or not
-    private boolean rifReset = false, averageRifReset = false, 
gradientRifReset = false, secondDerivativeRifRest = false;
+    private boolean rifReset, averageRifReset, gradientRifReset, 
secondDerivativeRifRest;
     //boolean values to keep whether the memory consumption parameters are 
reset or not
-    private boolean memoryConsumptionReset = false, 
averageMemoryConsumptionReset = false,
-            gradientMemoryConsumptionReset = false, 
secondDerivativeMemoryConsumptionRest = false;
+    private boolean memoryConsumptionReset, averageMemoryConsumptionReset,
+            gradientMemoryConsumptionReset, 
secondDerivativeMemoryConsumptionRest;
     //boolean values to keep whether the load average parameters are reset or 
not
-    private boolean loadAverageReset = false, averageLoadAverageReset = false, 
gradientLoadAverageReset = false,
-            secondDerivativeLoadAverageRest = false;
+    private boolean loadAverageReset, averageLoadAverageReset, 
gradientLoadAverageReset,
+            secondDerivativeLoadAverageRest;
     //boolean values to keep whether average requests served per instance 
parameters are reset or not
-    private boolean averageRequestServedPerInstanceReset = false;
+    private boolean averageRequestServedPerInstanceReset;
     //Following information will keep events details
     private RequestsInFlight requestsInFlight;
     private MemoryConsumption memoryConsumption;

http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/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 a85cf03..0b265e6 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
@@ -57,7 +57,6 @@ import java.util.*;
  */
 public class MonitorFactory {
     private static final Log log = LogFactory.getLog(MonitorFactory.class);
-    public static final String IS_PRIMARY = "PRIMARY";
 
     /**
      * Factor method used to create relevant monitors based on the given 
context
@@ -302,14 +301,6 @@ public class MonitorFactory {
                     groupScalingEnabledSubtree,
                     deploymentPolicyId);
 
-            Properties props = cluster.getProperties();
-            if (props != null) {
-                // Set hasPrimary property
-                // hasPrimary is true if there are primary members available 
in that cluster
-                clusterMonitor.setHasPrimary(Boolean.parseBoolean(
-                        cluster.getProperties().getProperty(IS_PRIMARY)));
-            }
-
             // Setting the parent of the cluster monitor
             clusterMonitor.setParent(parentMonitor);
             clusterMonitor.setId(clusterId);

http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/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 b9b6050..b1cf3ea 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
@@ -101,7 +101,6 @@ public class ClusterMonitor extends Monitor {
     private boolean groupScalingEnabledSubtree;
 
     private static final Log log = LogFactory.getLog(ClusterMonitor.class);
-    private boolean hasPrimary;
     private String deploymentPolicyId;
 
 
@@ -309,25 +308,6 @@ public class ClusterMonitor extends Monitor {
         }
     }
 
-    private boolean isPrimaryMember(MemberContext memberContext) {
-        Properties props = 
AutoscalerObjectConverter.convertCCPropertiesToProperties(memberContext.getProperties());
-        if (log.isDebugEnabled()) {
-            log.debug(" Properties [" + props + "] ");
-        }
-        if (props != null && props.getProperties() != null) {
-            for (Property prop : props.getProperties()) {
-                if (prop.getName().equals("PRIMARY")) {
-                    if (Boolean.parseBoolean(prop.getValue())) {
-                        log.debug("Adding member id [" + 
memberContext.getMemberId() + "] " +
-                                "member instance id [" + 
memberContext.getInstanceId() + "] as a primary member");
-                        return true;
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
     public synchronized void monitor() {
 
         try {
@@ -353,31 +333,8 @@ public class ClusterMonitor extends Monitor {
                                     log.debug(String.format("Cluster monitor 
is running: [application-id] %s [cluster-id]: " +
                                             "%s", getAppId(), getClusterId()));
                                 }
-                                // store primary members in the cluster 
instance context
-                                List<String> 
primaryMemberListInClusterInstance = new ArrayList<String>();
 
-                                for (ClusterLevelPartitionContext 
partitionContext :
-                                        instanceContext.getPartitionCtxts()) {
-
-                                    // get active primary members in this 
cluster instance context
-                                    for (MemberContext memberContext : 
partitionContext.getActiveMembers()) {
-                                        if (isPrimaryMember(memberContext)) {
-                                            
primaryMemberListInClusterInstance.add(memberContext.getMemberId());
-                                        }
-                                    }
-
-                                    // get pending primary members in this 
cluster instance context
-                                    for (MemberContext memberContext : 
partitionContext.getPendingMembers()) {
-                                        if (isPrimaryMember(memberContext)) {
-                                            
primaryMemberListInClusterInstance.add(memberContext.getMemberId());
-                                        }
-                                    }
-                                }
-
-                                
instanceContext.getMinCheckKnowledgeSession().setGlobal("primaryMemberCount",
-                                        
primaryMemberListInClusterInstance.size());
                                 
instanceContext.getMinCheckKnowledgeSession().setGlobal("clusterId", 
getClusterId());
-                                
instanceContext.getMinCheckKnowledgeSession().setGlobal("isPrimary", 
hasPrimary);
                                 //FIXME when parent chosen the partition
                                 String paritionAlgo = 
instanceContext.getPartitionAlgorithm();
 
@@ -392,14 +349,7 @@ public class ClusterMonitor extends Monitor {
                                 
instanceContext.setMinCheckFactHandle(evaluate(instanceContext.
                                                 getMinCheckKnowledgeSession(),
                                         
instanceContext.getMinCheckFactHandle(), instanceContext));
-
-
-                                
instanceContext.getMaxCheckKnowledgeSession().setGlobal("primaryMemberCount",
-                                        
primaryMemberListInClusterInstance.size());
                                 
instanceContext.getMaxCheckKnowledgeSession().setGlobal("clusterId", 
getClusterId());
-                                
instanceContext.getMaxCheckKnowledgeSession().setGlobal("isPrimary", 
hasPrimary);
-                                
instanceContext.getMaxCheckKnowledgeSession().setGlobal("primaryMembers",
-                                        primaryMemberListInClusterInstance);
                                 if (log.isDebugEnabled()) {
                                     log.debug(String.format("Running max check 
for cluster instance %s ",
                                             instanceContext.getId() + " for 
the cluster: " + clusterId));
@@ -433,20 +383,11 @@ public class ClusterMonitor extends Monitor {
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("rifReset", rifReset);
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("mcReset", 
memoryConsumptionReset);
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("laReset", 
loadAverageReset);
-                                    
instanceContext.getScaleCheckKnowledgeSession().setGlobal("isPrimary", 
hasPrimary);
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("algorithmName", 
paritionAlgo);
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("autoscalePolicy",
                                             
clusterContext.getAutoscalePolicy());
                                     
instanceContext.getScaleCheckKnowledgeSession().setGlobal("arspiReset",
                                             
averageRequestServedPerInstanceReset);
-                                    
instanceContext.getScaleCheckKnowledgeSession().setGlobal("primaryMembers",
-                                            
primaryMemberListInClusterInstance);
-
-                                    if (log.isDebugEnabled()) {
-                                        log.debug(String.format("Running scale 
check for [cluster instance context] %s ",
-                                                instanceContext.getId()));
-                                        log.debug(" Primary members : " + 
primaryMemberListInClusterInstance);
-                                    }
 
                                     
instanceContext.setScaleCheckFactHandle(evaluate(
                                             
instanceContext.getScaleCheckKnowledgeSession()
@@ -549,16 +490,6 @@ public class ClusterMonitor extends Monitor {
     }
 
     @Override
-    public String toString() {
-        return "ClusterMonitor [clusterId=" + getClusterId() +
-                ", hasPrimary=" + hasPrimary + " ]";
-    }
-
-    public void setHasPrimary(boolean hasPrimary) {
-        this.hasPrimary = hasPrimary;
-    }
-
-    @Override
     public void onChildStatusEvent(MonitorStatusEvent statusEvent) {
 
     }
@@ -612,28 +543,6 @@ public class ClusterMonitor extends Monitor {
         ClusterInstanceContext clusterInstanceContext =
                 
getClusterInstanceContext(scalingEvent.getNetworkPartitionId(), instanceId);
 
-
-        // store primary members in the cluster instance context
-        List<String> primaryMemberListInClusterInstance = new 
ArrayList<String>();
-
-        for (ClusterLevelPartitionContext partitionContext : 
clusterInstanceContext.getPartitionCtxts()) {
-
-            // get active primary members in this cluster instance context
-            for (MemberContext memberContext : 
partitionContext.getActiveMembers()) {
-                if (isPrimaryMember(memberContext)) {
-                    
primaryMemberListInClusterInstance.add(memberContext.getMemberId());
-                }
-            }
-
-            // get pending primary members in this cluster instance context
-            for (MemberContext memberContext : 
partitionContext.getPendingMembers()) {
-                if (isPrimaryMember(memberContext)) {
-                    
primaryMemberListInClusterInstance.add(memberContext.getMemberId());
-                }
-            }
-        }
-
-
         //TODO get min instance count from instance context
         float requiredInstanceCount = 
clusterInstanceContext.getMinInstanceCount() * scalingFactorBasedOnDependencies;
         int roundedRequiredInstanceCount = 
getRoundedInstanceCount(requiredInstanceCount,
@@ -643,8 +552,6 @@ public class ClusterMonitor extends Monitor {
         
clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("clusterId",
 getClusterId());
         
clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("roundedRequiredInstanceCount",
 roundedRequiredInstanceCount);
         
clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("algorithmName",
 clusterInstanceContext.getPartitionAlgorithm());
-        
clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("isPrimary",
 hasPrimary);
-        
clusterInstanceContext.getDependentScaleCheckKnowledgeSession().setGlobal("primaryMembers",
 primaryMemberListInClusterInstance);
         clusterInstanceContext.setDependentScaleCheckFactHandle(evaluate(
                 clusterInstanceContext.getDependentScaleCheckKnowledgeSession()
                 , clusterInstanceContext.getDependentScaleCheckFactHandle(), 
clusterInstanceContext));

http://git-wip-us.apache.org/repos/asf/stratos/blob/cf2e00aa/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
index 87d71a7..43274bf 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
@@ -173,10 +173,9 @@ public class RuleTasksDelegator {
      * @param clusterMonitorPartitionContext Cluster monitor partition context
      * @param clusterId                      Cluster id
      * @param clusterInstanceId              Instance id
-     * @param isPrimary                      Is a primary member
      */
     public void delegateSpawn(ClusterLevelPartitionContext 
clusterMonitorPartitionContext, String clusterId,
-                              String clusterInstanceId, boolean isPrimary) {
+                              String clusterInstanceId) {
 
         try {
             String nwPartitionId = 
clusterMonitorPartitionContext.getNetworkPartitionId();
@@ -197,7 +196,6 @@ public class RuleTasksDelegator {
                             
.startInstance(clusterMonitorPartitionContext.getPartition(),
                                     clusterId,
                                     clusterInstanceId, 
clusterMonitorPartitionContext.getNetworkPartitionId(),
-                                    isPrimary,
                                     minimumCountOfNetworkPartition);
             if (memberContext != null) {
                 ClusterLevelPartitionContext partitionContext = 
clusterInstanceContext.

Reply via email to