Updated Branches: refs/heads/master bcd60dab0 -> 264f777a2
Remove AutoScale entities while deleting autoscaled loadbalancer. Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/264f777a Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/264f777a Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/264f777a Branch: refs/heads/master Commit: 264f777a2dfc13bed6060b4697cb1f55e7483c36 Parents: aea87da Author: Vijay Venkatachalam <[email protected]> Authored: Fri Nov 16 12:21:58 2012 +0530 Committer: Vijay Venkatachalam <[email protected]> Committed: Fri Nov 16 12:56:32 2012 +0530 ---------------------------------------------------------------------- api/src/com/cloud/event/EventTypes.java | 3 +-- .../com/cloud/network/as/AutoScaleManagerImpl.java | 5 +++-- .../network/lb/LoadBalancingRulesManagerImpl.java | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/264f777a/api/src/com/cloud/event/EventTypes.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/event/EventTypes.java b/api/src/com/cloud/event/EventTypes.java index 362ce11..e69e4a4 100755 --- a/api/src/com/cloud/event/EventTypes.java +++ b/api/src/com/cloud/event/EventTypes.java @@ -311,6 +311,5 @@ public class EventTypes { public static final String EVENT_AUTOSCALEVMGROUP_DELETE = "AUTOSCALEVMGROUP.DELETE"; public static final String EVENT_AUTOSCALEVMGROUP_UPDATE = "AUTOSCALEVMGROUP.UPDATE"; public static final String EVENT_AUTOSCALEVMGROUP_ENABLE = "AUTOSCALEVMGROUP.ENABLE"; - public static final String EVENT_AUTOSCALEVMGROUP_DISABLE = "AUTOSCALEVMGROUP.DIABLE"; - + public static final String EVENT_AUTOSCALEVMGROUP_DISABLE = "AUTOSCALEVMGROUP.DISABLE"; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/264f777a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java index c59ff5b..e739aec 100644 --- a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java +++ b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java @@ -755,8 +755,9 @@ public class AutoScaleManagerImpl<Type> implements AutoScaleManager, AutoScaleSe return _lbRulesMgr.configureLbAutoScaleVmGroup(vmGroupid, currentState); } catch (ResourceUnavailableException re) { throw re; - } catch (RuntimeException re) { - s_logger.warn("Exception during configureLbAutoScaleVmGrouop in lb rules manager", re); + } catch (Exception e) { + s_logger.warn("Exception during configureLbAutoScaleVmGroup in lb rules manager", e); + return false; } } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/264f777a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 99cfe61..6346bc3 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -227,6 +227,7 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa @Inject UserDao _userDao; + // Will return a string. For LB Stickiness this will be a json, for autoscale this will be "," separated values @Override public String getLBCapability(long networkid, String capabilityName) { @@ -237,7 +238,7 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa serviceResponse.setName(service.getName()); if ("Lb".equalsIgnoreCase(service.getName())) { Map<Capability, String> serviceCapabilities = serviceCapabilitiesMap - .get(service); + .get(service); if (serviceCapabilities != null) { for (Capability capability : serviceCapabilities .keySet()) { @@ -351,7 +352,6 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa _lbDao.persist(loadBalancer); } - // LBTODO try { success = applyAutoScaleConfig(loadBalancer, vmGroup, currentState); } catch (ResourceUnavailableException e) { @@ -862,10 +862,19 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa if (apply) { try { + if (_autoScaleVmGroupDao.isAutoScaleLoadBalancer(loadBalancerId)) { + // Get the associated VmGroup + AutoScaleVmGroupVO vmGroup = _autoScaleVmGroupDao.listByAll(loadBalancerId, null).get(0); + if (!applyAutoScaleConfig(lb, vmGroup,vmGroup.getState())) { + s_logger.warn("Unable to apply the autoscale config"); + return false; + } + } else { if (!applyLoadBalancerConfig(loadBalancerId)) { s_logger.warn("Unable to apply the load balancer config"); return false; } + } } catch (ResourceUnavailableException e) { if (rollBack && isRollBackAllowedForProvider(lb)) { if (backupMaps != null) { @@ -953,7 +962,7 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa try { if (ipVO.getAssociatedWithNetworkId() == null) { boolean assignToVpcNtwk = network.getVpcId() != null - && ipVO.getVpcId() != null && ipVO.getVpcId().longValue() == network.getVpcId(); + && ipVO.getVpcId() != null && ipVO.getVpcId().longValue() == network.getVpcId(); if (assignToVpcNtwk) { //set networkId just for verification purposes _networkMgr.checkIpForService(ipVO, Service.Lb, lb.getNetworkId());
