LB subscription refactoring contd.
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/c4586634 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/c4586634 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/c4586634 Branch: refs/heads/master Commit: c4586634484279eebb685903b5a3b09a5ade8bd6 Parents: 5e99f2a Author: Isuru <[email protected]> Authored: Fri Mar 7 17:54:32 2014 +0530 Committer: Isuru <[email protected]> Committed: Fri Mar 7 17:54:32 2014 +0530 ---------------------------------------------------------------------- .../service/multitenant/MultiTenantService.java | 12 ++++----- .../manager/CartridgeSubscriptionManager.java | 12 +++------ .../factory/CartridgeSubscriptionFactory.java | 6 ++++- .../SubscriptionSingleTenantBehaviour.java | 26 +++----------------- .../utils/CartridgeSubscriptionUtils.java | 8 ++++++ 5 files changed, 26 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java index 2b4fce3..5a4ff42 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java @@ -21,13 +21,11 @@ package org.apache.stratos.manager.deploy.service.multitenant; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; import org.apache.stratos.cloud.controller.pojo.Properties; import org.apache.stratos.manager.deploy.service.Service; import org.apache.stratos.manager.exception.ADCException; import org.apache.stratos.manager.exception.UnregisteredCartridgeException; -import org.apache.stratos.manager.utils.ApplicationManagementUtil; -import org.apache.stratos.manager.utils.CartridgeConstants; -import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; public class MultiTenantService extends Service { @@ -44,8 +42,10 @@ public class MultiTenantService extends Service { super.deploy(properties); //register the service - ApplicationManagementUtil.registerService(getType(), getClusterId(), CartridgeConstants.DEFAULT_SUBDOMAIN, - getPayloadData().getCompletePayloadData(), getTenantRange(), getHostName(), getAutoscalingPolicyName(), - getDeploymentPolicyName(), properties); + //ApplicationManagementUtil.registerService(getType(), getClusterId(), CartridgeConstants.DEFAULT_SUBDOMAIN, + // getPayloadData().getCompletePayloadData(), getTenantRange(), getHostName(), getAutoscalingPolicyName(), + // getDeploymentPolicyName(), properties); + + register(getCartridgeInfo(), getCluster(), getPayloadData(), getAutoscalingPolicyName(), getDeploymentPolicyName(), properties); } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java index 3703856..bfc62de 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java @@ -109,6 +109,7 @@ public class CartridgeSubscriptionManager { } } else { + // LB ref found, get relevant LB Context data lbDataCtxt = CartridgeSubscriptionUtils.getLoadBalancerDataContext(subscriptionData.getTenantId(), subscriptionData.getCartridgeType(), subscriptionData.getDeploymentPolicyName(), lbConfig); @@ -154,7 +155,7 @@ public class CartridgeSubscriptionManager { DuplicateCartridgeAliasException, PolicyException, UnregisteredCartridgeException, RepositoryRequiredException, RepositoryCredentialsRequiredException, RepositoryTransportException, AlreadySubscribedException, InvalidRepositoryException { - if (lbDataContext.getLbCategory().equals(Constants.NO_LOAD_BALANCER)) { + if (lbDataContext.getLbCategory() == null || lbDataContext.getLbCategory().equals(Constants.NO_LOAD_BALANCER)) { // no load balancer subscription required log.info("No LB subscription required for the Subscription with alias: " + subscriptionData.getCartridgeAlias() + ", type: " + subscriptionData.getCartridgeType()); @@ -182,7 +183,6 @@ public class CartridgeSubscriptionManager { if(lbDataContext.getLbCartridgeInfo().getMultiTenant()) { throw new ADCException("LB Cartridge must be single tenant"); } - // Set the load balanced service type loadBalancerCategory.setLoadBalancedServiceType(subscriptionData.getCartridgeType()); @@ -227,8 +227,7 @@ public class CartridgeSubscriptionManager { } // Create the CartridgeSubscription instance - CartridgeSubscription cartridgeSubscription = CartridgeSubscriptionFactory. - getCartridgeSubscriptionInstance(cartridgeInfo, tenancyBehaviour); + CartridgeSubscription cartridgeSubscription = CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo, tenancyBehaviour); // Generate and set the key String subscriptionKey = CartridgeSubscriptionUtils.generateSubscriptionKey(); @@ -246,11 +245,6 @@ public class CartridgeSubscriptionManager { cartridgeSubscription.createSubscription(subscriber, subscriptionData.getCartridgeAlias(), subscriptionData.getAutoscalingPolicyName(), subscriptionData.getDeploymentPolicyName(), repository); - // create subscription - cartridgeSubscription.createSubscription(subscriber, subscriptionData.getCartridgeAlias(), subscriptionData.getAutoscalingPolicyName(), - subscriptionData.getDeploymentPolicyName(), repository); - - log.info("Tenant [" + subscriptionData.getTenantId() + "] with username [" + subscriptionData.getTenantAdminUsername() + " subscribed to " + "] Cartridge with Alias " + subscriptionData.getCartridgeAlias() + ", Cartridge Type: " + subscriptionData.getCartridgeType() + ", Repo URL: " + subscriptionData.getRepositoryURL() + ", Autoscale Policy: " + http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java index ce70b89..05b68b2 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java @@ -19,6 +19,8 @@ package org.apache.stratos.manager.subscription.factory; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; import org.apache.stratos.manager.exception.ADCException; import org.apache.stratos.manager.lb.category.LBDataContext; @@ -29,6 +31,8 @@ import org.apache.stratos.manager.utils.CartridgeConstants; public class CartridgeSubscriptionFactory { + private static Log log = LogFactory.getLog(CartridgeSubscriptionFactory.class); + /** * Returns the relevant CartridgeSubscription object for the given criteria * @@ -70,7 +74,7 @@ public class CartridgeSubscriptionFactory { public static CartridgeSubscription getLBCartridgeSubscriptionInstance (LBDataContext lbDataContext, LoadBalancerCategory loadBalancerCategory) throws ADCException { - if (!lbDataContext.getLbCartridgeInfo().getProvider().equals("loadbalancer") || !lbDataContext.getLbCartridgeInfo().getProvider().equals("lb")) { + if (!lbDataContext.getLbCartridgeInfo().getProvider().equals("loadbalancer") && !lbDataContext.getLbCartridgeInfo().getProvider().equals("lb")) { throw new ADCException("LB cartridge provider should be either lb or loadbalancer"); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java index e3c2772..1b6099a 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java @@ -19,37 +19,19 @@ package org.apache.stratos.manager.subscription.tenancy; -import org.apache.axis2.AxisFault; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.stratos.cloud.controller.pojo.CartridgeInfo; -import org.apache.stratos.cloud.controller.pojo.Properties; -import org.apache.stratos.cloud.controller.pojo.Property; 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; import org.apache.stratos.manager.exception.NotSubscribedException; -import org.apache.stratos.manager.exception.UnregisteredCartridgeException; -import org.apache.stratos.manager.payload.BasicPayloadData; -import org.apache.stratos.manager.payload.PayloadData; -import org.apache.stratos.manager.payload.PayloadFactory; -import org.apache.stratos.manager.repository.Repository; import org.apache.stratos.manager.service.InstanceCleanupNotificationService; -import org.apache.stratos.manager.subscriber.Subscriber; -import org.apache.stratos.manager.subscription.utils.CartridgeSubscriptionUtils; -import org.apache.stratos.manager.utils.ApplicationManagementUtil; -import org.apache.stratos.manager.utils.CartridgeConstants; - -import java.util.Map; -import java.util.Set; public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehaviour { private static Log log = LogFactory.getLog(SubscriptionSingleTenantBehaviour.class); - public PayloadData create (String alias, Cluster cluster, Subscriber subscriber, Repository repository, CartridgeInfo cartridgeInfo, + /*public PayloadData create (String alias, Cluster cluster, Subscriber subscriber, Repository repository, CartridgeInfo cartridgeInfo, String subscriptionKey, Map<String, String> customPayloadEntries) throws ADCException, AlreadySubscribedException { //set the cluster and hostname @@ -99,9 +81,9 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi } return payloadData; - } + } */ - public void register (CartridgeInfo cartridgeInfo, Cluster cluster, PayloadData payloadData, String autoscalePolicyName, + /*public void register (CartridgeInfo cartridgeInfo, Cluster cluster, PayloadData payloadData, String autoscalePolicyName, String deploymentPolicyName, Properties properties) throws ADCException, UnregisteredCartridgeException { log.info("Payload: " + payloadData.getCompletePayloadData().toString()); @@ -115,7 +97,7 @@ public class SubscriptionSingleTenantBehaviour extends SubscriptionTenancyBehavi autoscalePolicyName, deploymentPolicyName, properties); - } + }*/ public void remove (String clusterId, String alias) throws ADCException, NotSubscribedException { //sending instance cleanup notification for the cluster, so that members in the cluster would aware of the termination http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java index 5fa3717..e8b572c 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java @@ -244,6 +244,8 @@ public class CartridgeSubscriptionUtils { if (Constants.NO_LOAD_BALANCER.equals(name)) { if ("true".equals(value)) { + lbDataCtxt.setLbCategory(Constants.NO_LOAD_BALANCER); + if (log.isDebugEnabled()) { log.debug("This cartridge does not require a load balancer. " + "[Type] " + serviceType); } @@ -253,6 +255,8 @@ public class CartridgeSubscriptionUtils { } } else if (Constants.EXISTING_LOAD_BALANCERS.equals(name)) { + lbDataCtxt.setLbCategory(Constants.EXISTING_LOAD_BALANCERS); + String clusterIdsVal = value; if (log.isDebugEnabled()) { log.debug("This cartridge refers to existing load balancers. " + "[Type] " + serviceType + "[Referenced Cluster Ids] " + clusterIdsVal); @@ -277,6 +281,8 @@ public class CartridgeSubscriptionUtils { if ("true".equals(value)) { + lbDataCtxt.setLbCategory(Constants.DEFAULT_LOAD_BALANCER); + lbRefProperty.setValue(name); CartridgeInfo lbCartridgeInfo; @@ -347,6 +353,8 @@ public class CartridgeSubscriptionUtils { if ("true".equals(value)) { + lbDataCtxt.setLbCategory(Constants.SERVICE_AWARE_LOAD_BALANCER); + lbRefProperty.setValue(name); CartridgeInfo lbCartridgeInfo;
