Adding required instance count
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/70044149 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/70044149 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/70044149 Branch: refs/heads/master Commit: 70044149d5dbd32cd29f194efe23af25f124e434 Parents: 95e72a3 Author: Lahiru Sandaruwan <[email protected]> Authored: Sun Nov 9 16:34:46 2014 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Sun Nov 9 16:34:46 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/KubernetesClusterContext.java | 9 +++++++++ .../autoscaler/NetworkPartitionContext.java | 19 ++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/70044149/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java index 8b9cc94..a843fba 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/KubernetesClusterContext.java @@ -52,6 +52,7 @@ public class KubernetesClusterContext extends AbstractClusterContext { private int minReplicas; private int maxReplicas; private int currentReplicas; + private float RequiredReplicas; private AutoscalePolicy autoscalePolicy; @@ -308,6 +309,14 @@ public class KubernetesClusterContext extends AbstractClusterContext { return autoscalePolicy; } + public float getRequiredReplicas() { + return RequiredReplicas; + } + + public void setRequiredReplicas(float requiredReplicas) { + RequiredReplicas = requiredReplicas; + } + private class PendingMemberWatcher implements Runnable { private KubernetesClusterContext ctxt; http://git-wip-us.apache.org/repos/asf/stratos/blob/70044149/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java index 1c92256..2b978ed 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java @@ -43,6 +43,10 @@ public class NetworkPartitionContext implements Serializable{ private float averageRequestsServedPerInstance; private float requestsServedPerInstance; + private int minInstanceCount = 0, maxInstanceCount = 0; + private float requiredInstanceCount; + + private final String partitionAlgorithm; //boolean values to keep whether the requests in flight parameters are reset or not @@ -56,9 +60,6 @@ public class NetworkPartitionContext implements Serializable{ //boolean values to keep whether average requests served per instance parameters are reset or not private boolean averageRequestServedPerInstanceReset= false; - //FIXME this should be populated via PartitionGroups a.k.a. NetworkPartitions - private int minInstanceCount = 1, maxInstanceCount = 1; - private final Partition[] partitions; //Following information will keep events details @@ -86,6 +87,11 @@ public class NetworkPartitionContext implements Serializable{ requestsInFlight = new RequestsInFlight(); loadAverage = new LoadAverage(); memoryConsumption = new MemoryConsumption(); + for(Partition partition : partitions){ + minInstanceCount += partition.getPartitionMin(); + maxInstanceCount += partition.getPartitionMax(); + } + requiredInstanceCount = minInstanceCount; } @@ -396,4 +402,11 @@ public class NetworkPartitionContext implements Serializable{ this.scaleDownRequestsCount += 1; } + public float getRequiredInstanceCount() { + return requiredInstanceCount; + } + + public void setRequiredInstanceCount(int requiredInstanceCount) { + this.requiredInstanceCount = requiredInstanceCount; + } } \ No newline at end of file
