using separate methods for scale up and down

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

Branch: refs/heads/master
Commit: 42f049ed8b10b57b3f06a41dbce7adfec6e37970
Parents: c04d255
Author: R-Rajkumar <[email protected]>
Authored: Sat Oct 11 19:31:18 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Sat Oct 11 19:31:18 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/rule/RuleTasksDelegator.java     | 31 +++++++++++++++++---
 1 file changed, 27 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/42f049ed/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 1154ac3..e350955 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
@@ -234,13 +234,13 @@ public class RuleTasksDelegator {
         }
     }
 
-    public void delegateUpdateContainers(KubernetesClusterContext 
kubernetesClusterContext,
-                                         int replicas) {
+    public void delegateScaleUpContainers(KubernetesClusterContext 
kubernetesClusterContext,
+                                         int newReplicasCount) {
         String clusterId = kubernetesClusterContext.getClusterId();
         try {
             CloudControllerClient ccClient = 
CloudControllerClient.getInstance();
             // getting newly created pods' member contexts
-            MemberContext[] memberContexts = 
ccClient.updateContainers(clusterId, replicas);
+            MemberContext[] memberContexts = 
ccClient.updateContainers(clusterId, newReplicasCount);
             if (null != memberContexts) {
                 for (MemberContext memberContext : memberContexts) {
                     if (null != memberContext) {
@@ -263,10 +263,33 @@ public class RuleTasksDelegator {
                 }
             }
         } catch (Exception e) {
-            log.error("Cannot update kubernetes controller ", e);
+            log.error("Scaling up failed, couldn't update kubernetes 
controller ", e);
         }
     }
     
+    public void delegateScaleDownContainers(KubernetesClusterContext 
kubernetesClusterContext, 
+                                                                               
int newReplicasCount) {
+       String clusterId = kubernetesClusterContext.getClusterId();
+       try {
+               CloudControllerClient ccClient = 
CloudControllerClient.getInstance();
+               // getting terminated pods's member contexts
+               MemberContext[] memberContexts = 
ccClient.updateContainers(clusterId, newReplicasCount);
+               if (null != memberContexts) {
+                               for (MemberContext memberContext : 
memberContexts) {
+                                       if (null != memberContext) {
+                                               // we are not removing from 
active/pending list, it will be handled in AS event receiver
+                                               if (log.isDebugEnabled()) {
+                                                       
log.debug(String.format("Scaling down, terminating the member with id %s in 
cluster %s", 
+                                                                       
memberContext.getMemberId(), memberContext.getClusterId()));
+                                               }
+                                       }
+                               }
+                       }
+       } catch (Exception e) {
+               log.error("Scaling down failed, couldn't update kubernetes 
controller ", e);
+       }
+    }
+    
     public void delegateTerminateContainer(KubernetesClusterContext 
kubernetesClusterContext, String memberId) {
        try {
                CloudControllerClient ccClient = 
CloudControllerClient.getInstance();

Reply via email to