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());
