Repository: incubator-stratos Updated Branches: refs/heads/master 60b2f3fac -> 2651d6aab
setting cluster id to subscription from existing default LB Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/0a06ab55 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/0a06ab55 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/0a06ab55 Branch: refs/heads/master Commit: 0a06ab55fffdfb7cc24d02b7eded9f544f97d698 Parents: 75d5b26 Author: Sajith Kariyawasam <[email protected]> Authored: Fri Mar 28 14:32:25 2014 +0530 Committer: Sajith Kariyawasam <[email protected]> Committed: Fri Mar 28 14:32:25 2014 +0530 ---------------------------------------------------------------------- .../behaviour/CartridgeMgtBehaviour.java | 21 +++++++--- .../client/CloudControllerServiceClient.java | 4 ++ .../category/DefaultLoadBalancerCategory.java | 43 +++++++++++++------- .../lb/category/LoadBalancerCategory.java | 17 +++----- 4 files changed, 52 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0a06ab55/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/behaviour/CartridgeMgtBehaviour.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/behaviour/CartridgeMgtBehaviour.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/behaviour/CartridgeMgtBehaviour.java index 3de87eb..b083d56 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/behaviour/CartridgeMgtBehaviour.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/behaviour/CartridgeMgtBehaviour.java @@ -18,7 +18,6 @@ package org.apache.stratos.manager.behaviour; * under the License. */ -import org.apache.axis2.AxisFault; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo; @@ -53,18 +52,28 @@ public abstract class CartridgeMgtBehaviour implements Serializable { public PayloadData create (String alias, Cluster cluster, Subscriber subscriber, Repository repository, CartridgeInfo cartridgeInfo, String subscriptionKey, Map<String, String> customPayloadEntries) throws ADCException, AlreadySubscribedException { + // set cluster domain + cluster.setClusterDomain(generateClusterId(alias, cartridgeInfo.getType())); + // set hostname + cluster.setHostName(generateHostName(alias, cartridgeInfo.getHostName())); - String clusterId = alias + "." + cartridgeInfo.getType() + ".domain"; + return createPayload(cartridgeInfo, subscriptionKey, subscriber, cluster, repository, alias, customPayloadEntries); + } + protected String generateClusterId (String alias, String cartridgeType) { + + String clusterId = alias + "." + cartridgeType + ".domain"; // limit the cartridge alias to 30 characters in length if (clusterId.length() > 30) { clusterId = CartridgeSubscriptionUtils.limitLengthOfString(clusterId, 30); } - cluster.setClusterDomain(clusterId); - // set hostname - cluster.setHostName(alias + "." + cluster.getHostName()); - return createPayload(cartridgeInfo, subscriptionKey, subscriber, cluster, repository, alias, customPayloadEntries); + return clusterId; + } + + protected String generateHostName (String alias, String cartridgeDefinitionHostName) { + + return alias + "." + cartridgeDefinitionHostName; } protected PayloadData createPayload (CartridgeInfo cartridgeInfo, String subscriptionKey, Subscriber subscriber, Cluster cluster, http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0a06ab55/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java index 6b77921..1bfd4ad 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/client/CloudControllerServiceClient.java @@ -152,4 +152,8 @@ public class CloudControllerServiceClient { stub.unregisterService(clusterId); } + public ClusterContext getClusterContext (String clusterId) throws RemoteException { + + return stub.getClusterContext(clusterId); + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0a06ab55/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java index 81521fc..ac368e8 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/DefaultLoadBalancerCategory.java @@ -19,15 +19,13 @@ package org.apache.stratos.manager.lb.category; -import java.rmi.RemoteException; -import java.util.Map; - -import org.apache.axis2.AxisFault; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo; +import org.apache.stratos.cloud.controller.stub.pojo.ClusterContext; import org.apache.stratos.cloud.controller.stub.pojo.Properties; import org.apache.stratos.manager.client.AutoscalerServiceClient; +import org.apache.stratos.manager.client.CloudControllerServiceClient; import org.apache.stratos.manager.dao.Cluster; import org.apache.stratos.manager.exception.ADCException; import org.apache.stratos.manager.exception.AlreadySubscribedException; @@ -35,7 +33,9 @@ import org.apache.stratos.manager.exception.UnregisteredCartridgeException; import org.apache.stratos.manager.payload.PayloadData; import org.apache.stratos.manager.repository.Repository; import org.apache.stratos.manager.subscriber.Subscriber; -import org.apache.stratos.manager.subscription.utils.CartridgeSubscriptionUtils; + +import java.rmi.RemoteException; +import java.util.Map; public class DefaultLoadBalancerCategory extends LoadBalancerCategory { @@ -52,27 +52,40 @@ public class DefaultLoadBalancerCategory extends LoadBalancerCategory { try { clusterId = AutoscalerServiceClient.getServiceClient().getDefaultLBClusterId(getDeploymentPolicyName()); } catch (Exception e) { - log.error("Error occurred in retrieving default LB cluster id. " + e.getMessage()); + log.error("Error occurred in retrieving default LB cluster id" + e.getMessage()); throw new ADCException(e); } if (clusterId != null) { - //set the cluster id to Cluster object cluster.setClusterDomain(clusterId); + if (log.isDebugEnabled()) { + log.debug("Set existing default LB cluster id " + clusterId + " to the LB Subscription with alias: " + alias); + } defaultLBExists = true; - //need to check if we can get the host name as well.. - } else { - clusterId = alias + "." + cartridgeInfo.getType() + ".domain"; + //get the hostname for this cluster and set it + ClusterContext clusterContext; + try { + clusterContext = CloudControllerServiceClient.getServiceClient().getClusterContext(clusterId); + + } catch (RemoteException e) { + log.error("Error occurred in retrieving Cluster Context for default LB" + e.getMessage()); + throw new ADCException(e); + } - // limit the cartridge alias to 30 characters in length - if (clusterId.length() > 30) { - clusterId = CartridgeSubscriptionUtils.limitLengthOfString(clusterId, 30); + if (clusterContext != null) { + cluster.setHostName(clusterContext.getHostName()); + if (log.isDebugEnabled()) { + log.debug("Set existing default LB hostname " + clusterContext.getHostName() + " to the LB Subscription with alias: " + alias); + } } - cluster.setClusterDomain(clusterId); + + } else { + // set cluster domain + cluster.setClusterDomain(generateClusterId(alias, cartridgeInfo.getType())); // set hostname - cluster.setHostName(alias + "." + cluster.getHostName()); + cluster.setHostName(generateHostName(alias, cartridgeInfo.getHostName())); } return createPayload(cartridgeInfo, subscriptionKey, subscriber, http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0a06ab55/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/LoadBalancerCategory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/LoadBalancerCategory.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/LoadBalancerCategory.java index 1243b12..43ae859 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/LoadBalancerCategory.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lb/category/LoadBalancerCategory.java @@ -19,8 +19,6 @@ package org.apache.stratos.manager.lb.category; -import java.util.Map; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.stub.pojo.CartridgeInfo; @@ -34,7 +32,8 @@ import org.apache.stratos.manager.payload.PayloadData; import org.apache.stratos.manager.repository.Repository; import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager; import org.apache.stratos.manager.subscriber.Subscriber; -import org.apache.stratos.manager.subscription.utils.CartridgeSubscriptionUtils; + +import java.util.Map; public abstract class LoadBalancerCategory extends CartridgeMgtBehaviour { @@ -91,16 +90,10 @@ public abstract class LoadBalancerCategory extends CartridgeMgtBehaviour { cluster.setHostName(deployedLBService.getHostName()); } else { - clusterId = alias + "." + cartridgeInfo.getType() + ".domain"; - - // limit the cartridge alias to 30 characters in length - if (clusterId.length() > 30) { - clusterId = CartridgeSubscriptionUtils.limitLengthOfString( - clusterId, 30); - } - cluster.setClusterDomain(clusterId); + // set cluster domain + cluster.setClusterDomain(generateClusterId(alias, cartridgeInfo.getType())); // set hostname - cluster.setHostName(alias + "." + cluster.getHostName()); + cluster.setHostName(generateHostName(alias, cartridgeInfo.getHostName())); } return createPayload(cartridgeInfo, subscriptionKey, subscriber,
