Merge branch 'container-autoscaling' of 
https://git-wip-us.apache.org/repos/asf/stratos into container-autoscaling


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

Branch: refs/heads/container-autoscaling
Commit: 31daf2f328e4a9abe988d926a3fe32d2556f7693
Parents: fce7322 30e08c8
Author: R-Rajkumar <[email protected]>
Authored: Thu Oct 9 11:09:31 2014 +0530
Committer: R-Rajkumar <[email protected]>
Committed: Thu Oct 9 11:09:31 2014 +0530

----------------------------------------------------------------------
 .../cloud/controller/CloudControllerClient.java |  14 +-
 .../KubernetesServiceClusterMonitor.java        |  61 +-
 ...inerClusterContextToKubernetesContainer.java | 141 +++
 ...tainerClusterContextToKubernetesService.java |  64 ++
 ...erClusterContextToReplicationController.java |  90 ++
 .../MemberContextToKubernetesContainer.java     | 147 ---
 .../MemberContextToKubernetesService.java       |  65 --
 .../MemberContextToReplicationController.java   |  90 --
 .../functions/PodToMemberContext.java           |  46 +
 .../impl/CloudControllerServiceImpl.java        | 209 +++--
 .../interfaces/CloudControllerService.java      |   8 +-
 .../pojo/ContainerClusterContext.java           |  87 ++
 .../cloud/controller/pojo/MemberContext.java    |  29 +-
 .../pom.xml                                     |   2 +-
 .../kubernetes/client/KubernetesApiClient.java  | 202 +++--
 .../KubernetesAPIClientInterface.java           |   8 +
 .../client/rest/KubernetesResponse.java         |  56 ++
 .../client/rest/KubernetesResponseHandler.java  |  71 ++
 .../kubernetes/client/rest/RestClient.java      |  88 +-
 .../pom.xml                                     |  19 +
 .../modules/distribution/src/assembly/bin.xml   |   6 +-
 .../main/resources/CloudControllerService.wsdl  | 898 ++++++++++---------
 22 files changed, 1393 insertions(+), 1008 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/31daf2f3/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
index 65035d0,eaa80c4..b7a476a
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/cloud/controller/CloudControllerClient.java
@@@ -33,14 -31,9 +33,15 @@@ import org.apache.stratos.autoscaler.ex
  import org.apache.stratos.autoscaler.exception.TerminationException;
  import org.apache.stratos.autoscaler.kubernetes.KubernetesManager;
  import org.apache.stratos.autoscaler.util.ConfUtil;
 -import org.apache.stratos.cloud.controller.stub.*;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidCartridgeTypeExceptionException;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidClusterExceptionException;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidIaasProviderExceptionException;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidMemberExceptionException;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidPartitionExceptionException;
 +import org.apache.stratos.cloud.controller.stub.CloudControllerServiceStub;
 +import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
  import 
org.apache.stratos.cloud.controller.stub.deployment.partition.Partition;
+ import org.apache.stratos.cloud.controller.stub.pojo.ContainerClusterContext;
  import org.apache.stratos.cloud.controller.stub.pojo.MemberContext;
  import org.apache.stratos.cloud.controller.stub.pojo.Properties;
  import org.apache.stratos.cloud.controller.stub.pojo.Property;

http://git-wip-us.apache.org/repos/asf/stratos/blob/31daf2f3/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
index 1688df1,6362fc4..d0d7668
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/KubernetesServiceClusterMonitor.java
@@@ -119,75 -125,28 +128,75 @@@ public final class KubernetesServiceClu
                              log.debug("Returned member context is null, did 
not add to pending members");
                          }
                      }
-                 } catch (SpawningException spawningException) {
-                     if (log.isDebugEnabled()) {
-                         String message = "Cannot create containers, will 
retry in "
-                                          + (retryInterval / 1000) + "s";
-                         log.debug(message, spawningException);
-                     }
-                 } catch (Exception exception) {
-                     if (log.isDebugEnabled()) {
-                         String message = "Error while creating containers, 
will retry in "
-                                          + (retryInterval / 1000) + "s";
-                         log.debug(message, exception);
-                     }
                  }
