use of com.cloud.network.lb.LoadBalancingRule in project cloudstack by apache.
the class InternalLBVMManagerTest method applyToVmInStartingState.
@Test(expected = ResourceUnavailableException.class)
public void applyToVmInStartingState() throws ResourceUnavailableException {
boolean result = false;
final List<DomainRouterVO> vms = new ArrayList<DomainRouterVO>();
vm.setState(State.Starting);
vms.add(vm);
final List<LoadBalancingRule> rules = new ArrayList<LoadBalancingRule>();
final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null);
rules.add(rule);
try {
result = _lbVmMgr.applyLoadBalancingRules(new NetworkVO(), rules, vms);
} finally {
assertFalse("Rules were applied to vm in Starting state", result);
}
}
use of com.cloud.network.lb.LoadBalancingRule in project cloudstack by apache.
the class InternalLBVMManagerTest method applyToVmInStoppedState.
@Test
public void applyToVmInStoppedState() throws ResourceUnavailableException {
boolean result = false;
final List<DomainRouterVO> vms = new ArrayList<DomainRouterVO>();
vm.setState(State.Stopped);
vms.add(vm);
final List<LoadBalancingRule> rules = new ArrayList<LoadBalancingRule>();
final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null);
rules.add(rule);
try {
result = _lbVmMgr.applyLoadBalancingRules(new NetworkVO(), rules, vms);
} finally {
assertTrue("Rules failed to apply to vm in Stopped state", result);
}
}
use of com.cloud.network.lb.LoadBalancingRule in project cloudstack by apache.
the class BasicNetworkVisitor method visit.
@Override
public boolean visit(final LoadBalancingRules loadbalancing) throws ResourceUnavailableException {
final Network network = loadbalancing.getNetwork();
final DomainRouterVO router = (DomainRouterVO) loadbalancing.getRouter();
final List<LoadBalancingRule> rules = loadbalancing.getRules();
final Commands cmds = new Commands(Command.OnError.Continue);
_commandSetupHelper.createApplyLoadBalancingRulesCommands(rules, router, cmds, network.getId());
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
}
use of com.cloud.network.lb.LoadBalancingRule in project cloudstack by apache.
the class BasicNetworkVisitor method visit.
@SuppressWarnings("unchecked")
@Override
public boolean visit(final FirewallRules firewall) throws ResourceUnavailableException {
final Network network = firewall.getNetwork();
final VirtualRouter router = firewall.getRouter();
final List<? extends FirewallRule> rules = firewall.getRules();
final List<LoadBalancingRule> loadbalancingRules = firewall.getLoadbalancingRules();
final Purpose purpose = firewall.getPurpose();
final Commands cmds = new Commands(Command.OnError.Continue);
if (purpose == Purpose.LoadBalancing) {
_commandSetupHelper.createApplyLoadBalancingRulesCommands(loadbalancingRules, router, cmds, network.getId());
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
} else if (purpose == Purpose.PortForwarding) {
_commandSetupHelper.createApplyPortForwardingRulesCommands((List<? extends PortForwardingRule>) rules, router, cmds, network.getId());
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
} else if (purpose == Purpose.StaticNat) {
_commandSetupHelper.createApplyStaticNatRulesCommands((List<StaticNatRule>) rules, router, cmds, network.getId());
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
} else if (purpose == Purpose.Firewall) {
_commandSetupHelper.createApplyFirewallRulesCommands(rules, router, cmds, network.getId());
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
}
s_logger.warn("Unable to apply rules of purpose: " + rules.get(0).getPurpose());
return false;
}
Aggregations