You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/10/11 21:04:48 UTC
[03/11] git commit: using separate methods for scale up and down
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 <rr...@gmail.com>
Authored: Sat Oct 11 19:31:18 2014 +0530
Committer: R-Rajkumar <rr...@gmail.com>
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();