Repository: stratos
Updated Branches:
  refs/heads/docker-grouping-merge 33c8b042b -> b110067c7


Adding isKubernetesCluster property to ApplicationClusterContext to propagate 
it to clusters


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

Branch: refs/heads/docker-grouping-merge
Commit: b110067c7f68e58b888df99fd6f9b31925b69ece
Parents: 33c8b04
Author: Imesh Gunaratne <[email protected]>
Authored: Sat Nov 1 12:02:39 2014 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Sat Nov 1 12:02:39 2014 +0530

----------------------------------------------------------------------
 .../monitor/cluster/ClusterMonitorFactory.java  |  4 +-
 .../parser/DefaultApplicationParser.java        | 14 +++++--
 .../pojo/ApplicationClusterContext.java         | 39 +++++++-------------
 .../controller/topology/TopologyBuilder.java    |  2 +
 4 files changed, 27 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b110067c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java
index e286187..d2f45f7 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitorFactory.java
@@ -100,7 +100,7 @@ public class ClusterMonitorFactory {
                         .getDeploymentPolicy(deploymentPolicyName);
 
         if (deploymentPolicy == null) {
-            String msg = "Deployment Policy is null. Policy name: " + 
deploymentPolicyName;
+            String msg = "Deployment policy is null: [policy-name] " + 
deploymentPolicyName;
             log.error(msg);
             throw new PolicyValidationException(msg);
         }
@@ -108,7 +108,7 @@ public class ClusterMonitorFactory {
         Partition[] allPartitions = deploymentPolicy.getAllPartitions();
         if (allPartitions == null) {
             String msg =
-                    "Deployment Policy's Partitions are null. Policy name: " +
+                    "Partitions are null in deployment policy: [policy-name]: 
" +
                     deploymentPolicyName;
             log.error(msg);
             throw new PolicyValidationException(msg);

http://git-wip-us.apache.org/repos/asf/stratos/blob/b110067c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
index 9d909ca..8f031a7 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/application/parser/DefaultApplicationParser.java
@@ -33,6 +33,7 @@ import org.apache.stratos.cloud.controller.pojo.Cartridge;
 import org.apache.stratos.cloud.controller.pojo.application.*;
 import org.apache.stratos.cloud.controller.pojo.payload.MetaDataHolder;
 import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.common.constants.StratosConstants;
 import org.apache.stratos.messaging.domain.topology.*;
 
 import java.util.*;
@@ -549,12 +550,14 @@ public class DefaultApplicationParser implements 
ApplicationParser {
 
             String hostname = 
clusterInfo.getHostName(subscribableCtxt.getAlias(), cartridge.getHostName());
             String clusterId = 
clusterInfo.getClusterId(subscribableCtxt.getAlias(), 
subscribableCtxt.getType());
+            boolean isKubernetesCluster = 
StratosConstants.KUBERNETES_DEPLOYER_TYPE.equals(cartridge.getDeployerType());
 
             // create and collect this cluster's information
             assert subscribableInfoCtxt != null;
             ApplicationClusterContext appClusterCtxt = 
createApplicationClusterContext(appId, groupName, cartridge,
                     key, tenantId, subscribableInfoCtxt.getRepoUrl(), 
subscribableCtxt.getAlias(),
-                    clusterId, hostname, 
subscribableInfoCtxt.getDeploymentPolicy(), false, 
subscribableInfoCtxt.getDependencyAliases());
+                    clusterId, hostname, 
subscribableInfoCtxt.getDeploymentPolicy(),
+                    false, isKubernetesCluster, 
subscribableInfoCtxt.getDependencyAliases());
 
             
appClusterCtxt.setAutoscalePolicyName(subscribableInfoCtxt.getAutoscalingPolicy());
             this.applicationClusterContexts.add(appClusterCtxt);
@@ -579,7 +582,8 @@ public class DefaultApplicationParser implements 
ApplicationParser {
      * @param clusterId Cluster id
      * @param hostname Hostname
      * @param deploymentPolicy Deployment policy used
-     * @param isLB if this cluster is an LB
+     * @param isLBCluster if this cluster is an LB
+     * @param isKubernetesCluster if this cluster is a Kubernetes cluster
      * @return ApplicationClusterContext object with relevant information
      *
      * @throws ApplicationDefinitionException If any error occurs
@@ -587,14 +591,16 @@ public class DefaultApplicationParser implements 
ApplicationParser {
     private ApplicationClusterContext createApplicationClusterContext (String 
appId, String groupName, Cartridge cartridge,
                                                                        String 
subscriptionKey, int tenantId, String repoUrl,
                                                                        String 
alias, String clusterId, String hostname,
-                                                                       String 
deploymentPolicy, boolean isLB, String[] dependencyAliases)
+                                                                       String 
deploymentPolicy, boolean isLBCluster,
+                                                                       boolean 
isKubernetesCluster, String[] dependencyAliases)
             throws ApplicationDefinitionException {
 
         // Create text payload
         String textPayload = ApplicationUtils.createPayload(appId, groupName, 
cartridge, subscriptionKey, tenantId, clusterId,
                 hostname, repoUrl, alias, null, dependencyAliases).toString();
 
-        return new ApplicationClusterContext(cartridge.getType(), clusterId, 
hostname, textPayload, deploymentPolicy, isLB);
+        return new ApplicationClusterContext(cartridge.getType(), clusterId, 
hostname, textPayload, deploymentPolicy,
+                isLBCluster, isKubernetesCluster);
     }
 
     private Cartridge getCartridge (String cartridgeType)  {

http://git-wip-us.apache.org/repos/asf/stratos/blob/b110067c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ApplicationClusterContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ApplicationClusterContext.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ApplicationClusterContext.java
index 030a38a..ffb0b76 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ApplicationClusterContext.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ApplicationClusterContext.java
@@ -28,22 +28,25 @@ public class ApplicationClusterContext implements 
Serializable {
     // cluster id
     private String clusterId;
     // cartridge type
-    private String cartridgeType;
+    private final String cartridgeType;
     // payload as a String
-    private String textPayload;
+    private final String textPayload;
     // host name
     private String hostName;
     // flag to indicate LB cluster
-    private boolean isLbCluster;
+    private final boolean isLbCluster;
+    // flag to indicate Kubernetes cluster
+    private final boolean isKubernetesCluster;
     // autoscaling policy
     private String autoscalePolicyName;
     // deployment policy
-    private String deploymentPolicyName;
+    private final String deploymentPolicyName;
     // tenant rance
-    private String tenantRange;
+    private final String tenantRange;
 
     public ApplicationClusterContext (String cartridgeType, String clusterId, 
String hostName,
-                                      String textPayload, String 
deploymentPolicyName, boolean isLbCluster) {
+                                      String textPayload, String 
deploymentPolicyName, boolean isLbCluster,
+                                      boolean isKubernetesCluster) {
 
         this.cartridgeType = cartridgeType;
         this.clusterId = clusterId;
@@ -51,6 +54,7 @@ public class ApplicationClusterContext implements 
Serializable {
         this.textPayload = textPayload;
         this.deploymentPolicyName = deploymentPolicyName;
         this.isLbCluster = isLbCluster;
+        this.isKubernetesCluster = isKubernetesCluster;
         this.tenantRange = "*";
     }
 
@@ -66,18 +70,10 @@ public class ApplicationClusterContext implements 
Serializable {
         return cartridgeType;
     }
 
-    public void setCartridgeType(String cartridgeType) {
-        this.cartridgeType = cartridgeType;
-    }
-
     public String getTextPayload() {
         return textPayload;
     }
 
-    public void setTextPayload(String textPayload) {
-        this.textPayload = textPayload;
-    }
-
     public String getHostName() {
         return hostName;
     }
@@ -90,10 +86,6 @@ public class ApplicationClusterContext implements 
Serializable {
         return isLbCluster;
     }
 
-    public void setLbCluster(boolean lbCluster) {
-        isLbCluster = lbCluster;
-    }
-
     public String getAutoscalePolicyName() {
         return autoscalePolicyName;
     }
@@ -106,18 +98,10 @@ public class ApplicationClusterContext implements 
Serializable {
         return deploymentPolicyName;
     }
 
-    public void setDeploymentPolicyName(String deploymentPolicyName) {
-        this.deploymentPolicyName = deploymentPolicyName;
-    }
-
     public String getTenantRange() {
         return tenantRange;
     }
 
-    public void setTenantRange(String tenantRange) {
-        this.tenantRange = tenantRange;
-    }
-
     public boolean equals(Object other) {
 
         if(other == null || !(other instanceof ApplicationClusterContext)) {
@@ -138,4 +122,7 @@ public class ApplicationClusterContext implements 
Serializable {
         return this.cartridgeType.hashCode() + this.clusterId.hashCode();
     }
 
+    public boolean isKubernetesCluster() {
+        return isKubernetesCluster;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/b110067c/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
index 5509266..fa1a3ee 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
@@ -566,6 +566,8 @@ public class TopologyBuilder {
                 //cluster.setStatus(Status.Created);
                 cluster.addHostName(applicationClusterContext.getHostName());
                 
cluster.setTenantRange(applicationClusterContext.getTenantRange());
+                cluster.setLbCluster(applicationClusterContext.isLbCluster());
+                
cluster.setKubernetesCluster(applicationClusterContext.isKubernetesCluster());
                 clusters.add(cluster);
 
                 Service service = 
topology.getService(applicationClusterContext.getCartridgeType());

Reply via email to