private boolean isRollBackAllowedForProvider(LoadBalancerVO loadBalancer) { Network network = _networkDao.findById(loadBalancer.getNetworkId()); List<Provider> provider = _networkMgr.getProvidersForServiceInNetwork(network, Service.Lb); if (provider == null || provider.size() == 0) { return false; } if (provider.get(0) == Provider.Netscaler || provider.get(0) == Provider.F5BigIp || provider.get(0) == Provider.VirtualRouter) { return true; } return false; }
private boolean validateHealthCheck(CreateLBHealthCheckPolicyCmd cmd) { LoadBalancerVO loadBalancer = _lbDao.findById(cmd.getLbRuleId()); String capability = getLBCapability(loadBalancer.getNetworkId(), Capability.HealthCheckPolicy.getName()); if (capability != null) { return true; } return false; }
@Override public boolean applyLoadBalancerConfig(long lbRuleId) throws ResourceUnavailableException { LoadBalancerVO lb = _lbDao.findById(lbRuleId); List<LoadBalancerVO> lbs; if (isRollBackAllowedForProvider(lb)) { // this is for Netscalar type of devices. if their is failure the db // entries will be rollbacked. lbs = Arrays.asList(lb); } else { boolean onlyRulesInTransitionState = true; for (LoadBalancingServiceProvider lbElement : _lbProviders) { Provider provider = lbElement.getProvider(); boolean isLbProvider = _networkModel.isProviderSupportServiceInNetwork(lb.getNetworkId(), Service.Lb, provider); if (!isLbProvider) { continue; } onlyRulesInTransitionState = lbElement.handlesOnlyRulesInTransitionState(); break; } // get all rules in transition state if (onlyRulesInTransitionState) { lbs = _lbDao.listInTransitionStateByNetworkIdAndScheme(lb.getNetworkId(), lb.getScheme()); } else { lbs = _lbDao.listByNetworkIdAndScheme(lb.getNetworkId(), lb.getScheme()); } } return applyLoadBalancerRules(lbs, true); }
@Override public Map<Ip, UserVm> getLbInstances(long lbId) { Map<Ip, UserVm> dstList = new HashMap<Ip, UserVm>(); List<LoadBalancerVMMapVO> lbVmMaps = _lb2VmMapDao.listByLoadBalancerId(lbId); LoadBalancerVO lb = _lbDao.findById(lbId); for (LoadBalancerVMMapVO lbVmMap : lbVmMaps) { UserVm vm = _vmDao.findById(lbVmMap.getInstanceId()); Nic nic = _nicDao.findByInstanceIdAndNetworkIdIncludingRemoved(lb.getNetworkId(), vm.getId()); Ip ip = new Ip(nic.getIPv4Address()); dstList.put(ip, vm); } return dstList; }
List<UserVmVO> userVms = _vmDao.listVirtualNetworkInstancesByAcctAndNetwork(loadBalancer.getAccountId(), loadBalancer.getNetworkId());
@Override public List<LbDestination> getExistingDestinations(long lbId) { List<LbDestination> dstList = new ArrayList<LbDestination>(); List<LoadBalancerVMMapVO> lbVmMaps = _lb2VmMapDao.listByLoadBalancerId(lbId); LoadBalancerVO lb = _lbDao.findById(lbId); String dstIp = null; for (LoadBalancerVMMapVO lbVmMap : lbVmMaps) { UserVm vm = _vmDao.findById(lbVmMap.getInstanceId()); Nic nic = _nicDao.findByInstanceIdAndNetworkIdIncludingRemoved(lb.getNetworkId(), vm.getId()); dstIp = lbVmMap.getInstanceIp() == null ? nic.getIPv4Address(): lbVmMap.getInstanceIp(); LbDestination lbDst = new LbDestination(lb.getDefaultPortStart(), lb.getDefaultPortEnd(), dstIp, lbVmMap.isRevoke()); dstList.add(lbDst); } return dstList; }
private boolean genericValidator(CreateLBStickinessPolicyCmd cmd) throws InvalidParameterValueException { LoadBalancerVO loadBalancer = _lbDao.findById(cmd.getLbRuleId()); List<LbStickinessMethod> stickinessMethodList = getStickinessMethods(loadBalancer.getNetworkId()); boolean methodMatch = false;
validateAutoScaleCounters(loadBalancer.getNetworkId(), counters, profileVO.getCounterParams());
_vpcMgr.unassignIPFromVpcNetwork(ip.getId(), lb.getNetworkId());
protected LoadBalancerDaoImpl() { ListByIp = createSearchBuilder(); ListByIp.and("ipAddressId", ListByIp.entity().getSourceIpAddressId(), SearchCriteria.Op.EQ); ListByIp.and("networkId", ListByIp.entity().getNetworkId(), SearchCriteria.Op.EQ); ListByIp.and("scheme", ListByIp.entity().getScheme(), SearchCriteria.Op.EQ); ListByIp.done(); TransitionStateSearch = createSearchBuilder(); TransitionStateSearch.and("networkId", TransitionStateSearch.entity().getNetworkId(), Op.EQ); TransitionStateSearch.and("state", TransitionStateSearch.entity().getState(), Op.IN); TransitionStateSearch.and("scheme", TransitionStateSearch.entity().getScheme(), Op.EQ); TransitionStateSearch.done(); }
long networkId = lb.getNetworkId(); Network network = _networkDao.findById(networkId); if (network == null) {
Network network = _networkModel.getNetwork(lb.getNetworkId()); UsageEventUtils.publishUsageEvent(EventTypes.EVENT_LOAD_BALANCER_DELETE, lb.getAccountId(), network.getDataCenterId(), lb.getId(), null, LoadBalancingRule.class.getName(), lb.getUuid());
Network network = _networkDao.findById(loadBalancer.getNetworkId()); long dataCenterId = network.getDataCenterId(); long physicalNetworkId = network.getPhysicalNetworkId();
NetworkVO network = _networkDao.findById(lb.getNetworkId()); if (network != null) { if (_networkModel.networkIsConfiguredForExternalNetworking(network.getDataCenterId(), network.getId())) {
for (LoadBalancerVMMapVO lbVmMap : lbVmMaps) { UserVm vm = _vmDao.findById(lbVmMap.getInstanceId()); Nic nic = _nicDao.findByInstanceIdAndNetworkIdIncludingRemoved(ulb.getNetworkId(), vm.getId()); String dstIp = lbVmMap.getInstanceIp() == null ? nic.getIPv4Address(): lbVmMap.getInstanceIp();
Network network = _networkDao.findById(loadBalancer.getNetworkId()); oldLbRuleIds.add(gslbLbMapVo.getLoadBalancerId()); oldZones.add(network.getDataCenterId());
String capability = getLBCapability(loadBalancer.getNetworkId(), Capability.SslTermination.getName()); if (capability == null) { throw new InvalidParameterValueException("Ssl termination not supported by the loadbalancer");
private LbAutoScaleVmGroup getLbAutoScaleVmGroup(AutoScaleVmGroupVO vmGroup, String currentState, LoadBalancerVO lb) { long lbNetworkId = lb.getNetworkId(); String lbName = lb.getName(); List<AutoScaleVmGroupPolicyMapVO> vmGroupPolicyMapList = _autoScaleVmGroupPolicyMapDao.listByVmGroupId(vmGroup.getId());
@Override public boolean isLoadBalancerRulesMappedToVmGuestIp(long instanceId, String instanceIp, long networkId) { SearchBuilder<LoadBalancerVMMapVO> lbVmMapSearch = _loadBalancerVMMapDao.createSearchBuilder(); lbVmMapSearch.and("instanceIp", lbVmMapSearch.entity().getInstanceIp(),SearchCriteria.Op.EQ); lbVmMapSearch.and("instanceId", lbVmMapSearch.entity().getInstanceId(), SearchCriteria.Op.EQ); SearchBuilder<LoadBalancerVO> firewallRuleIdSearch = createSearchBuilder(); firewallRuleIdSearch.selectFields(firewallRuleIdSearch.entity().getId()); firewallRuleIdSearch.and("networkId",firewallRuleIdSearch.entity().getNetworkId(),Op.EQ); firewallRuleIdSearch.and("purpose",firewallRuleIdSearch.entity().getPurpose(),Op.EQ); firewallRuleIdSearch.and("state",firewallRuleIdSearch.entity().getState(),Op.NEQ); firewallRuleIdSearch.join("LoadBalancerRuleList", lbVmMapSearch, lbVmMapSearch.entity().getLoadBalancerId(), firewallRuleIdSearch.entity().getId(), JoinBuilder.JoinType.INNER); firewallRuleIdSearch.done(); lbVmMapSearch.done(); SearchCriteria<LoadBalancerVO> sc = firewallRuleIdSearch.create(); sc.setParameters("state", State.Revoke); sc.setParameters("networkId", networkId); sc.setParameters("purpose", FirewallRule.Purpose.LoadBalancing); sc.setJoinParameters("LoadBalancerRuleList", "instanceIp", instanceIp); sc.setJoinParameters("LoadBalancerRuleList", "instanceId", instanceId); List<LoadBalancerVO> lbRuleList = customSearch(sc, null); if(lbRuleList == null || lbRuleList.size() > 0) { return true; } return false; }
sb.and("name", sb.entity().getName(), SearchCriteria.Op.LIKE); sb.and("sourceIpAddress", sb.entity().getSourceIpAddressId(), SearchCriteria.Op.EQ); sb.and("networkId", sb.entity().getNetworkId(), SearchCriteria.Op.EQ); sb.and("scheme", sb.entity().getScheme(), SearchCriteria.Op.EQ); sb.and("display", sb.entity().isDisplay(), SearchCriteria.Op.EQ);