-                 try {
-                     Thread.sleep(retryInterval);
-                 } catch (InterruptedException ignored) {
+             } catch (SpawningException spawningException) {
+                 if (log.isDebugEnabled()) {
+                     String message = "Cannot create containers, will retry in 
"
+                             + (retryInterval / 1000) + "s";
+                     log.debug(message, spawningException);
+                 }
+             } catch (Exception exception) {
+                 if (log.isDebugEnabled()) {
+                     String message = "Error while creating containers, will 
retry in "
+                             + (retryInterval / 1000) + "s";
+                     log.debug(message, exception);
                  }
              }
+             try {
+                 Thread.sleep(retryInterval);
+             } catch (InterruptedException ignored) {
+             }
          }
 +        
 +        minCheck();
 +        scaleCheck();
      }
  
 -    @Override
 +    private void scaleCheck() {
 +        boolean rifReset = getKubernetesClusterCtxt().isRifReset();
 +        boolean memoryConsumptionReset = 
getKubernetesClusterCtxt().isMemoryConsumptionReset();
 +        boolean loadAverageReset = 
getKubernetesClusterCtxt().isLoadAverageReset();
 +        if (log.isDebugEnabled()) {
 +            log.debug("flag of rifReset : " + rifReset
 +                      + " flag of memoryConsumptionReset : "
 +                      + memoryConsumptionReset + " flag of loadAverageReset : 
"
 +                      + loadAverageReset);
 +        }
 +        String kubernetesClusterID = 
getKubernetesClusterCtxt().getKubernetesClusterID();
 +        String clusterId = getClusterId();
 +        if (rifReset || memoryConsumptionReset || loadAverageReset) {
 +            getScaleCheckKnowledgeSession().setGlobal("clusterId", clusterId);
 +            getScaleCheckKnowledgeSession().setGlobal("autoscalePolicy", 
autoscalePolicy);
 +            getScaleCheckKnowledgeSession().setGlobal("rifReset", rifReset);
 +            getScaleCheckKnowledgeSession().setGlobal("mcReset", 
memoryConsumptionReset);
 +            getScaleCheckKnowledgeSession().setGlobal("laReset", 
loadAverageReset);
 +            if (log.isDebugEnabled()) {
 +                log.debug(String.format(
 +                        "Running scale check for kub-cluster %s ", 
kubernetesClusterID));
 +            }
 +            scaleCheckFactHandle = AutoscalerRuleEvaluator.evaluateScaleCheck(
 +                    getScaleCheckKnowledgeSession(), scaleCheckFactHandle, 
getKubernetesClusterCtxt());
 +            getKubernetesClusterCtxt().setRifReset(false);
 +            getKubernetesClusterCtxt().setMemoryConsumptionReset(false);
 +            getKubernetesClusterCtxt().setLoadAverageReset(false);
 +        } else if (log.isDebugEnabled()) {
 +            log.debug(String.format("Scale check will not run since none of 
the statistics have not received yet for "
 +                                    + "[kub-cluster] %s [cluster] %s", 
kubernetesClusterID, clusterId));
 +        }
 +    }
 +
 +      private void minCheck() {
 +              getMinCheckKnowledgeSession().setGlobal("clusterId", 
getClusterId());
 +              if (log.isDebugEnabled()) {
 +                      log.debug(String.format("Running minimum check for 
cluster %s ",
 +                                      getClusterId()));
 +              }
 +              minCheckFactHandle = AutoscalerRuleEvaluator.evaluateMinCheck(
 +                              getMinCheckKnowledgeSession(), 
minCheckFactHandle,
 +                              getKubernetesClusterCtxt());
 +      }
 +
 +      @Override
      public void destroy() {
          getMinCheckKnowledgeSession().dispose();
          getScaleCheckKnowledgeSession().dispose();

http://git-wip-us.apache.org/repos/asf/stratos/blob/31daf2f3/products/stratos/modules/distribution/src/assembly/bin.xml
----------------------------------------------------------------------

Reply via email to