diff --git a/core/src/com/cloud/agent/api/CheckRouterAnswer.java b/core/src/com/cloud/agent/api/CheckRouterAnswer.java index b084d4bf3ba..6a95ab11bc8 100644 --- a/core/src/com/cloud/agent/api/CheckRouterAnswer.java +++ b/core/src/com/cloud/agent/api/CheckRouterAnswer.java @@ -22,63 +22,49 @@ package com.cloud.agent.api; import com.cloud.network.router.VirtualRouter.RedundantState; public class CheckRouterAnswer extends Answer { + public static final String ROUTER_NAME = "router.name"; public static final String ROUTER_IP = "router.ip"; RedundantState state; - boolean isBumped; protected CheckRouterAnswer() { } - public CheckRouterAnswer(CheckRouterCommand cmd, String details, boolean parse) { + public CheckRouterAnswer(final CheckRouterCommand cmd, final String details, final boolean parse) { super(cmd, true, details); if (parse) { if (!parseDetails(details)) { - this.result = false; + result = false; } } } - public CheckRouterAnswer(CheckRouterCommand cmd, String details) { + public CheckRouterAnswer(final CheckRouterCommand cmd, final String details) { super(cmd, false, details); } - protected boolean parseDetails(String details) { - String[] lines = details.split("&"); - if (lines.length != 2) { + protected boolean parseDetails(final String details) { + if (details == null || "".equals(details.trim())) { + state = RedundantState.UNKNOWN; return false; } - if (lines[0].startsWith("Status: MASTER")) { + if (details.startsWith("Status: MASTER")) { state = RedundantState.MASTER; - } else if (lines[0].startsWith("Status: BACKUP")) { + } else if (details.startsWith("Status: BACKUP")) { state = RedundantState.BACKUP; - } else if (lines[0].startsWith("Status: FAULT")) { + } else if (details.startsWith("Status: FAULT")) { state = RedundantState.FAULT; } else { state = RedundantState.UNKNOWN; } - if (lines[1].startsWith("Bumped: YES")) { - isBumped = true; - } else { - isBumped = false; - } return true; } - public void setState(RedundantState state) { + public void setState(final RedundantState state) { this.state = state; } public RedundantState getState() { return state; } - - public boolean isBumped() { - return isBumped; - } - - public void setIsBumped(boolean isBumped) { - this.isBumped = isBumped; - } - -} +} \ No newline at end of file diff --git a/core/src/com/cloud/agent/api/SetupGuestNetworkCommand.java b/core/src/com/cloud/agent/api/SetupGuestNetworkCommand.java index 26d47811b2f..0f53daa7e98 100644 --- a/core/src/com/cloud/agent/api/SetupGuestNetworkCommand.java +++ b/core/src/com/cloud/agent/api/SetupGuestNetworkCommand.java @@ -28,7 +28,6 @@ public class SetupGuestNetworkCommand extends NetworkElementCommand { String defaultDns1 = null; String defaultDns2 = null; boolean isRedundant = false; - Integer priority; boolean add = true; NicTO nic; @@ -60,14 +59,13 @@ public class SetupGuestNetworkCommand extends NetworkElementCommand { protected SetupGuestNetworkCommand() { } - public SetupGuestNetworkCommand(String dhcpRange, String networkDomain, boolean isRedundant, Integer priority, String defaultDns1, String defaultDns2, boolean add, - NicTO nic) { + public SetupGuestNetworkCommand(final String dhcpRange, final String networkDomain, final boolean isRedundant, final String defaultDns1, final String defaultDns2, final boolean add, + final NicTO nic) { this.dhcpRange = dhcpRange; this.networkDomain = networkDomain; this.defaultDns1 = defaultDns1; this.defaultDns2 = defaultDns2; this.isRedundant = isRedundant; - this.priority = priority; this.add = add; this.nic = nic; } diff --git a/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java b/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java index ea72ff1d0c4..5942a171871 100644 --- a/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java +++ b/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java @@ -101,26 +101,26 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { String ROUTERNAME = "r-4-VM"; @Override - public ExecutionResult executeInVR(String routerIp, String script, String args) { + public ExecutionResult executeInVR(final String routerIp, final String script, final String args) { return executeInVR(routerIp, script, args, 60); } @Override - public ExecutionResult executeInVR(String routerIp, String script, String args, int timeout) { + public ExecutionResult executeInVR(final String routerIp, final String script, final String args, final int timeout) { assertEquals(routerIp, ROUTERIP); verifyCommand(_currentCmd, script, args); return new ExecutionResult(true, null); } @Override - public ExecutionResult createFileInVR(String routerIp, String path, String filename, String content) { + public ExecutionResult createFileInVR(final String routerIp, final String path, final String filename, final String content) { assertEquals(routerIp, ROUTERIP); verifyFile(_currentCmd, path, filename, content); return new ExecutionResult(true, null); } @Override - public ExecutionResult prepareCommand(NetworkElementCommand cmd) { + public ExecutionResult prepareCommand(final NetworkElementCommand cmd) { cmd.setRouterAccessIp(ROUTERIP); _currentCmd = cmd; if (cmd instanceof IpAssocVpcCommand) { @@ -138,7 +138,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } @Override - public ExecutionResult cleanupCommand(NetworkElementCommand cmd) { + public ExecutionResult cleanupCommand(final NetworkElementCommand cmd) { return new ExecutionResult(true, null); } @@ -147,12 +147,12 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { _resource = new VirtualRoutingResource(this); try { _resource.configure("VRResource", new HashMap()); - } catch (ConfigurationException e) { + } catch (final ConfigurationException e) { e.printStackTrace(); } } - private void verifyFile(NetworkElementCommand cmd, String path, String filename, String content) { + private void verifyFile(final NetworkElementCommand cmd, final String path, final String filename, final String content) { if (cmd instanceof AggregationControlCommand) { verifyFile((AggregationControlCommand)cmd, path, filename, content); } else if (cmd instanceof LoadBalancerConfigCommand) { @@ -160,7 +160,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } } - protected void verifyCommand(NetworkElementCommand cmd, String script, String args) { + protected void verifyCommand(final NetworkElementCommand cmd, final String script, final String args) { if (cmd instanceof SetPortForwardingRulesVpcCommand) { verifyArgs((SetPortForwardingRulesVpcCommand) cmd, script, args); } else if (cmd instanceof SetPortForwardingRulesCommand) { @@ -210,54 +210,54 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } } - private void verifyArgs(VpnUsersCfgCommand cmd, String script, String args) { + private void verifyArgs(final VpnUsersCfgCommand cmd, final String script, final String args) { //To change body of created methods use File | Settings | File Templates. } - private void verifyArgs(SetStaticRouteCommand cmd, String script, String args) { + private void verifyArgs(final SetStaticRouteCommand cmd, final String script, final String args) { //To change body of created methods use File | Settings | File Templates. } - private void verifyArgs(SetStaticNatRulesCommand cmd, String script, String args) { + private void verifyArgs(final SetStaticNatRulesCommand cmd, final String script, final String args) { //To change body of created methods use File | Settings | File Templates. } @Test public void testBumpUpCommand() { - BumpUpPriorityCommand cmd = new BumpUpPriorityCommand(); - Answer answer = _resource.executeRequest(cmd); + final BumpUpPriorityCommand cmd = new BumpUpPriorityCommand(); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer.getResult()); } - private void verifyArgs(BumpUpPriorityCommand cmd, String script, String args) { + private void verifyArgs(final BumpUpPriorityCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.RVR_BUMPUP_PRI); assertEquals(args, null); } @Test public void testSetPortForwardingRulesVpcCommand() { - SetPortForwardingRulesVpcCommand cmd = generateSetPortForwardingRulesVpcCommand(); + final SetPortForwardingRulesVpcCommand cmd = generateSetPortForwardingRulesVpcCommand(); // Reset rule check count _count = 0; - Answer answer = _resource.executeRequest(cmd); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer instanceof GroupAnswer); assertEquals(((GroupAnswer) answer).getResults().length, 2); assertTrue(answer.getResult()); } protected SetPortForwardingRulesVpcCommand generateSetPortForwardingRulesVpcCommand() { - List pfRules = new ArrayList<>(); + final List pfRules = new ArrayList<>(); pfRules.add(new PortForwardingRuleTO(1, "64.1.1.10", 22, 80, "10.10.1.10", 22, 80, "TCP", false, false)); pfRules.add(new PortForwardingRuleTO(2, "64.1.1.11", 8080, 8080, "10.10.1.11", 8080, 8080, "UDP", true, false)); - SetPortForwardingRulesVpcCommand cmd = new SetPortForwardingRulesVpcCommand(pfRules); + final SetPortForwardingRulesVpcCommand cmd = new SetPortForwardingRulesVpcCommand(pfRules); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); assertEquals(cmd.getAnswersCount(), 2); return cmd; } - private void verifyArgs(SetPortForwardingRulesVpcCommand cmd, String script, String args) { + private void verifyArgs(final SetPortForwardingRulesVpcCommand cmd, final String script, final String args) { assertTrue(script.equals(VRScripts.VPC_PORTFORWARDING)); _count ++; switch (_count) { @@ -274,27 +274,27 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testSetPortForwardingRulesCommand() { - SetPortForwardingRulesCommand cmd = generateSetPortForwardingRulesCommand(); + final SetPortForwardingRulesCommand cmd = generateSetPortForwardingRulesCommand(); // Reset rule check count _count = 0; - Answer answer = _resource.executeRequest(cmd); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer instanceof GroupAnswer); assertEquals(((GroupAnswer) answer).getResults().length, 2); assertTrue(answer.getResult()); } protected SetPortForwardingRulesCommand generateSetPortForwardingRulesCommand() { - List pfRules = new ArrayList<>(); + final List pfRules = new ArrayList<>(); pfRules.add(new PortForwardingRuleTO(1, "64.1.1.10", 22, 80, "10.10.1.10", 22, 80, "TCP", false, false)); pfRules.add(new PortForwardingRuleTO(2, "64.1.1.11", 8080, 8080, "10.10.1.11", 8080, 8080, "UDP", true, false)); - SetPortForwardingRulesCommand cmd = new SetPortForwardingRulesCommand(pfRules); + final SetPortForwardingRulesCommand cmd = new SetPortForwardingRulesCommand(pfRules); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); assertEquals(cmd.getAnswersCount(), 2); return cmd; } - private void verifyArgs(SetPortForwardingRulesCommand cmd, String script, String args) { + private void verifyArgs(final SetPortForwardingRulesCommand cmd, final String script, final String args) { assertTrue(script.equals(VRScripts.FIREWALL_NAT)); _count ++; switch (_count) { @@ -311,31 +311,31 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testIpAssocCommand() { - IpAssocCommand cmd = generateIpAssocCommand(); + final IpAssocCommand cmd = generateIpAssocCommand(); _count = 0; - Answer answer = _resource.executeRequest(cmd); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer instanceof GroupAnswer); assertEquals(2, ((GroupAnswer)answer).getResults().length); assertTrue(answer.getResult()); } - private ExecutionResult prepareNetworkElementCommand(IpAssocCommand cmd) { - IpAddressTO[] ips = cmd.getIpAddresses(); - for (IpAddressTO ip : ips) { + private ExecutionResult prepareNetworkElementCommand(final IpAssocCommand cmd) { + final IpAddressTO[] ips = cmd.getIpAddresses(); + for (final IpAddressTO ip : ips) { ip.setNicDevId(2); } return new ExecutionResult(true, null); } protected IpAssocCommand generateIpAssocCommand() { - List ips = new ArrayList<>(); + final List ips = new ArrayList<>(); ips.add(new IpAddressTO(1, "64.1.1.10", true, true, true, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false)); ips.add(new IpAddressTO(2, "64.1.1.11", false, false, false, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false)); ips.add(new IpAddressTO(3, "65.1.1.11", true, false, false, "vlan://65", "65.1.1.1", "255.255.255.0", "11:23:45:67:89:AB", 1000, false)); - IpAddressTO[] ipArray = ips.toArray(new IpAddressTO[ips.size()]); - IpAssocCommand cmd = new IpAssocCommand(ipArray); + final IpAddressTO[] ipArray = ips.toArray(new IpAddressTO[ips.size()]); + final IpAssocCommand cmd = new IpAssocCommand(ipArray); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); assertEquals(cmd.getAnswersCount(), 3); @@ -344,38 +344,38 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testIpAssocVpcCommand() { - IpAssocVpcCommand cmd = generateIpAssocVpcCommand(); + final IpAssocVpcCommand cmd = generateIpAssocVpcCommand(); _count = 0; - Answer answer = _resource.executeRequest(cmd); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer instanceof GroupAnswer); assertEquals(2, ((GroupAnswer)answer).getResults().length); assertTrue(answer.getResult()); } - private ExecutionResult prepareNetworkElementCommand(IpAssocVpcCommand cmd) { - IpAddressTO[] ips = cmd.getIpAddresses(); - for (IpAddressTO ip : ips) { + private ExecutionResult prepareNetworkElementCommand(final IpAssocVpcCommand cmd) { + final IpAddressTO[] ips = cmd.getIpAddresses(); + for (final IpAddressTO ip : ips) { ip.setNicDevId(2); } return new ExecutionResult(true, null); } protected IpAssocVpcCommand generateIpAssocVpcCommand() { - List ips = new ArrayList(); + final List ips = new ArrayList(); ips.add(new IpAddressTO(1, "64.1.1.10", true, true, true, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false)); ips.add(new IpAddressTO(2, "64.1.1.11", false, false, true, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false)); ips.add(new IpAddressTO(3, "65.1.1.11", true, false, false, "vlan://65", "65.1.1.1", "255.255.255.0", "11:23:45:67:89:AB", 1000, false)); - IpAddressTO[] ipArray = ips.toArray(new IpAddressTO[ips.size()]); - IpAssocVpcCommand cmd = new IpAssocVpcCommand(ipArray); + final IpAddressTO[] ipArray = ips.toArray(new IpAddressTO[ips.size()]); + final IpAssocVpcCommand cmd = new IpAssocVpcCommand(ipArray); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); assertEquals(6, cmd.getAnswersCount()); // AnswersCount is clearly wrong as it doesn't know enough to tell return cmd; } - private void verifyArgs(IpAssocCommand cmd, String script, String args) { + private void verifyArgs(final IpAssocCommand cmd, final String script, final String args) { if (cmd instanceof IpAssocVpcCommand) { _count ++; switch (_count) { @@ -423,32 +423,32 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testSourceNatCommand() { - SetSourceNatCommand cmd = generateSetSourceNatCommand(); - Answer answer = _resource.executeRequest(cmd); + final SetSourceNatCommand cmd = generateSetSourceNatCommand(); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer.getResult()); } - private ExecutionResult prepareNetworkElementCommand(SetSourceNatCommand cmd) { - IpAddressTO ip = cmd.getIpAddress(); + private ExecutionResult prepareNetworkElementCommand(final SetSourceNatCommand cmd) { + final IpAddressTO ip = cmd.getIpAddress(); ip.setNicDevId(1); return new ExecutionResult(true, null); } protected SetSourceNatCommand generateSetSourceNatCommand() { - IpAddressTO ip = new IpAddressTO(1, "64.1.1.10", true, true, true, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false); - SetSourceNatCommand cmd = new SetSourceNatCommand(ip, true); + final IpAddressTO ip = new IpAddressTO(1, "64.1.1.10", true, true, true, "vlan://64", "64.1.1.1", "255.255.255.0", "01:23:45:67:89:AB", 1000, false); + final SetSourceNatCommand cmd = new SetSourceNatCommand(ip, true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(SetSourceNatCommand cmd, String script, String args) { + private void verifyArgs(final SetSourceNatCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.VPC_SOURCE_NAT); assertEquals(args, "-A -l 64.1.1.10 -c eth1"); } @Test public void testNetworkACLCommand() { - SetNetworkACLCommand cmd = generateSetNetworkACLCommand(); + final SetNetworkACLCommand cmd = generateSetNetworkACLCommand(); _count = 0; Answer answer = _resource.executeRequest(cmd); @@ -460,24 +460,24 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } protected SetNetworkACLCommand generateSetNetworkACLCommand() { - List acls = new ArrayList<>(); - List cidrs = new ArrayList<>(); + final List acls = new ArrayList<>(); + final List cidrs = new ArrayList<>(); cidrs.add("192.168.0.1/24"); cidrs.add("192.168.0.2/24"); acls.add(new NetworkACLTO(1, "64", "TCP", 20, 80, false, false, cidrs, 0, 0, TrafficType.Ingress, true, 1)); acls.add(new NetworkACLTO(2, "64", "ICMP", 0, 0, false, false, cidrs, -1, -1, TrafficType.Ingress, false, 2)); acls.add(new NetworkACLTO(3, "65", "ALL", 0, 0, false, false, cidrs, -1, -1, TrafficType.Egress, true, 3)); - NicTO nic = new NicTO(); + final NicTO nic = new NicTO(); nic.setMac("01:23:45:67:89:AB"); nic.setIp("192.168.1.1"); nic.setNetmask("255.255.255.0"); - SetNetworkACLCommand cmd = new SetNetworkACLCommand(acls, nic); + final SetNetworkACLCommand cmd = new SetNetworkACLCommand(acls, nic); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(SetNetworkACLCommand cmd, String script, String args) { + private void verifyArgs(final SetNetworkACLCommand cmd, final String script, final String args) { _count ++; switch (_count) { case 1: @@ -496,32 +496,32 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } } - private ExecutionResult prepareNetworkElementCommand(SetNetworkACLCommand cmd) { - NicTO nic = cmd.getNic(); + private ExecutionResult prepareNetworkElementCommand(final SetNetworkACLCommand cmd) { + final NicTO nic = cmd.getNic(); nic.setDeviceId(3); return new ExecutionResult(true, null); } @Test public void testSetupGuestNetworkCommand() { - SetupGuestNetworkCommand cmd = generateSetupGuestNetworkCommand(); - Answer answer = _resource.executeRequest(cmd); + final SetupGuestNetworkCommand cmd = generateSetupGuestNetworkCommand(); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer.getResult()); } - private ExecutionResult prepareNetworkElementCommand(SetupGuestNetworkCommand cmd) { - NicTO nic = cmd.getNic(); + private ExecutionResult prepareNetworkElementCommand(final SetupGuestNetworkCommand cmd) { + final NicTO nic = cmd.getNic(); nic.setDeviceId(4); return new ExecutionResult(true, null); } protected SetupGuestNetworkCommand generateSetupGuestNetworkCommand() { - NicTO nic = new NicTO(); + final NicTO nic = new NicTO(); nic.setMac("01:23:45:67:89:AB"); nic.setIp("10.1.1.1"); nic.setNetmask("255.255.255.0"); - SetupGuestNetworkCommand cmd = new SetupGuestNetworkCommand("10.1.1.10-10.1.1.20", "cloud.test", false, 0, "8.8.8.8", "8.8.4.4", true, nic); + final SetupGuestNetworkCommand cmd = new SetupGuestNetworkCommand("10.1.1.10-10.1.1.20", "cloud.test", false, "8.8.8.8", "8.8.4.4", true, nic); cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, "10.1.1.2"); cmd.setAccessDetail(NetworkElementCommand.GUEST_NETWORK_GATEWAY, "10.1.1.1"); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); @@ -529,7 +529,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { return cmd; } - private void verifyArgs(SetupGuestNetworkCommand cmd, String script, String args) { + private void verifyArgs(final SetupGuestNetworkCommand cmd, final String script, final String args) { // TODO Check the contents of the json file //assertEquals(script, VRScripts.VPC_GUEST_NETWORK); //assertEquals(args, " -C -M 01:23:45:67:89:AB -d eth4 -i 10.1.1.2 -g 10.1.1.1 -m 24 -n 10.1.1.0 -s 8.8.8.8,8.8.4.4 -e cloud.test"); @@ -537,23 +537,23 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testSetMonitorServiceCommand() { - SetMonitorServiceCommand cmd = generateSetMonitorServiceCommand(); - Answer answer = _resource.executeRequest(cmd); + final SetMonitorServiceCommand cmd = generateSetMonitorServiceCommand(); + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer.getResult()); } protected SetMonitorServiceCommand generateSetMonitorServiceCommand() { - List services = new ArrayList<>(); + final List services = new ArrayList<>(); services.add(new MonitorServiceTO("service", "process", "name", "path", "file", true)); services.add(new MonitorServiceTO("service_2", "process_2", "name_2", "path_2", "file_2", false)); - SetMonitorServiceCommand cmd = new SetMonitorServiceCommand(services); + final SetMonitorServiceCommand cmd = new SetMonitorServiceCommand(services); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(SetMonitorServiceCommand cmd, String script, String args) { + private void verifyArgs(final SetMonitorServiceCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.MONITOR_SERVICE); assertEquals(args, " -c [service]:processname=process:servicename=name:pidfile=file:,[service_2]:processname=process_2:servicename=name_2:pidfile=file_2:,"); } @@ -578,7 +578,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { assertTrue(answer.getResult()); } - private void verifyArgs(Site2SiteVpnCfgCommand cmd, String script, String args) { + private void verifyArgs(final Site2SiteVpnCfgCommand cmd, final String script, final String args) { _count ++; assertEquals(script, VRScripts.S2SVPN_IPSEC); @@ -612,27 +612,27 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } protected RemoteAccessVpnCfgCommand generateRemoteAccessVpnCfgCommand1() { - RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(true, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", false); + final RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(true, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", false); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); cmd.setLocalCidr("10.1.1.1/24"); return cmd; } protected RemoteAccessVpnCfgCommand generateRemoteAccessVpnCfgCommand2() { - RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(false, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", false); + final RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(false, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", false); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); cmd.setLocalCidr("10.1.1.1/24"); return cmd; } protected RemoteAccessVpnCfgCommand generateRemoteAccessVpnCfgCommand3() { - RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(true, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", true); + final RemoteAccessVpnCfgCommand cmd = new RemoteAccessVpnCfgCommand(true, "124.10.10.10", "10.10.1.1", "10.10.1.10-10.10.1.20", "sharedkey", true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); cmd.setLocalCidr("10.1.1.1/24"); return cmd; } - private void verifyArgs(RemoteAccessVpnCfgCommand cmd, String script, String args) { + private void verifyArgs(final RemoteAccessVpnCfgCommand cmd, final String script, final String args) { _count ++; assertEquals(script, VRScripts.VPN_L2TP); @@ -656,27 +656,27 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { public void testFirewallRulesCommand() { _count = 0; - Answer answer = _resource.executeRequest(generateSetFirewallRulesCommand()); + final Answer answer = _resource.executeRequest(generateSetFirewallRulesCommand()); assertTrue(answer.getResult()); //TODO Didn't test egress rule because not able to generate FirewallRuleVO object } protected SetFirewallRulesCommand generateSetFirewallRulesCommand() { - List rules = new ArrayList<>(); - List sourceCidrs = new ArrayList<>(); + final List rules = new ArrayList<>(); + final List sourceCidrs = new ArrayList<>(); sourceCidrs.add("10.10.1.1/24"); sourceCidrs.add("10.10.1.2/24"); rules.add(new FirewallRuleTO(1, "64.10.10.10", "TCP", 22, 80, false, false, Purpose.Firewall, sourceCidrs, 0, 0)); rules.add(new FirewallRuleTO(2, "64.10.10.10", "ICMP", 0, 0, false, false, Purpose.Firewall, sourceCidrs, -1, -1)); rules.add(new FirewallRuleTO(3, "64.10.10.10", "ICMP", 0, 0, true, true, Purpose.Firewall, sourceCidrs, -1, -1)); - SetFirewallRulesCommand cmd = new SetFirewallRulesCommand(rules); + final SetFirewallRulesCommand cmd = new SetFirewallRulesCommand(rules); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(SetFirewallRulesCommand cmd, String script, String args) { + private void verifyArgs(final SetFirewallRulesCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.FIREWALL_INGRESS); //Since the arguments are generated with a Set @@ -689,12 +689,12 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testVmDataCommand() { - Answer answer = _resource.executeRequest(generateVmDataCommand()); + final Answer answer = _resource.executeRequest(generateVmDataCommand()); assertTrue(answer.getResult()); } protected VmDataCommand generateVmDataCommand() { - VmDataCommand cmd = new VmDataCommand("10.1.10.4", "i-4-VM", true); + final VmDataCommand cmd = new VmDataCommand("10.1.10.4", "i-4-VM", true); // if you add new metadata files, also edit systemvm/patches/debian/config/var/www/html/latest/.htaccess cmd.addVmData("userdata", "user-data", "user-data"); cmd.addVmData("metadata", "service-offering", "serviceOffering"); @@ -713,24 +713,24 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { return cmd; } - private void verifyArgs(VmDataCommand cmd, String script, String args) { + private void verifyArgs(final VmDataCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.UPDATE_CONFIG); assertEquals(args, VRScripts.VM_METADATA_CONFIG); } @Test public void testSavePasswordCommand() { - Answer answer = _resource.executeRequest(generateSavePasswordCommand()); + final Answer answer = _resource.executeRequest(generateSavePasswordCommand()); assertTrue(answer.getResult()); } protected SavePasswordCommand generateSavePasswordCommand() { - SavePasswordCommand cmd = new SavePasswordCommand("123pass", "10.1.10.4", "i-4-VM", true); + final SavePasswordCommand cmd = new SavePasswordCommand("123pass", "10.1.10.4", "i-4-VM", true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(SavePasswordCommand cmd, String script, String args) { + private void verifyArgs(final SavePasswordCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.PASSWORD); assertEquals(args, "-v 10.1.10.4 -p 123pass"); } @@ -750,26 +750,26 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } protected DhcpEntryCommand generateDhcpEntryCommand1() { - DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", "10.1.10.2", "vm1", null, true); + final DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", "10.1.10.2", "vm1", null, true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } protected DhcpEntryCommand generateDhcpEntryCommand2() { - DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", null, "vm1", "2001:db8:0:0:0:ff00:42:8329", true); + final DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", null, "vm1", "2001:db8:0:0:0:ff00:42:8329", true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); cmd.setDuid(NetUtils.getDuidLL(cmd.getVmMac())); return cmd; } protected DhcpEntryCommand generateDhcpEntryCommand3() { - DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", "10.1.10.2", "vm1", "2001:db8:0:0:0:ff00:42:8329", true); + final DhcpEntryCommand cmd = new DhcpEntryCommand("12:34:56:78:90:AB", "10.1.10.2", "vm1", "2001:db8:0:0:0:ff00:42:8329", true); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); cmd.setDuid(NetUtils.getDuidLL(cmd.getVmMac())); return cmd; } - private void verifyArgs(DhcpEntryCommand cmd, String script, String args) { + private void verifyArgs(final DhcpEntryCommand cmd, final String script, final String args) { _count ++; assertEquals(script, VRScripts.DHCP); switch (_count) { @@ -789,63 +789,63 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test public void testCreateIpAliasCommand() { - Answer answer = _resource.executeRequest(generateCreateIpAliasCommand()); + final Answer answer = _resource.executeRequest(generateCreateIpAliasCommand()); assertTrue(answer.getResult()); } protected CreateIpAliasCommand generateCreateIpAliasCommand() { - List aliases = new ArrayList<>(); + final List aliases = new ArrayList<>(); aliases.add(new IpAliasTO("169.254.3.10", "255.255.255.0", "1")); aliases.add(new IpAliasTO("169.254.3.11", "255.255.255.0", "2")); aliases.add(new IpAliasTO("169.254.3.12", "255.255.255.0", "3")); - CreateIpAliasCommand cmd = new CreateIpAliasCommand("169.254.3.10", aliases); + final CreateIpAliasCommand cmd = new CreateIpAliasCommand("169.254.3.10", aliases); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(CreateIpAliasCommand cmd, String script, String args) { + private void verifyArgs(final CreateIpAliasCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.IPALIAS_CREATE); assertEquals(args, "1:169.254.3.10:255.255.255.0-2:169.254.3.11:255.255.255.0-3:169.254.3.12:255.255.255.0-"); } @Test public void testDeleteIpAliasCommand() { - Answer answer = _resource.executeRequest(generateDeleteIpAliasCommand()); + final Answer answer = _resource.executeRequest(generateDeleteIpAliasCommand()); assertTrue(answer.getResult()); } protected DeleteIpAliasCommand generateDeleteIpAliasCommand() { - List aliases = new ArrayList<>(); + final List aliases = new ArrayList<>(); aliases.add(new IpAliasTO("169.254.3.10", "255.255.255.0", "1")); aliases.add(new IpAliasTO("169.254.3.11", "255.255.255.0", "2")); aliases.add(new IpAliasTO("169.254.3.12", "255.255.255.0", "3")); - DeleteIpAliasCommand cmd = new DeleteIpAliasCommand("169.254.10.1", aliases, aliases); + final DeleteIpAliasCommand cmd = new DeleteIpAliasCommand("169.254.10.1", aliases, aliases); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(DeleteIpAliasCommand cmd, String script, String args) { + private void verifyArgs(final DeleteIpAliasCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.IPALIAS_DELETE); assertEquals(args, "1:169.254.3.10:255.255.255.0-2:169.254.3.11:255.255.255.0-3:169.254.3.12:255.255.255.0-- 1:169.254.3.10:255.255.255.0-2:169.254.3.11:255.255.255.0-3:169.254.3.12:255.255.255.0-"); } @Test public void testDnsMasqConfigCommand() { - Answer answer = _resource.executeRequest(generateDnsMasqConfigCommand()); + final Answer answer = _resource.executeRequest(generateDnsMasqConfigCommand()); assertTrue(answer.getResult()); } protected DnsMasqConfigCommand generateDnsMasqConfigCommand() { - List dhcps = new ArrayList<>(); + final List dhcps = new ArrayList<>(); dhcps.add(new DhcpTO("10.1.20.2", "10.1.20.1", "255.255.255.0", "10.1.20.5")); dhcps.add(new DhcpTO("10.1.21.2", "10.1.21.1", "255.255.255.0", "10.1.21.5")); - DnsMasqConfigCommand cmd = new DnsMasqConfigCommand(dhcps); + final DnsMasqConfigCommand cmd = new DnsMasqConfigCommand(dhcps); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - private void verifyArgs(DnsMasqConfigCommand cmd, String script, String args) { + private void verifyArgs(final DnsMasqConfigCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.DNSMASQ_CONFIG); assertEquals(args, "10.1.20.2:10.1.20.1:255.255.255.0:10.1.20.5-10.1.21.2:10.1.21.1:255.255.255.0:10.1.21.5-"); } @@ -863,37 +863,37 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } protected LoadBalancerConfigCommand generateLoadBalancerConfigCommand1() { - List lbs = new ArrayList<>(); - List dests = new ArrayList<>(); + final List lbs = new ArrayList<>(); + final List dests = new ArrayList<>(); dests.add(new LbDestination(80, 8080, "10.1.10.2", false)); dests.add(new LbDestination(80, 8080, "10.1.10.2", true)); lbs.add(new LoadBalancerTO(UUID.randomUUID().toString(), "64.10.1.10", 80, "tcp", "algo", false, false, false, dests)); - LoadBalancerTO[] arrayLbs = new LoadBalancerTO[lbs.size()]; + final LoadBalancerTO[] arrayLbs = new LoadBalancerTO[lbs.size()]; lbs.toArray(arrayLbs); - NicTO nic = new NicTO(); - LoadBalancerConfigCommand cmd = new LoadBalancerConfigCommand(arrayLbs, "64.10.2.10", "10.1.10.2", "192.168.1.2", nic, null, "1000", false); + final NicTO nic = new NicTO(); + final LoadBalancerConfigCommand cmd = new LoadBalancerConfigCommand(arrayLbs, "64.10.2.10", "10.1.10.2", "192.168.1.2", nic, null, "1000", false); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, "10.1.10.2"); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } protected LoadBalancerConfigCommand generateLoadBalancerConfigCommand2() { - List lbs = new ArrayList<>(); - List dests = new ArrayList<>(); + final List lbs = new ArrayList<>(); + final List dests = new ArrayList<>(); dests.add(new LbDestination(80, 8080, "10.1.10.2", false)); dests.add(new LbDestination(80, 8080, "10.1.10.2", true)); lbs.add(new LoadBalancerTO(UUID.randomUUID().toString(), "64.10.1.10", 80, "tcp", "algo", false, false, false, dests)); - LoadBalancerTO[] arrayLbs = new LoadBalancerTO[lbs.size()]; + final LoadBalancerTO[] arrayLbs = new LoadBalancerTO[lbs.size()]; lbs.toArray(arrayLbs); - NicTO nic = new NicTO(); + final NicTO nic = new NicTO(); nic.setIp("10.1.10.2"); - LoadBalancerConfigCommand cmd = new LoadBalancerConfigCommand(arrayLbs, "64.10.2.10", "10.1.10.2", "192.168.1.2", nic, Long.valueOf(1), "1000", false); + final LoadBalancerConfigCommand cmd = new LoadBalancerConfigCommand(arrayLbs, "64.10.2.10", "10.1.10.2", "192.168.1.2", nic, Long.valueOf(1), "1000", false); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, "10.1.10.2"); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, ROUTERNAME); return cmd; } - protected void verifyFile(LoadBalancerConfigCommand cmd, String path, String filename, String content) { + protected void verifyFile(final LoadBalancerConfigCommand cmd, final String path, final String filename, final String content) { _count ++; switch (_count) { case 1: @@ -944,7 +944,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { } } - private void verifyArgs(LoadBalancerConfigCommand cmd, String script, String args) { + private void verifyArgs(final LoadBalancerConfigCommand cmd, final String script, final String args) { _count ++; switch (_count) { case 2: @@ -963,8 +963,8 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { @Test @Ignore("Ignore this test while we are experimenting with the commands.") public void testAggregationCommands() { - List cmds = new LinkedList<>(); - AggregationControlCommand startCmd = new AggregationControlCommand(Action.Start, ROUTERNAME, ROUTERIP, ROUTERGUESTIP); + final List cmds = new LinkedList<>(); + final AggregationControlCommand startCmd = new AggregationControlCommand(Action.Start, ROUTERNAME, ROUTERIP, ROUTERGUESTIP); cmds.add(startCmd); cmds.add(generateIpAssocCommand()); cmds.add(generateIpAssocVpcCommand()); @@ -995,41 +995,41 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { cmds.add(generateSavePasswordCommand()); cmds.add(generateVmDataCommand()); - AggregationControlCommand finishCmd = new AggregationControlCommand(Action.Finish, ROUTERNAME, ROUTERIP, ROUTERGUESTIP); + final AggregationControlCommand finishCmd = new AggregationControlCommand(Action.Finish, ROUTERNAME, ROUTERIP, ROUTERGUESTIP); cmds.add(finishCmd); - for (NetworkElementCommand cmd : cmds) { - Answer answer = _resource.executeRequest(cmd); + for (final NetworkElementCommand cmd : cmds) { + final Answer answer = _resource.executeRequest(cmd); assertTrue(answer.getResult()); } } - private void verifyArgs(AggregationControlCommand cmd, String script, String args) { + private void verifyArgs(final AggregationControlCommand cmd, final String script, final String args) { assertEquals(script, VRScripts.VR_CFG); assertTrue(args.startsWith("-c /var/cache/cloud/VR-")); assertTrue(args.endsWith(".cfg")); } - protected void verifyFile(AggregationControlCommand cmd, String path, String filename, String content) { + protected void verifyFile(final AggregationControlCommand cmd, final String path, final String filename, final String content) { assertEquals(path, "/var/cache/cloud/"); assertTrue(filename.startsWith("VR-")); assertTrue(filename.endsWith(".cfg")); - Collection filteredScripts = Collections2.transform(Collections2.filter ( + final Collection filteredScripts = Collections2.transform(Collections2.filter ( Arrays.asList(content.split("")), new Predicate() { @Override - public boolean apply(String str) { + public boolean apply(final String str) { return str.trim().startsWith("/opt/cloud"); } }), new Function() { - @Override - public String apply(String str) { - return str.trim(); - } - }); - String[] scripts = filteredScripts.toArray(new String[filteredScripts - .size()]); + @Override + public String apply(final String str) { + return str.trim(); + } + }); + final String[] scripts = filteredScripts.toArray(new String[filteredScripts + .size()]); assertEquals( "/opt/cloud/bin/ipassoc.sh -A -s -f -l 64.1.1.10/24 -c eth2 -g 64.1.1.1", diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade451to460.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade451to460.java index 6c1f05e0b6c..383654fcb03 100644 --- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade451to460.java +++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade451to460.java @@ -33,7 +33,7 @@ public class Upgrade451to460 implements DbUpgrade { @Override public String[] getUpgradableVersionRange() { - return new String[] {"4.5.1", "4.6.0"}; + return new String[] { "4.5.1", "4.6.0" }; } @Override @@ -53,7 +53,7 @@ public class Upgrade451to460 implements DbUpgrade { throw new CloudRuntimeException("Unable to find db/schema-451to460.sql"); } - return new File[] {new File(script)}; + return new File[] { new File(script) }; } @Override @@ -62,12 +62,13 @@ public class Upgrade451to460 implements DbUpgrade { } public void updateVMInstanceUserId(final Connection conn) { - // For schemas before this, copy first user from an account_id which deployed already running VMs + // For schemas before this, copy first user from an account_id which + // deployed already running VMs s_logger.debug("Updating vm_instance column user_id using first user in vm_instance's account_id"); final String vmInstanceSql = "SELECT id, account_id FROM `cloud`.`vm_instance`"; final String userSql = "SELECT id FROM `cloud`.`user` where account_id=?"; final String userIdUpdateSql = "update `cloud`.`vm_instance` set user_id=? where id=?"; - try(PreparedStatement selectStatement = conn.prepareStatement(vmInstanceSql)) { + try (PreparedStatement selectStatement = conn.prepareStatement(vmInstanceSql)) { final ResultSet results = selectStatement.executeQuery(); while (results.next()) { final long vmId = results.getLong(1); @@ -95,30 +96,27 @@ public class Upgrade451to460 implements DbUpgrade { } s_logger.debug("Done updating user Ids for previously deployed VMs"); addRedundancyForNwAndVpc(conn); + removeBumPriorityColumn(conn); } private void addRedundancyForNwAndVpc(final Connection conn) { ResultSet rs = null; - try (PreparedStatement addRedundantColToVpcOfferingPstmt = conn.prepareStatement( - "ALTER TABLE `cloud`.`vpc_offerings` ADD COLUMN `redundant_router_service` tinyint(1) DEFAULT 0"); - PreparedStatement addRedundantColToVpcPstmt = conn.prepareStatement( - "ALTER TABLE `cloud`.`vpc` ADD COLUMN `redundant` tinyint(1) DEFAULT 0"); - PreparedStatement addRedundantColToNwPstmt = conn.prepareStatement( - "ALTER TABLE `cloud`.`networks` ADD COLUMN `redundant` tinyint(1) DEFAULT 0"); + try (PreparedStatement addRedundantColToVpcOfferingPstmt = conn + .prepareStatement("ALTER TABLE `cloud`.`vpc_offerings` ADD COLUMN `redundant_router_service` tinyint(1) DEFAULT 0"); + PreparedStatement addRedundantColToVpcPstmt = conn.prepareStatement("ALTER TABLE `cloud`.`vpc` ADD COLUMN `redundant` tinyint(1) DEFAULT 0"); + PreparedStatement addRedundantColToNwPstmt = conn.prepareStatement("ALTER TABLE `cloud`.`networks` ADD COLUMN `redundant` tinyint(1) DEFAULT 0"); - // The redundancy of the networks must be based on the redundancy of their network offerings - PreparedStatement redundancyPerNwPstmt = conn.prepareStatement( - "select distinct nw.network_offering_id from networks nw join network_offerings off " + - "on nw.network_offering_id = off.id where off.redundant_router_service = 1"); - PreparedStatement updateNwRedundancyPstmt = conn.prepareStatement( - "update networks set redundant = 1 where network_offering_id = ?"); - ) { + // The redundancy of the networks must be based on the + // redundancy of their network offerings + PreparedStatement redundancyPerNwPstmt = conn.prepareStatement("select distinct nw.network_offering_id from networks nw join network_offerings off " + + "on nw.network_offering_id = off.id where off.redundant_router_service = 1"); + PreparedStatement updateNwRedundancyPstmt = conn.prepareStatement("update networks set redundant = 1 where network_offering_id = ?");) { addRedundantColToVpcPstmt.executeUpdate(); addRedundantColToVpcOfferingPstmt.executeUpdate(); addRedundantColToNwPstmt.executeUpdate(); rs = redundancyPerNwPstmt.executeQuery(); - while(rs.next()){ + while (rs.next()) { final long nwOfferingId = rs.getLong("nw.network_offering_id"); updateNwRedundancyPstmt.setLong(1, nwOfferingId); updateNwRedundancyPstmt.executeUpdate(); @@ -129,6 +127,15 @@ public class Upgrade451to460 implements DbUpgrade { } } + private void removeBumPriorityColumn(final Connection conn) { + try (PreparedStatement removeBumPriorityColumnPstmt = conn.prepareStatement("ALTER TABLE `cloud`.`domain_router` DROP COLUMN `is_priority_bumpup`");) { + removeBumPriorityColumnPstmt.executeUpdate(); + } catch (final SQLException e) { + e.printStackTrace(); + throw new CloudRuntimeException("Adding redundancy to vpc, networks and vpc_offerings failed", e); + } + } + @Override public File[] getCleanupScripts() { final String script = Script.findScript("", "db/schema-451to460-cleanup.sql"); @@ -136,7 +143,7 @@ public class Upgrade451to460 implements DbUpgrade { throw new CloudRuntimeException("Unable to find db/schema-451to460-cleanup.sql"); } - return new File[] {new File(script)}; + return new File[] { new File(script) }; } } \ No newline at end of file diff --git a/engine/schema/src/com/cloud/vm/DomainRouterVO.java b/engine/schema/src/com/cloud/vm/DomainRouterVO.java index f08177cb605..2596d24a5fb 100644 --- a/engine/schema/src/com/cloud/vm/DomainRouterVO.java +++ b/engine/schema/src/com/cloud/vm/DomainRouterVO.java @@ -49,12 +49,6 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { @Column(name = "is_redundant_router") boolean isRedundantRouter; - @Column(name = "priority") - int priority; - - @Column(name = "is_priority_bumpup") - boolean isPriorityBumpUp; - @Column(name = "redundant_state") @Enumerated(EnumType.STRING) private RedundantState redundantState; @@ -75,28 +69,24 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { @Column(name = "vpc_id") private Long vpcId; - public DomainRouterVO(long id, long serviceOfferingId, long elementId, String name, long templateId, HypervisorType hypervisorType, long guestOSId, long domainId, - long accountId, long userId, boolean isRedundantRouter, int priority, boolean isPriorityBumpUp, RedundantState redundantState, boolean haEnabled, boolean stopPending, - Long vpcId) { + public DomainRouterVO(final long id, final long serviceOfferingId, final long elementId, final String name, final long templateId, final HypervisorType hypervisorType, final long guestOSId, final long domainId, + final long accountId, final long userId, final boolean isRedundantRouter, final RedundantState redundantState, final boolean haEnabled, final boolean stopPending, + final Long vpcId) { super(id, serviceOfferingId, name, name, Type.DomainRouter, templateId, hypervisorType, guestOSId, domainId, accountId, userId, haEnabled); this.elementId = elementId; this.isRedundantRouter = isRedundantRouter; - this.priority = priority; this.redundantState = redundantState; - this.isPriorityBumpUp = isPriorityBumpUp; this.stopPending = stopPending; this.vpcId = vpcId; } - public DomainRouterVO(long id, long serviceOfferingId, long elementId, String name, long templateId, HypervisorType hypervisorType, long guestOSId, long domainId, - long accountId, long userId, boolean isRedundantRouter, int priority, boolean isPriorityBumpUp, RedundantState redundantState, boolean haEnabled, boolean stopPending, - Type vmType, Long vpcId) { + public DomainRouterVO(final long id, final long serviceOfferingId, final long elementId, final String name, final long templateId, final HypervisorType hypervisorType, final long guestOSId, final long domainId, + final long accountId, final long userId, final boolean isRedundantRouter, final RedundantState redundantState, final boolean haEnabled, final boolean stopPending, + final Type vmType, final Long vpcId) { super(id, serviceOfferingId, name, name, vmType, templateId, hypervisorType, guestOSId, domainId, accountId, userId, haEnabled); this.elementId = elementId; this.isRedundantRouter = isRedundantRouter; - this.priority = priority; this.redundantState = redundantState; - this.isPriorityBumpUp = isPriorityBumpUp; this.stopPending = stopPending; this.vpcId = vpcId; } @@ -105,15 +95,15 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { return elementId; } - public void setPublicIpAddress(String publicIpAddress) { + public void setPublicIpAddress(final String publicIpAddress) { this.publicIpAddress = publicIpAddress; } - public void setPublicMacAddress(String publicMacAddress) { + public void setPublicMacAddress(final String publicMacAddress) { this.publicMacAddress = publicMacAddress; } - public void setPublicNetmask(String publicNetmask) { + public void setPublicNetmask(final String publicNetmask) { this.publicNetmask = publicNetmask; } @@ -144,16 +134,16 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { return role; } - public void setRole(Role role) { + public void setRole(final Role role) { this.role = role; } @Override public boolean getIsRedundantRouter() { - return this.isRedundantRouter; + return isRedundantRouter; } - public void setIsRedundantRouter(boolean isRedundantRouter) { + public void setIsRedundantRouter(final boolean isRedundantRouter) { this.isRedundantRouter = isRedundantRouter; } @@ -162,55 +152,39 @@ public class DomainRouterVO extends VMInstanceVO implements VirtualRouter { return serviceOfferingId; } - public int getPriority() { - return this.priority; - } - - public void setPriority(int priority) { - this.priority = priority; - } - @Override public RedundantState getRedundantState() { - return this.redundantState; + return redundantState; } - public void setRedundantState(RedundantState redundantState) { + public void setRedundantState(final RedundantState redundantState) { this.redundantState = redundantState; } - public boolean getIsPriorityBumpUp() { - return this.isPriorityBumpUp; - } - - public void setIsPriorityBumpUp(boolean isPriorityBumpUp) { - this.isPriorityBumpUp = isPriorityBumpUp; - } - @Override public boolean isStopPending() { - return this.stopPending; + return stopPending; } @Override - public void setStopPending(boolean stopPending) { + public void setStopPending(final boolean stopPending) { this.stopPending = stopPending; } @Override public String getTemplateVersion() { - return this.templateVersion; + return templateVersion; } - public void setTemplateVersion(String templateVersion) { + public void setTemplateVersion(final String templateVersion) { this.templateVersion = templateVersion; } public String getScriptsVersion() { - return this.scriptsVersion; + return scriptsVersion; } - public void setScriptsVersion(String scriptsVersion) { + public void setScriptsVersion(final String scriptsVersion) { this.scriptsVersion = scriptsVersion; } diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java index 1fb115312bd..44c652a688a 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java +++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManager.java @@ -20,7 +20,6 @@ import java.util.HashMap; import java.util.Map; import com.cloud.agent.api.Answer; -import com.cloud.agent.api.BumpUpPriorityCommand; import com.cloud.agent.api.CheckRouterAnswer; import com.cloud.agent.api.CheckRouterCommand; import com.cloud.agent.api.CheckVirtualMachineCommand; @@ -98,8 +97,6 @@ public interface MockVmManager extends Manager { CheckRouterAnswer checkRouter(CheckRouterCommand cmd); - Answer bumpPriority(BumpUpPriorityCommand cmd); - Answer CleanupNetworkRules(CleanupNetworkRulesCmd cmd, SimulatorInfo info); Answer scaleVm(ScaleVmCommand cmd); diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java index f77e12b4f6b..dbe8adea25a 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java +++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java @@ -31,7 +31,6 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.agent.api.Answer; -import com.cloud.agent.api.BumpUpPriorityCommand; import com.cloud.agent.api.CheckRouterAnswer; import com.cloud.agent.api.CheckRouterCommand; import com.cloud.agent.api.CheckVirtualMachineAnswer; @@ -110,12 +109,12 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public boolean configure(String name, Map params) throws ConfigurationException { + public boolean configure(final String name, final Map params) throws ConfigurationException { return true; } - public String startVM(String vmName, NicTO[] nics, int cpuHz, long ramSize, String bootArgs, String hostGuid) { + public String startVM(final String vmName, final NicTO[] nics, final int cpuHz, final long ramSize, final String bootArgs, final String hostGuid) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); MockHost host = null; @@ -129,7 +128,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { vm = _mockVmDao.findByVmName(vmName); txn.commit(); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("Unable to start VM " + vmName, ex); } finally { @@ -139,9 +138,10 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } if (vm == null) { - int vncPort = 0; - if (vncPort < 0) + final int vncPort = 0; + if (vncPort < 0) { return "Unable to allocate VNC port"; + } vm = new MockVMVO(); vm.setCpu(cpuHz); vm.setMemory(ramSize); @@ -164,7 +164,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { txn.start(); vm = _mockVmDao.persist((MockVMVO)vm); txn.commit(); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to save vm to db " + vm.getName(), ex); } finally { @@ -180,7 +180,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { txn.start(); _mockVmDao.update(vm.getId(), (MockVMVO)vm); txn.commit(); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to update vm " + vm.getName(), ex); } finally { @@ -196,7 +196,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { String prvMac = null; String prvNetMask = null; - for (NicTO nic : nics) { + for (final NicTO nic : nics) { if (nic.getType() == TrafficType.Management) { prvIp = nic.getIp(); prvMac = nic.getMac(); @@ -208,9 +208,9 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { String name = null; String vmType = null; String url = null; - String[] args = bootArgs.trim().split(" "); - for (String arg : args) { - String[] params = arg.split("="); + final String[] args = bootArgs.trim().split(" "); + for (final String arg : args) { + final String[] params = arg.split("="); if (params.length < 1) { continue; } @@ -235,18 +235,18 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public Map getVms(String hostGuid) { + public Map getVms(final String hostGuid) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - List vms = _mockVmDao.findByHostGuid(hostGuid); - Map vmMap = new HashMap(); - for (MockVMVO vm : vms) { + final List vms = _mockVmDao.findByHostGuid(hostGuid); + final Map vmMap = new HashMap(); + for (final MockVMVO vm : vms) { vmMap.put(vm.getName(), vm); } txn.commit(); return vmMap; - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to fetch vms from host " + hostGuid, ex); } finally { @@ -257,52 +257,40 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public CheckRouterAnswer checkRouter(CheckRouterCommand cmd) { - String router_name = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME); - MockVm vm = _mockVmDao.findByVmName(router_name); - String args = vm.getBootargs(); + public CheckRouterAnswer checkRouter(final CheckRouterCommand cmd) { + final String router_name = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME); + final MockVm vm = _mockVmDao.findByVmName(router_name); + final String args = vm.getBootargs(); if (args.indexOf("router_pr=100") > 0) { s_logger.debug("Router priority is for MASTER"); - CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: MASTER & Bumped: NO", true); + final CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: MASTER", true); ans.setState(VirtualRouter.RedundantState.MASTER); return ans; } else { s_logger.debug("Router priority is for BACKUP"); - CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: BACKUP & Bumped: NO", true); + final CheckRouterAnswer ans = new CheckRouterAnswer(cmd, "Status: BACKUP", true); ans.setState(VirtualRouter.RedundantState.BACKUP); return ans; } } @Override - public Answer bumpPriority(BumpUpPriorityCommand cmd) { - String router_name = cmd.getAccessDetail(NetworkElementCommand.ROUTER_NAME); - MockVm vm = _mockVmDao.findByVmName(router_name); - String args = vm.getBootargs(); - if (args.indexOf("router_pr=100") > 0) { - return new Answer(cmd, true, "Status: BACKUP & Bumped: YES"); - } else { - return new Answer(cmd, true, "Status: MASTER & Bumped: YES"); - } - } - - @Override - public Map getVmStates(String hostGuid) { + public Map getVmStates(final String hostGuid) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - Map states = new HashMap(); - List vms = _mockVmDao.findByHostGuid(hostGuid); + final Map states = new HashMap(); + final List vms = _mockVmDao.findByHostGuid(hostGuid); if (vms.isEmpty()) { txn.commit(); return states; } - for (MockVm vm : vms) { + for (final MockVm vm : vms) { states.put(vm.getName(), vm.getPowerState()); } txn.commit(); return states; - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to fetch vms from host " + hostGuid, ex); } finally { @@ -328,11 +316,11 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public Answer getVmStats(GetVmStatsCommand cmd) { - HashMap vmStatsNameMap = new HashMap(); - List vmNames = cmd.getVmNames(); - for (String vmName : vmNames) { - VmStatsEntry entry = new VmStatsEntry(0, 0, 0, 0, "vm"); + public Answer getVmStats(final GetVmStatsCommand cmd) { + final HashMap vmStatsNameMap = new HashMap(); + final List vmNames = cmd.getVmNames(); + for (final String vmName : vmNames) { + final VmStatsEntry entry = new VmStatsEntry(0, 0, 0, 0, "vm"); entry.setNetworkReadKBs(32768); // default values 256 KBps entry.setNetworkWriteKBs(16384); entry.setCPUUtilization(10); @@ -343,18 +331,18 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public CheckVirtualMachineAnswer checkVmState(CheckVirtualMachineCommand cmd) { + public CheckVirtualMachineAnswer checkVmState(final CheckVirtualMachineCommand cmd) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - MockVMVO vm = _mockVmDao.findByVmName(cmd.getVmName()); + final MockVMVO vm = _mockVmDao.findByVmName(cmd.getVmName()); if (vm == null) { return new CheckVirtualMachineAnswer(cmd, "can't find vm:" + cmd.getVmName()); } txn.commit(); return new CheckVirtualMachineAnswer(cmd, vm.getPowerState(), vm.getVncPort()); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to fetch vm state " + cmd.getVmName(), ex); } finally { @@ -365,9 +353,9 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public StartAnswer startVM(StartCommand cmd, SimulatorInfo info) { - VirtualMachineTO vm = cmd.getVirtualMachine(); - String result = startVM(vm.getName(), vm.getNics(), vm.getCpus() * vm.getMaxSpeed(), vm.getMaxRam(), vm.getBootArgs(), info.getHostUuid()); + public StartAnswer startVM(final StartCommand cmd, final SimulatorInfo info) { + final VirtualMachineTO vm = cmd.getVirtualMachine(); + final String result = startVM(vm.getName(), vm.getNics(), vm.getCpus() * vm.getMaxSpeed(), vm.getMaxRam(), vm.getBootArgs(), info.getHostUuid()); if (result != null) { return new StartAnswer(cmd, result); } else { @@ -376,23 +364,23 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public CheckSshAnswer checkSshCommand(CheckSshCommand cmd) { + public CheckSshAnswer checkSshCommand(final CheckSshCommand cmd) { return new CheckSshAnswer(cmd); } @Override - public MigrateAnswer Migrate(MigrateCommand cmd, SimulatorInfo info) { + public MigrateAnswer Migrate(final MigrateCommand cmd, final SimulatorInfo info) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - String vmName = cmd.getVmName(); - String destGuid = cmd.getHostGuid(); - MockVMVO vm = _mockVmDao.findByVmNameAndHost(vmName, info.getHostUuid()); + final String vmName = cmd.getVmName(); + final String destGuid = cmd.getHostGuid(); + final MockVMVO vm = _mockVmDao.findByVmNameAndHost(vmName, info.getHostUuid()); if (vm == null) { return new MigrateAnswer(cmd, false, "can't find vm:" + vmName + " on host:" + info.getHostUuid(), null); } - MockHost destHost = _mockHostDao.findByGuid(destGuid); + final MockHost destHost = _mockHostDao.findByGuid(destGuid); if (destHost == null) { return new MigrateAnswer(cmd, false, "can;t find host:" + info.getHostUuid(), null); } @@ -400,7 +388,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { _mockVmDao.update(vm.getId(), vm); txn.commit(); return new MigrateAnswer(cmd, true, null, 0); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to migrate vm " + cmd.getVmName(), ex); } finally { @@ -411,15 +399,15 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public PrepareForMigrationAnswer prepareForMigrate(PrepareForMigrationCommand cmd) { + public PrepareForMigrationAnswer prepareForMigrate(final PrepareForMigrationCommand cmd) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); - VirtualMachineTO vmTo = cmd.getVirtualMachine(); + final VirtualMachineTO vmTo = cmd.getVirtualMachine(); try { txn.start(); - MockVMVO vm = _mockVmDao.findById(vmTo.getId()); + final MockVMVO vm = _mockVmDao.findById(vmTo.getId()); _mockVmDao.update(vm.getId(), vm); txn.commit(); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to find vm " + vmTo.getName(), ex); } finally { @@ -431,25 +419,25 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public Answer setVmData(VmDataCommand cmd) { + public Answer setVmData(final VmDataCommand cmd) { return new Answer(cmd); } @Override - public Answer CleanupNetworkRules(CleanupNetworkRulesCmd cmd, SimulatorInfo info) { + public Answer CleanupNetworkRules(final CleanupNetworkRulesCmd cmd, final SimulatorInfo info) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - List rules = _mockSecurityDao.findByHost(info.getHostUuid()); - for (MockSecurityRulesVO rule : rules) { - MockVMVO vm = _mockVmDao.findByVmNameAndHost(rule.getVmName(), info.getHostUuid()); + final List rules = _mockSecurityDao.findByHost(info.getHostUuid()); + for (final MockSecurityRulesVO rule : rules) { + final MockVMVO vm = _mockVmDao.findByVmNameAndHost(rule.getVmName(), info.getHostUuid()); if (vm == null) { _mockSecurityDao.remove(rule.getId()); } } txn.commit(); return new Answer(cmd); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to clean up rules", ex); } finally { @@ -460,28 +448,28 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public Answer scaleVm(ScaleVmCommand cmd) { + public Answer scaleVm(final ScaleVmCommand cmd) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override - public Answer plugSecondaryIp(NetworkRulesVmSecondaryIpCommand cmd) { + public Answer plugSecondaryIp(final NetworkRulesVmSecondaryIpCommand cmd) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override - public Answer createVmSnapshot(CreateVMSnapshotCommand cmd) { - String vmName = cmd.getVmName(); - String vmSnapshotName = cmd.getTarget().getSnapshotName(); + public Answer createVmSnapshot(final CreateVMSnapshotCommand cmd) { + final String vmName = cmd.getVmName(); + final String vmSnapshotName = cmd.getTarget().getSnapshotName(); s_logger.debug("Created snapshot " + vmSnapshotName + " for vm " + vmName); return new CreateVMSnapshotAnswer(cmd, cmd.getTarget(), cmd.getVolumeTOs()); } @Override - public Answer deleteVmSnapshot(DeleteVMSnapshotCommand cmd) { - String vm = cmd.getVmName(); - String snapshotName = cmd.getTarget().getSnapshotName(); + public Answer deleteVmSnapshot(final DeleteVMSnapshotCommand cmd) { + final String vm = cmd.getVmName(); + final String snapshotName = cmd.getTarget().getSnapshotName(); if (_mockVmDao.findByVmName(cmd.getVmName()) == null) { return new DeleteVMSnapshotAnswer(cmd, false, "No VM by name " + cmd.getVmName()); } @@ -490,10 +478,10 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public Answer revertVmSnapshot(RevertToVMSnapshotCommand cmd) { - String vm = cmd.getVmName(); - String snapshot = cmd.getTarget().getSnapshotName(); - MockVMVO vmVo = _mockVmDao.findByVmName(cmd.getVmName()); + public Answer revertVmSnapshot(final RevertToVMSnapshotCommand cmd) { + final String vm = cmd.getVmName(); + final String snapshot = cmd.getTarget().getSnapshotName(); + final MockVMVO vmVo = _mockVmDao.findByVmName(cmd.getVmName()); if (vmVo == null) { return new RevertToVMSnapshotAnswer(cmd, false, "No VM by name " + cmd.getVmName()); } @@ -502,12 +490,12 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public StopAnswer stopVM(StopCommand cmd) { + public StopAnswer stopVM(final StopCommand cmd) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - String vmName = cmd.getVmName(); - MockVm vm = _mockVmDao.findByVmName(vmName); + final String vmName = cmd.getVmName(); + final MockVm vm = _mockVmDao.findByVmName(vmName); if (vm != null) { vm.setPowerState(PowerState.PowerOff); _mockVmDao.update(vm.getId(), (MockVMVO)vm); @@ -518,7 +506,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } txn.commit(); return new StopAnswer(cmd, null, true); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("unable to stop vm " + cmd.getVmName(), ex); } finally { @@ -529,33 +517,33 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } @Override - public RebootAnswer rebootVM(RebootCommand cmd) { + public RebootAnswer rebootVM(final RebootCommand cmd) { return new RebootAnswer(cmd, "Rebooted " + cmd.getVmName(), true); } @Override - public Answer getVncPort(GetVncPortCommand cmd) { + public Answer getVncPort(final GetVncPortCommand cmd) { return new GetVncPortAnswer(cmd, 0); } @Override - public Answer CheckConsoleProxyLoad(CheckConsoleProxyLoadCommand cmd) { + public Answer CheckConsoleProxyLoad(final CheckConsoleProxyLoadCommand cmd) { return Answer.createUnsupportedCommandAnswer(cmd); } @Override - public Answer WatchConsoleProxyLoad(WatchConsoleProxyLoadCommand cmd) { + public Answer WatchConsoleProxyLoad(final WatchConsoleProxyLoadCommand cmd) { return Answer.createUnsupportedCommandAnswer(cmd); } @Override - public GetDomRVersionAnswer getDomRVersion(GetDomRVersionCmd cmd) { - String template_version = "CloudStack Release "+ NetworkOrchestrationService.MinVRVersion.defaultValue(); + public GetDomRVersionAnswer getDomRVersion(final GetDomRVersionCmd cmd) { + final String template_version = "CloudStack Release "+ NetworkOrchestrationService.MinVRVersion.defaultValue(); return new GetDomRVersionAnswer(cmd, null, template_version, UUID.randomUUID().toString()); } @Override - public SecurityGroupRuleAnswer AddSecurityGroupRules(SecurityGroupRulesCmd cmd, SimulatorInfo info) { + public SecurityGroupRuleAnswer AddSecurityGroupRules(final SecurityGroupRulesCmd cmd, final SimulatorInfo info) { if (!info.isEnabled()) { return new SecurityGroupRuleAnswer(cmd, false, "Disabled", SecurityGroupRuleAnswer.FailureReason.CANNOT_BRIDGE_FIREWALL); } @@ -575,11 +563,11 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { return new SecurityGroupRuleAnswer(cmd); } - private boolean logSecurityGroupAction(SecurityGroupRulesCmd cmd, Ternary rule) { + private boolean logSecurityGroupAction(final SecurityGroupRulesCmd cmd, final Ternary rule) { String action = ", do nothing"; String reason = ", reason="; - Long currSeqnum = rule == null ? null : rule.third(); - String currSig = rule == null ? null : rule.first(); + final Long currSeqnum = rule == null ? null : rule.third(); + final String currSig = rule == null ? null : rule.first(); boolean updateSeqnoAndSig = false; if (currSeqnum != null) { if (cmd.getSeqNum() > currSeqnum) { @@ -587,7 +575,7 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { updateSeqnoAndSig = true; if (!cmd.getSignature().equals(currSig)) { s_logger.info("New seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum + " new signature received:" + cmd.getSignature() + " curr=" + - currSig + ", updated iptables"); + currSig + ", updated iptables"); action = ", updated iptables"; reason = reason + "seqno_increased_sig_changed"; } else { @@ -600,13 +588,13 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { } else { if (!cmd.getSignature().equals(currSig)) { s_logger.info("Identical seqno received: " + cmd.getSeqNum() + " new signature received:" + cmd.getSignature() + " curr=" + currSig + - ", updated iptables"); + ", updated iptables"); action = ", updated iptables"; reason = reason + "seqno_same_sig_changed"; updateSeqnoAndSig = true; } else { s_logger.info("Identical seqno received: " + cmd.getSeqNum() + " curr=" + currSeqnum + " no change in signature:" + cmd.getSignature() + - ", do nothing"); + ", do nothing"); reason = reason + "seqno_same_sig_same"; } } @@ -617,32 +605,32 @@ public class MockVmManagerImpl extends ManagerBase implements MockVmManager { reason = ", seqno_new"; } s_logger.info("Programmed network rules for vm " + cmd.getVmName() + " seqno=" + cmd.getSeqNum() + " signature=" + cmd.getSignature() + " guestIp=" + - cmd.getGuestIp() + ", numIngressRules=" + cmd.getIngressRuleSet().length + ", numEgressRules=" + cmd.getEgressRuleSet().length + " total cidrs=" + - cmd.getTotalNumCidrs() + action + reason); + cmd.getGuestIp() + ", numIngressRules=" + cmd.getIngressRuleSet().length + ", numEgressRules=" + cmd.getEgressRuleSet().length + " total cidrs=" + + cmd.getTotalNumCidrs() + action + reason); return updateSeqnoAndSig; } @Override - public Answer SavePassword(SavePasswordCommand cmd) { + public Answer SavePassword(final SavePasswordCommand cmd) { return new Answer(cmd); } @Override - public HashMap> syncNetworkGroups(SimulatorInfo info) { - HashMap> maps = new HashMap>(); + public HashMap> syncNetworkGroups(final SimulatorInfo info) { + final HashMap> maps = new HashMap>(); - Map> rules = _securityRules.get(info.getHostUuid()); + final Map> rules = _securityRules.get(info.getHostUuid()); if (rules == null) { return maps; } - for (Map.Entry> rule : rules.entrySet()) { + for (final Map.Entry> rule : rules.entrySet()) { maps.put(rule.getKey(), new Pair(rule.getValue().second(), rule.getValue().third())); } return maps; } @Override - public Answer fence(FenceCommand cmd) { - return new FenceAnswer(cmd); + public Answer fence(final FenceCommand cmd) { + return new FenceAnswer(cmd); } } diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java index b0c0bc677b5..46ddd958182 100644 --- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java +++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java @@ -27,20 +27,17 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import com.cloud.agent.api.routing.SetMonitorServiceCommand; - -import org.apache.log4j.Logger; -import org.springframework.stereotype.Component; import org.apache.cloudstack.storage.command.DeleteCommand; import org.apache.cloudstack.storage.command.DownloadCommand; import org.apache.cloudstack.storage.command.DownloadProgressCommand; import org.apache.cloudstack.storage.command.StorageSubSystemCommand; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.agent.api.Answer; import com.cloud.agent.api.AttachIsoCommand; import com.cloud.agent.api.AttachVolumeCommand; import com.cloud.agent.api.BackupSnapshotCommand; -import com.cloud.agent.api.BumpUpPriorityCommand; import com.cloud.agent.api.CheckHealthCommand; import com.cloud.agent.api.CheckNetworkCommand; import com.cloud.agent.api.CheckRouterCommand; @@ -75,6 +72,7 @@ import com.cloud.agent.api.PvlanSetupCommand; import com.cloud.agent.api.RebootCommand; import com.cloud.agent.api.RevertToVMSnapshotCommand; import com.cloud.agent.api.ScaleVmCommand; +import com.cloud.agent.api.SecStorageFirewallCfgCommand; import com.cloud.agent.api.SecStorageSetupCommand; import com.cloud.agent.api.SecStorageVMSetupCommand; import com.cloud.agent.api.SecurityGroupRulesCmd; @@ -95,6 +93,7 @@ import com.cloud.agent.api.routing.LoadBalancerConfigCommand; import com.cloud.agent.api.routing.RemoteAccessVpnCfgCommand; import com.cloud.agent.api.routing.SavePasswordCommand; import com.cloud.agent.api.routing.SetFirewallRulesCommand; +import com.cloud.agent.api.routing.SetMonitorServiceCommand; import com.cloud.agent.api.routing.SetNetworkACLCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand; @@ -113,7 +112,6 @@ import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand; import com.cloud.api.commands.CleanupSimulatorMockCmd; import com.cloud.api.commands.ConfigureSimulatorCmd; import com.cloud.api.commands.QuerySimulatorMockCmd; -import com.cloud.agent.api.SecStorageFirewallCfgCommand; import com.cloud.resource.SimulatorStorageProcessor; import com.cloud.serializer.GsonHelper; import com.cloud.simulator.MockConfigurationVO; @@ -153,9 +151,9 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage protected StorageSubsystemCommandHandler storageHandler; @Override - public boolean configure(String name, Map params) throws ConfigurationException { - SimulatorStorageProcessor processor = new SimulatorStorageProcessor(this); - this.storageHandler = new StorageSubsystemCommandHandlerBase(processor); + public boolean configure(final String name, final Map params) throws ConfigurationException { + final SimulatorStorageProcessor processor = new SimulatorStorageProcessor(this); + storageHandler = new StorageSubsystemCommandHandlerBase(processor); return true; } @@ -191,7 +189,7 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage @Override public List> getCommands() { - List> cmdList = new ArrayList>(); + final List> cmdList = new ArrayList>(); cmdList.add(ConfigureSimulatorCmd.class); cmdList.add(QuerySimulatorMockCmd.class); cmdList.add(CleanupSimulatorMockCmd.class); @@ -200,48 +198,48 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage @DB @Override - public Answer simulate(Command cmd, String hostGuid) { + public Answer simulate(final Command cmd, final String hostGuid) { Answer answer = null; Exception exception = null; TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { - MockHost host = _mockHost.findByGuid(hostGuid); + final MockHost host = _mockHost.findByGuid(hostGuid); String cmdName = cmd.toString(); - int index = cmdName.lastIndexOf("."); + final int index = cmdName.lastIndexOf("."); if (index != -1) { cmdName = cmdName.substring(index + 1); } - SimulatorInfo info = new SimulatorInfo(); + final SimulatorInfo info = new SimulatorInfo(); info.setHostUuid(hostGuid); - MockConfigurationVO config = _mockConfigDao.findByNameBottomUP(host.getDataCenterId(), host.getPodId(), host.getClusterId(), host.getId(), cmdName); + final MockConfigurationVO config = _mockConfigDao.findByNameBottomUP(host.getDataCenterId(), host.getPodId(), host.getClusterId(), host.getId(), cmdName); if (config != null && (config.getCount() == null || config.getCount().intValue() > 0)) { - Map configParameters = config.getParameters(); - for (Map.Entry entry : configParameters.entrySet()) { + final Map configParameters = config.getParameters(); + for (final Map.Entry entry : configParameters.entrySet()) { if (entry.getKey().equalsIgnoreCase("enabled")) { info.setEnabled(Boolean.parseBoolean(entry.getValue())); } else if (entry.getKey().equalsIgnoreCase("timeout")) { try { info.setTimeout(Integer.valueOf(entry.getValue())); - } catch (NumberFormatException e) { + } catch (final NumberFormatException e) { s_logger.debug("invalid timeout parameter: " + e.toString()); } } if (entry.getKey().equalsIgnoreCase("wait")) { try { - int wait = Integer.valueOf(entry.getValue()); + final int wait = Integer.valueOf(entry.getValue()); Thread.sleep(wait); - } catch (NumberFormatException e) { + } catch (final NumberFormatException e) { s_logger.debug("invalid wait parameter: " + e.toString()); - } catch (InterruptedException e) { + } catch (final InterruptedException e) { s_logger.debug("thread is interrupted: " + e.toString()); } } if (entry.getKey().equalsIgnoreCase("result")) { - String value = entry.getValue(); + final String value = entry.getValue(); if (value.equalsIgnoreCase("fail")) { answer = new Answer(cmd, false, "Simulated failure"); } else if (value.equalsIgnoreCase("fault")) { @@ -255,20 +253,20 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } if (answer == null) { - String message = config.getJsonResponse(); + final String message = config.getJsonResponse(); if (message != null) { // json response looks like {"":....} - String objectType = message.split(":")[0].substring(2).replace("\"", ""); - String objectData = message.substring(message.indexOf(':') + 1, message.length() - 1); + final String objectType = message.split(":")[0].substring(2).replace("\"", ""); + final String objectData = message.substring(message.indexOf(':') + 1, message.length() - 1); if (objectType != null) { Class clz = null; try { clz = Class.forName(objectType); - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { } if (clz != null) { - StringReader reader = new StringReader(objectData); - JsonReader jsonReader = new JsonReader(reader); + final StringReader reader = new StringReader(objectData); + final JsonReader jsonReader = new JsonReader(reader); jsonReader.setLenient(true); answer = (Answer)s_gson.fromJson(jsonReader, clz); } @@ -378,8 +376,6 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage answer = _mockVmMgr.getVmStats((GetVmStatsCommand)cmd); } else if (cmd instanceof CheckRouterCommand) { answer = _mockVmMgr.checkRouter((CheckRouterCommand)cmd); - } else if (cmd instanceof BumpUpPriorityCommand) { - answer = _mockVmMgr.bumpPriority((BumpUpPriorityCommand)cmd); } else if (cmd instanceof GetDomRVersionCmd) { answer = _mockVmMgr.getDomRVersion((GetDomRVersionCmd)cmd); } else if (cmd instanceof CopyVolumeCommand) { @@ -419,7 +415,7 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } else if (cmd instanceof PvlanSetupCommand) { answer = _mockNetworkMgr.setupPVLAN((PvlanSetupCommand)cmd); } else if (cmd instanceof StorageSubSystemCommand) { - answer = this.storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd); + answer = storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd); } else if (cmd instanceof FenceCommand) { answer = _mockVmMgr.fence((FenceCommand)cmd); } else if (cmd instanceof GetRouterAlertsCommand || cmd instanceof VpnUsersCfgCommand || cmd instanceof RemoteAccessVpnCfgCommand || cmd instanceof SetMonitorServiceCommand || cmd instanceof AggregationControlCommand || @@ -431,7 +427,7 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } } - if (config != null && (config.getCount() != null && config.getCount().intValue() > 0)) { + if (config != null && config.getCount() != null && config.getCount().intValue() > 0) { if (answer != null) { config.setCount(config.getCount().intValue() - 1); _mockConfigDao.update(config.getId(), config); @@ -439,7 +435,7 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } return answer; - } catch (Exception e) { + } catch (final Exception e) { s_logger.error("Failed execute cmd: ", e); txn.rollback(); return new Answer(cmd, false, e.toString()); @@ -451,29 +447,29 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } @Override - public StoragePoolInfo getLocalStorage(String hostGuid) { + public StoragePoolInfo getLocalStorage(final String hostGuid) { return _mockStorageMgr.getLocalStorage(hostGuid); } @Override - public Map getVmStates(String hostGuid) { + public Map getVmStates(final String hostGuid) { return _mockVmMgr.getVmStates(hostGuid); } @Override - public Map getVms(String hostGuid) { + public Map getVms(final String hostGuid) { return _mockVmMgr.getVms(hostGuid); } @Override - public HashMap> syncNetworkGroups(String hostGuid) { - SimulatorInfo info = new SimulatorInfo(); + public HashMap> syncNetworkGroups(final String hostGuid) { + final SimulatorInfo info = new SimulatorInfo(); info.setHostUuid(hostGuid); return _mockVmMgr.syncNetworkGroups(info); } @Override - public Long configureSimulator(Long zoneId, Long podId, Long clusterId, Long hostId, String command, String values, Integer count, String jsonResponse) { + public Long configureSimulator(final Long zoneId, final Long podId, final Long clusterId, final Long hostId, final String command, final String values, final Integer count, final String jsonResponse) { Long id = null; TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { @@ -499,7 +495,7 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage txn.commit(); } id = config.getId(); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("Unable to configure simulator mock because of " + ex.getMessage(), ex); } finally { @@ -511,12 +507,12 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } @Override - public MockConfigurationVO querySimulatorMock(Long id) { + public MockConfigurationVO querySimulatorMock(final Long id) { TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); return _mockConfigDao.findById(id); - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("Unable to query simulator mock because of " + ex.getMessage(), ex); } finally { @@ -527,19 +523,19 @@ public class SimulatorManagerImpl extends ManagerBase implements SimulatorManage } @Override - public boolean clearSimulatorMock(Long id) { + public boolean clearSimulatorMock(final Long id) { boolean status = false; TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB); try { txn.start(); - MockConfigurationVO config = _mockConfigDao.findById(id); + final MockConfigurationVO config = _mockConfigDao.findById(id); if (config != null) { config.setRemoved(new Date()); _mockConfigDao.update(config.getId(), config); status = true; txn.commit(); } - } catch (Exception ex) { + } catch (final Exception ex) { txn.rollback(); throw new CloudRuntimeException("Unable to cleanup simulator mock because of " + ex.getMessage(), ex); } finally { diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/LoadBalanceRuleHandler.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/LoadBalanceRuleHandler.java index 14c8fcaa0c7..497913f2e92 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/LoadBalanceRuleHandler.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/LoadBalanceRuleHandler.java @@ -27,7 +27,6 @@ import java.util.Random; import javax.inject.Inject; -import com.cloud.user.dao.UserDao; import org.apache.cloudstack.api.command.user.loadbalancer.CreateLoadBalancerRuleCmd; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; @@ -78,6 +77,7 @@ import com.cloud.storage.dao.VMTemplateDao; import com.cloud.user.Account; import com.cloud.user.AccountService; import com.cloud.user.dao.AccountDao; +import com.cloud.user.dao.UserDao; import com.cloud.utils.db.DB; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @@ -87,7 +87,6 @@ import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.DomainRouterVO; import com.cloud.vm.NicProfile; -import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.VirtualMachineName; @@ -150,28 +149,28 @@ public class LoadBalanceRuleHandler { private final String _instance; private final Account _systemAcct; - public LoadBalanceRuleHandler(ServiceOfferingVO elasticLbVmOffering, String instance, Account systemAcct) { - this._elasticLbVmOffering = elasticLbVmOffering; - this._instance = instance; - this._systemAcct = systemAcct; + public LoadBalanceRuleHandler(final ServiceOfferingVO elasticLbVmOffering, final String instance, final Account systemAcct) { + _elasticLbVmOffering = elasticLbVmOffering; + _instance = instance; + _systemAcct = systemAcct; } - public void handleDeleteLoadBalancerRule(LoadBalancer lb, long userId, Account caller) { - List remainingLbs = _loadBalancerDao.listByIpAddress(lb.getSourceIpAddressId()); + public void handleDeleteLoadBalancerRule(final LoadBalancer lb, final long userId, final Account caller) { + final List remainingLbs = _loadBalancerDao.listByIpAddress(lb.getSourceIpAddressId()); if (remainingLbs.size() == 0) { s_logger.debug("ELB mgr: releasing ip " + lb.getSourceIpAddressId() + " since no LB rules remain for this ip address"); releaseIp(lb.getSourceIpAddressId(), userId, caller); } } - public LoadBalancer handleCreateLoadBalancerRule(CreateLoadBalancerRuleCmd lb, Account account, long networkId) throws InsufficientAddressCapacityException, - NetworkRuleConflictException { + public LoadBalancer handleCreateLoadBalancerRule(final CreateLoadBalancerRuleCmd lb, Account account, final long networkId) throws InsufficientAddressCapacityException, + NetworkRuleConflictException { //this part of code is executed when the LB provider is Elastic Load Balancer vm if (!_networkModel.isProviderSupportServiceInNetwork(lb.getNetworkId(), Service.Lb, Provider.ElasticLoadBalancerVm)) { return null; } - Long ipId = lb.getSourceIpAddressId(); + final Long ipId = lb.getSourceIpAddressId(); if (ipId != null) { return null; } @@ -190,19 +189,19 @@ public class LoadBalanceRuleHandler { } } - private DomainRouterVO deployLoadBalancerVM(Long networkId, IPAddressVO ipAddr) { - NetworkVO network = _networkDao.findById(networkId); - DataCenter dc = _dcDao.findById(network.getDataCenterId()); - Long podId = getPodIdForDirectIp(ipAddr); - Pod pod = podId == null ? null : _podDao.findById(podId); - Map params = new HashMap(1); + private DomainRouterVO deployLoadBalancerVM(final Long networkId, final IPAddressVO ipAddr) { + final NetworkVO network = _networkDao.findById(networkId); + final DataCenter dc = _dcDao.findById(network.getDataCenterId()); + final Long podId = getPodIdForDirectIp(ipAddr); + final Pod pod = podId == null ? null : _podDao.findById(podId); + final Map params = new HashMap(1); params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true); - Account owner = _accountService.getActiveAccountByName("system", new Long(1)); - DeployDestination dest = new DeployDestination(dc, pod, null, null); + final Account owner = _accountService.getActiveAccountByName("system", new Long(1)); + final DeployDestination dest = new DeployDestination(dc, pod, null, null); s_logger.debug("About to deploy ELB vm "); try { - DomainRouterVO elbVm = deployELBVm(network, dest, owner, params); + final DomainRouterVO elbVm = deployELBVm(network, dest, owner, params); if (elbVm == null) { throw new InvalidParameterValueException("Could not deploy or find existing ELB VM"); } @@ -210,19 +209,19 @@ public class LoadBalanceRuleHandler { return elbVm; - } catch (Throwable t) { + } catch (final Throwable t) { s_logger.warn("Error while deploying ELB VM: ", t); return null; } } - private DomainRouterVO deployELBVm(Network guestNetwork, DeployDestination dest, Account owner, Map params) throws ConcurrentOperationException, - InsufficientCapacityException { - long dcId = dest.getDataCenter().getId(); + private DomainRouterVO deployELBVm(Network guestNetwork, final DeployDestination dest, Account owner, final Map params) throws ConcurrentOperationException, + InsufficientCapacityException { + final long dcId = dest.getDataCenter().getId(); // lock guest network - Long guestNetworkId = guestNetwork.getId(); + final Long guestNetworkId = guestNetwork.getId(); guestNetwork = _networkDao.acquireInLockTable(guestNetworkId); if (guestNetwork == null) { @@ -247,30 +246,30 @@ public class LoadBalanceRuleHandler { plan = new DataCenterDeployment(dcId, dest.getPod().getId(), null, null, null, null); if (elbVm == null) { - long id = _routerDao.getNextInSequence(Long.class, "id"); + final long id = _routerDao.getNextInSequence(Long.class, "id"); if (s_logger.isDebugEnabled()) { s_logger.debug("Creating the ELB vm " + id); } - List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); - NetworkOffering controlOffering = offerings.get(0); - Network controlConfig = _networkMgr.setupNetwork(_systemAcct, controlOffering, plan, null, null, false).get(0); + final List offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); + final NetworkOffering controlOffering = offerings.get(0); + final Network controlConfig = _networkMgr.setupNetwork(_systemAcct, controlOffering, plan, null, null, false).get(0); - LinkedHashMap> networks = new LinkedHashMap>(2); - NicProfile guestNic = new NicProfile(); + final LinkedHashMap> networks = new LinkedHashMap>(2); + final NicProfile guestNic = new NicProfile(); guestNic.setDefaultNic(true); networks.put(controlConfig, new ArrayList()); networks.put(guestNetwork, new ArrayList(Arrays.asList(guestNic))); - VMTemplateVO template = _templateDao.findSystemVMTemplate(dcId); + final VMTemplateVO template = _templateDao.findSystemVMTemplate(dcId); - String typeString = "ElasticLoadBalancerVm"; - Long physicalNetworkId = _networkModel.getPhysicalNetworkId(guestNetwork); - PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, typeString); + final String typeString = "ElasticLoadBalancerVm"; + final Long physicalNetworkId = _networkModel.getPhysicalNetworkId(guestNetwork); + final PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, typeString); if (provider == null) { throw new CloudRuntimeException("Cannot find service provider " + typeString + " in physical network " + physicalNetworkId); } - VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), Type.ElasticLoadBalancerVm); + final VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), Type.ElasticLoadBalancerVm); if (vrProvider == null) { throw new CloudRuntimeException("Cannot find virtual router provider " + typeString + " as service provider " + provider.getId()); } @@ -281,8 +280,8 @@ public class LoadBalanceRuleHandler { } elbVm = new DomainRouterVO(id, _elasticLbVmOffering.getId(), vrProvider.getId(), VirtualMachineName.getSystemVmName(id, _instance, ELB_VM_NAME_PREFIX), - template.getId(), template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), owner.getId(), userId, false, 0, false, RedundantState.UNKNOWN, - _elasticLbVmOffering.getOfferHA(), false, VirtualMachine.Type.ElasticLoadBalancerVm, null); + template.getId(), template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), owner.getId(), userId, false, RedundantState.UNKNOWN, + _elasticLbVmOffering.getOfferHA(), false, null); elbVm.setRole(Role.LB); elbVm = _routerDao.persist(elbVm); _itMgr.allocate(elbVm.getInstanceName(), template, _elasticLbVmOffering, networks, plan, null); @@ -290,9 +289,9 @@ public class LoadBalanceRuleHandler { //TODO: create usage stats } - State state = elbVm.getState(); + final State state = elbVm.getState(); if (state != State.Running) { - elbVm = this.start(elbVm, params); + elbVm = start(elbVm, params); } return elbVm; @@ -301,17 +300,17 @@ public class LoadBalanceRuleHandler { } } - private void releaseIp(long ipId, long userId, Account caller) { + private void releaseIp(final long ipId, final long userId, final Account caller) { s_logger.info("ELB: Release public IP for loadbalancing " + ipId); - IPAddressVO ipvo = _ipAddressDao.findById(ipId); + final IPAddressVO ipvo = _ipAddressDao.findById(ipId); ipvo.setAssociatedWithNetworkId(null); _ipAddressDao.update(ipvo.getId(), ipvo); _ipAddrMgr.disassociatePublicIpAddress(ipId, userId, caller); _ipAddressDao.unassignIpAddress(ipId); } - protected Long getPodIdForDirectIp(IPAddressVO ipAddr) { - PodVlanMapVO podVlanMaps = _podVlanMapDao.listPodVlanMapsByVlan(ipAddr.getVlanId()); + protected Long getPodIdForDirectIp(final IPAddressVO ipAddr) { + final PodVlanMapVO podVlanMaps = _podVlanMapDao.listPodVlanMapsByVlan(ipAddr.getVlanId()); if (podVlanMaps == null) { return null; } else { @@ -319,8 +318,8 @@ public class LoadBalanceRuleHandler { } } - private LoadBalancer handleCreateLoadBalancerRuleWithLock(CreateLoadBalancerRuleCmd lb, Account account, long networkId) throws InsufficientAddressCapacityException, - NetworkRuleConflictException { + private LoadBalancer handleCreateLoadBalancerRuleWithLock(final CreateLoadBalancerRuleCmd lb, final Account account, final long networkId) throws InsufficientAddressCapacityException, + NetworkRuleConflictException { Long ipId = null; boolean newIp = false; List existingLbs = findExistingLoadBalancers(lb.getName(), lb.getSourceIpAddressId(), lb.getAccountId(), lb.getDomainId(), lb.getSourcePortStart()); @@ -331,7 +330,7 @@ public class LoadBalanceRuleHandler { throwExceptionIfSuppliedlLbNameIsNotAssociatedWithIpAddress(lb); } else { s_logger.debug("Could not find any existing frontend ips for this account for this LB rule, acquiring a new frontent IP for ELB"); - PublicIp ip = allocDirectIp(account, networkId); + final PublicIp ip = allocDirectIp(account, networkId); ipId = ip.getId(); newIp = true; } @@ -344,7 +343,7 @@ public class LoadBalanceRuleHandler { throw new NetworkRuleConflictException("ELB: Found existing load balancers matching requested new LB"); } - IPAddressVO ipAddr = _ipAddressDao.findById(ipId); + final IPAddressVO ipAddr = _ipAddressDao.findById(ipId); LoadBalancer result = null; try { @@ -352,7 +351,7 @@ public class LoadBalanceRuleHandler { result = _lbMgr.createPublicLoadBalancer(lb.getXid(), lb.getName(), lb.getDescription(), lb.getSourcePortStart(), lb.getDefaultPortStart(), ipId.longValue(), lb.getProtocol(), lb.getAlgorithm(), false, CallContext.current(), lb.getLbProtocol(), true); - } catch (NetworkRuleConflictException e) { + } catch (final NetworkRuleConflictException e) { s_logger.warn("Failed to create LB rule, not continuing with ELB deployment"); if (newIp) { releaseIp(ipId, CallContext.current().getCallingUserId(), account); @@ -367,15 +366,16 @@ public class LoadBalanceRuleHandler { if (elbVm == null) { elbVm = deployLoadBalancerVM(networkId, ipAddr); if (elbVm == null) { - Network network = _networkModel.getNetwork(networkId); + final Network network = _networkModel.getNetwork(networkId); s_logger.warn("Failed to deploy a new ELB vm for ip " + ipAddr + " in network " + network + "lb name=" + lb.getName()); - if (newIp) + if (newIp) { releaseIp(ipId, CallContext.current().getCallingUserId(), account); + } } } } else { - ElasticLbVmMapVO elbVmMap = _elbVmMapDao.findOneByIp(ipId); + final ElasticLbVmMapVO elbVmMap = _elbVmMapDao.findOneByIp(ipId); if (elbVmMap != null) { elbVm = _routerDao.findById(elbVmMap.getElbVmId()); } @@ -388,20 +388,20 @@ public class LoadBalanceRuleHandler { return null; } - ElasticLbVmMapVO mapping = new ElasticLbVmMapVO(ipId, elbVm.getId(), result.getId()); + final ElasticLbVmMapVO mapping = new ElasticLbVmMapVO(ipId, elbVm.getId(), result.getId()); _elbVmMapDao.persist(mapping); return result; } - private void throwExceptionIfSuppliedlLbNameIsNotAssociatedWithIpAddress(CreateLoadBalancerRuleCmd lb) { - List existingLbs = findExistingLoadBalancers(lb.getName(), null, lb.getAccountId(), lb.getDomainId(), null); + private void throwExceptionIfSuppliedlLbNameIsNotAssociatedWithIpAddress(final CreateLoadBalancerRuleCmd lb) { + final List existingLbs = findExistingLoadBalancers(lb.getName(), null, lb.getAccountId(), lb.getDomainId(), null); if (existingLbs != null) { throw new InvalidParameterValueException("Supplied LB name " + lb.getName() + " is not associated with IP " + lb.getSourceIpAddressId()); } } - protected List findExistingLoadBalancers(String lbName, Long ipId, Long accountId, Long domainId, Integer publicPort) { - SearchBuilder sb = _lbDao.createSearchBuilder(); + protected List findExistingLoadBalancers(final String lbName, final Long ipId, final Long accountId, final Long domainId, final Integer publicPort) { + final SearchBuilder sb = _lbDao.createSearchBuilder(); sb.and("name", sb.entity().getName(), SearchCriteria.Op.EQ); sb.and("accountId", sb.entity().getAccountId(), SearchCriteria.Op.EQ); sb.and("publicPort", sb.entity().getSourcePortStart(), SearchCriteria.Op.EQ); @@ -414,7 +414,7 @@ public class LoadBalanceRuleHandler { if (publicPort != null) { sb.and("publicPort", sb.entity().getSourcePortStart(), SearchCriteria.Op.EQ); } - SearchCriteria sc = sb.create(); + final SearchCriteria sc = sb.create(); sc.setParameters("name", lbName); sc.setParameters("accountId", accountId); if (ipId != null) { @@ -426,7 +426,7 @@ public class LoadBalanceRuleHandler { if (publicPort != null) { sc.setParameters("publicPort", publicPort); } - List lbs = _lbDao.search(sc, null); + final List lbs = _lbDao.search(sc, null); return lbs == null || lbs.size() == 0 ? null : lbs; } @@ -435,11 +435,11 @@ public class LoadBalanceRuleHandler { private PublicIp allocDirectIp(final Account account, final long guestNetworkId) throws InsufficientAddressCapacityException { return Transaction.execute(new TransactionCallbackWithException() { @Override - public PublicIp doInTransaction(TransactionStatus status) throws InsufficientAddressCapacityException { - Network frontEndNetwork = _networkModel.getNetwork(guestNetworkId); + public PublicIp doInTransaction(final TransactionStatus status) throws InsufficientAddressCapacityException { + final Network frontEndNetwork = _networkModel.getNetwork(guestNetworkId); - PublicIp ip = _ipAddrMgr.assignPublicIpAddress(frontEndNetwork.getDataCenterId(), null, account, VlanType.DirectAttached, frontEndNetwork.getId(), null, true); - IPAddressVO ipvo = _ipAddressDao.findById(ip.getId()); + final PublicIp ip = _ipAddrMgr.assignPublicIpAddress(frontEndNetwork.getDataCenterId(), null, account, VlanType.DirectAttached, frontEndNetwork.getId(), null, true); + final IPAddressVO ipvo = _ipAddressDao.findById(ip.getId()); ipvo.setAssociatedWithNetworkId(frontEndNetwork.getId()); _ipAddressDao.update(ipvo.getId(), ipvo); s_logger.info("Acquired frontend IP for ELB " + ip); @@ -449,11 +449,11 @@ public class LoadBalanceRuleHandler { }); } - protected DomainRouterVO findElbVmWithCapacity(IPAddressVO ipAddr) { - List unusedElbVms = _elbVmMapDao.listUnusedElbVms(); + protected DomainRouterVO findElbVmWithCapacity(final IPAddressVO ipAddr) { + final List unusedElbVms = _elbVmMapDao.listUnusedElbVms(); if (unusedElbVms.size() > 0) { - List candidateVms = new ArrayList(); - for (DomainRouterVO candidateVm : unusedElbVms) { + final List candidateVms = new ArrayList(); + for (final DomainRouterVO candidateVm : unusedElbVms) { addCandidateVmIsPodIpMatches(candidateVm, getPodIdForDirectIp(ipAddr), candidateVms); } return candidateVms.size() == 0 ? null : candidateVms.get(new Random().nextInt(candidateVms.size())); @@ -461,13 +461,13 @@ public class LoadBalanceRuleHandler { return null; } - protected static void addCandidateVmIsPodIpMatches(DomainRouterVO candidateVm, Long podIdForDirectIp, List candidateVms) { + protected static void addCandidateVmIsPodIpMatches(final DomainRouterVO candidateVm, final Long podIdForDirectIp, final List candidateVms) { if (candidateVm.getPodIdToDeployIn().equals(podIdForDirectIp)) { candidateVms.add(candidateVm); } } - protected DomainRouterVO start(DomainRouterVO elbVm, Map params) throws ConcurrentOperationException { + protected DomainRouterVO start(final DomainRouterVO elbVm, final Map params) throws ConcurrentOperationException { s_logger.debug("Starting ELB VM " + elbVm); _itMgr.start(elbVm.getUuid(), params); return _routerDao.findById(elbVm.getId()); diff --git a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java index db54153b115..3b8be5b67a5 100644 --- a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java +++ b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java @@ -27,7 +27,6 @@ import javax.ejb.Local; import javax.inject.Inject; import javax.naming.ConfigurationException; -import com.cloud.user.dao.UserDao; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -91,12 +90,13 @@ import com.cloud.offerings.dao.NetworkOfferingDao; import com.cloud.resource.ResourceManager; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; +import com.cloud.storage.Storage; import com.cloud.storage.VMTemplateVO; import com.cloud.storage.dao.VMTemplateDao; -import com.cloud.storage.Storage; import com.cloud.user.Account; import com.cloud.user.AccountManager; import com.cloud.user.User; +import com.cloud.user.dao.UserDao; import com.cloud.utils.Pair; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.DB; @@ -170,13 +170,13 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In UserDao _userDao; @Override - public boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) { + public boolean finalizeVirtualMachineProfile(final VirtualMachineProfile profile, final DeployDestination dest, final ReservationContext context) { //Internal LB vm starts up with 2 Nics //Nic #1 - Guest Nic with IP address that would act as the LB entry point //Nic #2 - Control/Management Nic - StringBuilder buf = profile.getBootArgsBuilder(); + final StringBuilder buf = profile.getBootArgsBuilder(); buf.append(" template=domP"); buf.append(" name=").append(profile.getHostName()); @@ -187,8 +187,8 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In NicProfile controlNic = null; Network guestNetwork = null; - for (NicProfile nic : profile.getNics()) { - int deviceId = nic.getDeviceId(); + for (final NicProfile nic : profile.getNics()) { + final int deviceId = nic.getDeviceId(); buf.append(" eth").append(deviceId).append("ip=").append(nic.getIp4Address()); buf.append(" eth").append(deviceId).append("mask=").append(nic.getNetmask()); @@ -207,7 +207,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In if (dest.getHost().getHypervisorType() == HypervisorType.VMware) { if (s_logger.isInfoEnabled()) { s_logger.info("Check if we need to add management server explicit route to Internal LB. pod cidr: " + dest.getPod().getCidrAddress() + "/" + - dest.getPod().getCidrSize() + ", pod gateway: " + dest.getPod().getGateway() + ", management host: " + _mgmtHost); + dest.getPod().getCidrSize() + ", pod gateway: " + dest.getPod().getGateway() + ", management host: " + _mgmtHost); } if (s_logger.isInfoEnabled()) { @@ -225,13 +225,13 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } if (guestNetwork != null) { - String domain = guestNetwork.getNetworkDomain(); + final String domain = guestNetwork.getNetworkDomain(); if (domain != null) { buf.append(" domain=" + domain); } } - String type = "ilbvm"; + final String type = "ilbvm"; buf.append(" type=" + type); if (s_logger.isDebugEnabled()) { @@ -242,13 +242,13 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public boolean finalizeDeployment(Commands cmds, VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) - throws ResourceUnavailableException { + public boolean finalizeDeployment(final Commands cmds, final VirtualMachineProfile profile, final DeployDestination dest, final ReservationContext context) + throws ResourceUnavailableException { - DomainRouterVO internalLbVm = _internalLbVmDao.findById(profile.getId()); + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(profile.getId()); - List nics = profile.getNics(); - for (NicProfile nic : nics) { + final List nics = profile.getNics(); + for (final NicProfile nic : nics) { if (nic.getTrafficType() == TrafficType.Control) { internalLbVm.setPrivateIpAddress(nic.getIp4Address()); internalLbVm.setPrivateMacAddress(nic.getMacAddress()); @@ -261,14 +261,14 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public boolean finalizeStart(VirtualMachineProfile profile, long hostId, Commands cmds, ReservationContext context) { + public boolean finalizeStart(final VirtualMachineProfile profile, final long hostId, final Commands cmds, final ReservationContext context) { DomainRouterVO internalLbVm = _internalLbVmDao.findById(profile.getId()); boolean result = true; Answer answer = cmds.getAnswer("checkSsh"); if (answer != null && answer instanceof CheckSshAnswer) { - CheckSshAnswer sshAnswer = (CheckSshAnswer)answer; + final CheckSshAnswer sshAnswer = (CheckSshAnswer)answer; if (sshAnswer == null || !sshAnswer.getResult()) { s_logger.warn("Unable to ssh to the internal LB VM: " + sshAnswer.getDetails()); result = false; @@ -281,10 +281,10 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } //Get guest network info - List guestNetworks = new ArrayList(); - List internalLbVmNics = _nicDao.listByVmId(profile.getId()); - for (Nic internalLbVmNic : internalLbVmNics) { - Network network = _ntwkModel.getNetwork(internalLbVmNic.getNetworkId()); + final List guestNetworks = new ArrayList(); + final List internalLbVmNics = _nicDao.listByVmId(profile.getId()); + for (final Nic internalLbVmNic : internalLbVmNics) { + final Network network = _ntwkModel.getNetwork(internalLbVmNic.getNetworkId()); if (network.getTrafficType() == TrafficType.Guest) { guestNetworks.add(network); } @@ -292,7 +292,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In answer = cmds.getAnswer("getDomRVersion"); if (answer != null && answer instanceof GetDomRVersionAnswer) { - GetDomRVersionAnswer versionAnswer = (GetDomRVersionAnswer)answer; + final GetDomRVersionAnswer versionAnswer = (GetDomRVersionAnswer)answer; if (answer == null || !answer.getResult()) { s_logger.warn("Unable to get the template/scripts version of internal LB VM " + internalLbVm.getInstanceName() + " due to: " + versionAnswer.getDetails()); result = false; @@ -309,9 +309,9 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) { - DomainRouterVO internalLbVm = _internalLbVmDao.findById(profile.getId()); - NicProfile controlNic = getNicProfileByTrafficType(profile, TrafficType.Control); + public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachineProfile profile) { + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(profile.getId()); + final NicProfile controlNic = getNicProfileByTrafficType(profile, TrafficType.Control); if (controlNic == null) { s_logger.error("Control network doesn't exist for the internal LB vm " + internalLbVm); @@ -326,18 +326,18 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In reprogramGuestNtwk = false; } - VirtualRouterProvider lbProvider = _vrProviderDao.findById(internalLbVm.getElementId()); + final VirtualRouterProvider lbProvider = _vrProviderDao.findById(internalLbVm.getElementId()); if (lbProvider == null) { throw new CloudRuntimeException("Cannot find related element " + Type.InternalLbVm + " of vm: " + internalLbVm.getHostName()); } - Provider provider = Network.Provider.getProvider(lbProvider.getType().toString()); + final Provider provider = Network.Provider.getProvider(lbProvider.getType().toString()); if (provider == null) { throw new CloudRuntimeException("Cannot find related provider of provider: " + lbProvider.getType().toString()); } if (reprogramGuestNtwk) { - NicProfile guestNic = getNicProfileByTrafficType(profile, TrafficType.Guest); + final NicProfile guestNic = getNicProfileByTrafficType(profile, TrafficType.Guest); finalizeLbRulesForIp(cmds, internalLbVm, provider, new Ip(guestNic.getIp4Address()), guestNic.getNetworkId()); } @@ -345,19 +345,19 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public void finalizeStop(VirtualMachineProfile profile, Answer answer) { + public void finalizeStop(final VirtualMachineProfile profile, final Answer answer) { } @Override - public void finalizeExpunge(VirtualMachine vm) { + public void finalizeExpunge(final VirtualMachine vm) { } @Override - public void prepareStop(VirtualMachineProfile profile) { + public void prepareStop(final VirtualMachineProfile profile) { } @Override - public boolean configure(String name, Map params) throws ConfigurationException { + public boolean configure(final String name, final Map params) throws ConfigurationException { final Map configs = _configDao.getConfiguration("AgentManager", params); _instance = configs.get("instance.name"); if (_instance == null) { @@ -367,10 +367,10 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In _mgmtHost = configs.get("host"); _mgmtCidr = _configDao.getValue(Config.ManagementNetwork.key()); - String offUUID = configs.get(Config.InternalLbVmServiceOfferingId.key()); + final String offUUID = configs.get(Config.InternalLbVmServiceOfferingId.key()); if (offUUID != null && !offUUID.isEmpty()) { //get the id by offering UUID - ServiceOfferingVO off = _serviceOfferingDao.findByUuid(offUUID); + final ServiceOfferingVO off = _serviceOfferingDao.findByUuid(offUUID); if (off != null) { _internalLbVmOfferingId = off.getId(); } else { @@ -380,12 +380,12 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In //if offering wasn't set, try to get the default one if (_internalLbVmOfferingId == 0L) { - boolean useLocalStorage = Boolean.parseBoolean(configs.get(Config.SystemVMUseLocalStorage.key())); + final boolean useLocalStorage = Boolean.parseBoolean(configs.get(Config.SystemVMUseLocalStorage.key())); ServiceOfferingVO newOff = - new ServiceOfferingVO("System Offering For Internal LB VM", 1, InternalLoadBalancerVMManager.DEFAULT_INTERNALLB_VM_RAMSIZE, - InternalLoadBalancerVMManager.DEFAULT_INTERNALLB_VM_CPU_MHZ, null, null, true, null, - Storage.ProvisioningType.THIN, useLocalStorage, true, null, true, - VirtualMachine.Type.InternalLoadBalancerVm, true); + new ServiceOfferingVO("System Offering For Internal LB VM", 1, InternalLoadBalancerVMManager.DEFAULT_INTERNALLB_VM_RAMSIZE, + InternalLoadBalancerVMManager.DEFAULT_INTERNALLB_VM_CPU_MHZ, null, null, true, null, + Storage.ProvisioningType.THIN, useLocalStorage, true, null, true, + VirtualMachine.Type.InternalLoadBalancerVm, true); newOff.setUniqueName(ServiceOffering.internalLbVmDefaultOffUniqueName); newOff = _serviceOfferingDao.persistSystemServiceOffering(newOff); _internalLbVmOfferingId = newOff.getId(); @@ -405,8 +405,8 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return _name; } - protected NicProfile getNicProfileByTrafficType(VirtualMachineProfile profile, TrafficType trafficType) { - for (NicProfile nic : profile.getNics()) { + protected NicProfile getNicProfileByTrafficType(final VirtualMachineProfile profile, final TrafficType trafficType) { + for (final NicProfile nic : profile.getNics()) { if (nic.getTrafficType() == trafficType && nic.getIp4Address() != null) { return nic; } @@ -414,7 +414,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return null; } - protected void finalizeSshAndVersionOnStart(Commands cmds, VirtualMachineProfile profile, DomainRouterVO router, NicProfile controlNic) { + protected void finalizeSshAndVersionOnStart(final Commands cmds, final VirtualMachineProfile profile, final DomainRouterVO router, final NicProfile controlNic) { cmds.addCommand("checkSsh", new CheckSshCommand(profile.getInstanceName(), controlNic.getIp4Address(), 3922)); // Update internal lb vm template/scripts version @@ -424,17 +424,17 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In cmds.addCommand("getDomRVersion", command); } - protected void finalizeLbRulesForIp(Commands cmds, DomainRouterVO internalLbVm, Provider provider, Ip sourceIp, long guestNtwkId) { + protected void finalizeLbRulesForIp(final Commands cmds, final DomainRouterVO internalLbVm, final Provider provider, final Ip sourceIp, final long guestNtwkId) { s_logger.debug("Resending load balancing rules as a part of start for " + internalLbVm); - List lbs = _lbDao.listBySrcIpSrcNtwkId(sourceIp, guestNtwkId); - List lbRules = new ArrayList(); + final List lbs = _lbDao.listBySrcIpSrcNtwkId(sourceIp, guestNtwkId); + final List lbRules = new ArrayList(); if (_ntwkModel.isProviderSupportServiceInNetwork(guestNtwkId, Service.Lb, provider)) { // Re-apply load balancing rules - for (ApplicationLoadBalancerRuleVO lb : lbs) { - List dstList = _lbMgr.getExistingDestinations(lb.getId()); - List policyList = _lbMgr.getStickinessPolicies(lb.getId()); - List hcPolicyList = _lbMgr.getHealthCheckPolicies(lb.getId()); - LoadBalancingRule loadBalancing = new LoadBalancingRule(lb, dstList, policyList, hcPolicyList, sourceIp); + for (final ApplicationLoadBalancerRuleVO lb : lbs) { + final List dstList = _lbMgr.getExistingDestinations(lb.getId()); + final List policyList = _lbMgr.getStickinessPolicies(lb.getId()); + final List hcPolicyList = _lbMgr.getHealthCheckPolicies(lb.getId()); + final LoadBalancingRule loadBalancing = new LoadBalancingRule(lb, dstList, policyList, hcPolicyList, sourceIp); lbRules.add(loadBalancing); } } @@ -445,42 +445,42 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } } - private void createApplyLoadBalancingRulesCommands(List rules, VirtualRouter internalLbVm, Commands cmds, long guestNetworkId) { + private void createApplyLoadBalancingRulesCommands(final List rules, final VirtualRouter internalLbVm, final Commands cmds, final long guestNetworkId) { - LoadBalancerTO[] lbs = new LoadBalancerTO[rules.size()]; + final LoadBalancerTO[] lbs = new LoadBalancerTO[rules.size()]; int i = 0; - boolean inline = false; - for (LoadBalancingRule rule : rules) { - boolean revoked = (rule.getState().equals(FirewallRule.State.Revoke)); - String protocol = rule.getProtocol(); - String algorithm = rule.getAlgorithm(); - String uuid = rule.getUuid(); + final boolean inline = false; + for (final LoadBalancingRule rule : rules) { + final boolean revoked = rule.getState().equals(FirewallRule.State.Revoke); + final String protocol = rule.getProtocol(); + final String algorithm = rule.getAlgorithm(); + final String uuid = rule.getUuid(); - String srcIp = rule.getSourceIp().addr(); - int srcPort = rule.getSourcePortStart(); - List destinations = rule.getDestinations(); - List stickinessPolicies = rule.getStickinessPolicies(); - LoadBalancerTO lb = new LoadBalancerTO(uuid, srcIp, srcPort, protocol, algorithm, revoked, false, inline, destinations, stickinessPolicies); + final String srcIp = rule.getSourceIp().addr(); + final int srcPort = rule.getSourcePortStart(); + final List destinations = rule.getDestinations(); + final List stickinessPolicies = rule.getStickinessPolicies(); + final LoadBalancerTO lb = new LoadBalancerTO(uuid, srcIp, srcPort, protocol, algorithm, revoked, false, inline, destinations, stickinessPolicies); lbs[i++] = lb; } - Network guestNetwork = _ntwkModel.getNetwork(guestNetworkId); - Nic guestNic = _nicDao.findByNtwkIdAndInstanceId(guestNetwork.getId(), internalLbVm.getId()); - NicProfile guestNicProfile = - new NicProfile(guestNic, guestNetwork, guestNic.getBroadcastUri(), guestNic.getIsolationUri(), _ntwkModel.getNetworkRate(guestNetwork.getId(), - internalLbVm.getId()), _ntwkModel.isSecurityGroupSupportedInNetwork(guestNetwork), _ntwkModel.getNetworkTag(internalLbVm.getHypervisorType(), - guestNetwork)); + final Network guestNetwork = _ntwkModel.getNetwork(guestNetworkId); + final Nic guestNic = _nicDao.findByNtwkIdAndInstanceId(guestNetwork.getId(), internalLbVm.getId()); + final NicProfile guestNicProfile = + new NicProfile(guestNic, guestNetwork, guestNic.getBroadcastUri(), guestNic.getIsolationUri(), _ntwkModel.getNetworkRate(guestNetwork.getId(), + internalLbVm.getId()), _ntwkModel.isSecurityGroupSupportedInNetwork(guestNetwork), _ntwkModel.getNetworkTag(internalLbVm.getHypervisorType(), + guestNetwork)); - NetworkOffering offering = _networkOfferingDao.findById(guestNetwork.getNetworkOfferingId()); + final NetworkOffering offering = _networkOfferingDao.findById(guestNetwork.getNetworkOfferingId()); String maxconn = null; if (offering.getConcurrentConnections() == null) { maxconn = _configDao.getValue(Config.NetworkLBHaproxyMaxConn.key()); } else { maxconn = offering.getConcurrentConnections().toString(); } - LoadBalancerConfigCommand cmd = - new LoadBalancerConfigCommand(lbs, guestNic.getIp4Address(), guestNic.getIp4Address(), internalLbVm.getPrivateIpAddress(), _itMgr.toNicTO(guestNicProfile, - internalLbVm.getHypervisorType()), internalLbVm.getVpcId(), maxconn, offering.isKeepAliveEnabled()); + final LoadBalancerConfigCommand cmd = + new LoadBalancerConfigCommand(lbs, guestNic.getIp4Address(), guestNic.getIp4Address(), internalLbVm.getPrivateIpAddress(), _itMgr.toNicTO(guestNicProfile, + internalLbVm.getHypervisorType()), internalLbVm.getVpcId(), maxconn, offering.isKeepAliveEnabled()); cmd.lbStatsVisibility = _configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key()); cmd.lbStatsUri = _configDao.getValue(Config.NetworkLBHaproxyStatsUri.key()); @@ -490,16 +490,16 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getInternalLbControlIp(internalLbVm.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, guestNic.getIp4Address()); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, internalLbVm.getInstanceName()); - DataCenterVO dcVo = _dcDao.findById(internalLbVm.getDataCenterId()); + final DataCenterVO dcVo = _dcDao.findById(internalLbVm.getDataCenterId()); cmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); cmds.addCommand(cmd); } - protected String getInternalLbControlIp(long internalLbVmId) { + protected String getInternalLbControlIp(final long internalLbVmId) { String controlIpAddress = null; - List nics = _nicDao.listByVmId(internalLbVmId); - for (NicVO nic : nics) { - Network ntwk = _ntwkModel.getNetwork(nic.getNetworkId()); + final List nics = _nicDao.listByVmId(internalLbVmId); + for (final NicVO nic : nics) { + final Network ntwk = _ntwkModel.getNetwork(nic.getNetworkId()); if (ntwk.getTrafficType() == TrafficType.Control) { controlIpAddress = nic.getIp4Address(); } @@ -507,7 +507,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In if (controlIpAddress == null) { s_logger.warn("Unable to find Internal LB control ip in its attached NICs!. Internal LB vm: " + internalLbVmId); - DomainRouterVO internalLbVm = _internalLbVmDao.findById(internalLbVmId); + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(internalLbVmId); return internalLbVm.getPrivateIpAddress(); } @@ -515,12 +515,12 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public boolean destroyInternalLbVm(long vmId, Account caller, Long callerUserId) throws ResourceUnavailableException, ConcurrentOperationException { + public boolean destroyInternalLbVm(final long vmId, final Account caller, final Long callerUserId) throws ResourceUnavailableException, ConcurrentOperationException { if (s_logger.isDebugEnabled()) { s_logger.debug("Attempting to destroy Internal LB vm " + vmId); } - DomainRouterVO internalLbVm = _internalLbVmDao.findById(vmId); + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(vmId); if (internalLbVm == null) { return true; } @@ -533,8 +533,8 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public VirtualRouter stopInternalLbVm(long vmId, boolean forced, Account caller, long callerUserId) throws ConcurrentOperationException, ResourceUnavailableException { - DomainRouterVO internalLbVm = _internalLbVmDao.findById(vmId); + public VirtualRouter stopInternalLbVm(final long vmId, final boolean forced, final Account caller, final long callerUserId) throws ConcurrentOperationException, ResourceUnavailableException { + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(vmId); if (internalLbVm == null || internalLbVm.getRole() != Role.INTERNAL_LB_VM) { throw new InvalidParameterValueException("Can't find internal lb vm by id specified"); } @@ -545,28 +545,28 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return stopInternalLbVm(internalLbVm, forced, caller, callerUserId); } - protected VirtualRouter stopInternalLbVm(DomainRouterVO internalLbVm, boolean forced, Account caller, long callerUserId) throws ResourceUnavailableException, - ConcurrentOperationException { + protected VirtualRouter stopInternalLbVm(final DomainRouterVO internalLbVm, final boolean forced, final Account caller, final long callerUserId) throws ResourceUnavailableException, + ConcurrentOperationException { s_logger.debug("Stopping internal lb vm " + internalLbVm); try { _itMgr.advanceStop(internalLbVm.getUuid(), forced); return _internalLbVmDao.findById(internalLbVm.getId()); - } catch (OperationTimedoutException e) { + } catch (final OperationTimedoutException e) { throw new CloudRuntimeException("Unable to stop " + internalLbVm, e); } } @Override - public List deployInternalLbVm(Network guestNetwork, Ip requestedGuestIp, DeployDestination dest, Account owner, Map params) - throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { + public List deployInternalLbVm(final Network guestNetwork, final Ip requestedGuestIp, final DeployDestination dest, final Account owner, final Map params) + throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { - List internalLbVms = findOrDeployInternalLbVm(guestNetwork, requestedGuestIp, dest, owner, params); + final List internalLbVms = findOrDeployInternalLbVm(guestNetwork, requestedGuestIp, dest, owner, params); return startInternalLbVms(params, internalLbVms); } - protected List startInternalLbVms(Map params, List internalLbVms) throws StorageUnavailableException, - InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { + protected List startInternalLbVms(final Map params, final List internalLbVms) throws StorageUnavailableException, + InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { List runningInternalLbVms = null; if (internalLbVms != null) { @@ -589,11 +589,11 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @DB - protected List findOrDeployInternalLbVm(Network guestNetwork, Ip requestedGuestIp, DeployDestination dest, Account owner, Map params) - throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { + protected List findOrDeployInternalLbVm(final Network guestNetwork, final Ip requestedGuestIp, final DeployDestination dest, final Account owner, final Map params) + throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { List internalLbVms = new ArrayList(); - Network lock = _networkDao.acquireInLockTable(guestNetwork.getId(), NetworkOrchestrationService.NetworkLockTimeout.value()); + final Network lock = _networkDao.acquireInLockTable(guestNetwork.getId(), NetworkOrchestrationService.NetworkLockTimeout.value()); if (lock == null) { throw new ConcurrentOperationException("Unable to lock network " + guestNetwork.getId()); } @@ -602,27 +602,27 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In s_logger.debug("Lock is acquired for network id " + lock.getId() + " as a part of internal lb startup in " + dest); } - long internalLbProviderId = getInternalLbProviderId(guestNetwork); + final long internalLbProviderId = getInternalLbProviderId(guestNetwork); try { assert guestNetwork.getState() == Network.State.Implemented || guestNetwork.getState() == Network.State.Setup || - guestNetwork.getState() == Network.State.Implementing : "Network is not yet fully implemented: " + guestNetwork; + guestNetwork.getState() == Network.State.Implementing : "Network is not yet fully implemented: " + guestNetwork; assert guestNetwork.getTrafficType() == TrafficType.Guest; //deploy internal lb vm - Pair> planAndInternalLbVms = getDeploymentPlanAndInternalLbVms(dest, guestNetwork.getId(), requestedGuestIp); + final Pair> planAndInternalLbVms = getDeploymentPlanAndInternalLbVms(dest, guestNetwork.getId(), requestedGuestIp); internalLbVms = planAndInternalLbVms.second(); - DeploymentPlan plan = planAndInternalLbVms.first(); + final DeploymentPlan plan = planAndInternalLbVms.first(); if (internalLbVms.size() > 0) { s_logger.debug("Found " + internalLbVms.size() + " internal lb vms for the requested IP " + requestedGuestIp.addr()); return internalLbVms; } - LinkedHashMap> networks = createInternalLbVmNetworks(guestNetwork, plan, requestedGuestIp); + final LinkedHashMap> networks = createInternalLbVmNetworks(guestNetwork, plan, requestedGuestIp); //Pass startVm=false as we are holding the network lock that needs to be released at the end of vm allocation - DomainRouterVO internalLbVm = - deployInternalLbVm(owner, dest, plan, params, internalLbProviderId, _internalLbVmOfferingId, guestNetwork.getVpcId(), networks, false); + final DomainRouterVO internalLbVm = + deployInternalLbVm(owner, dest, plan, params, internalLbProviderId, _internalLbVmOfferingId, guestNetwork.getVpcId(), networks, false); if (internalLbVm != null) { _internalLbVmDao.addRouterToGuestNetwork(internalLbVm, guestNetwork); internalLbVms.add(internalLbVm); @@ -638,16 +638,16 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return internalLbVms; } - protected long getInternalLbProviderId(Network guestNetwork) { - Type type = Type.InternalLbVm; - long physicalNetworkId = _ntwkModel.getPhysicalNetworkId(guestNetwork); + protected long getInternalLbProviderId(final Network guestNetwork) { + final Type type = Type.InternalLbVm; + final long physicalNetworkId = _ntwkModel.getPhysicalNetworkId(guestNetwork); - PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, type.toString()); + final PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, type.toString()); if (provider == null) { throw new CloudRuntimeException("Cannot find service provider " + type.toString() + " in physical network " + physicalNetworkId); } - VirtualRouterProvider internalLbProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), type); + final VirtualRouterProvider internalLbProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), type); if (internalLbProvider == null) { throw new CloudRuntimeException("Cannot find provider " + type.toString() + " as service provider " + provider.getId()); } @@ -655,16 +655,16 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return internalLbProvider.getId(); } - protected LinkedHashMap> createInternalLbVmNetworks(Network guestNetwork, DeploymentPlan plan, Ip guestIp) throws ConcurrentOperationException, - InsufficientAddressCapacityException { + protected LinkedHashMap> createInternalLbVmNetworks(final Network guestNetwork, final DeploymentPlan plan, final Ip guestIp) throws ConcurrentOperationException, + InsufficientAddressCapacityException { //Form networks - LinkedHashMap> networks = new LinkedHashMap>(3); + final LinkedHashMap> networks = new LinkedHashMap>(3); //1) Guest network - default if (guestNetwork != null) { s_logger.debug("Adding nic for Internal LB in Guest network " + guestNetwork); - NicProfile guestNic = new NicProfile(); + final NicProfile guestNic = new NicProfile(); if (guestIp != null) { guestNic.setIp4Address(guestIp.addr()); } else { @@ -675,7 +675,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In guestNic.setBroadcastType(guestNetwork.getBroadcastDomainType()); guestNic.setIsolationUri(guestNetwork.getBroadcastUri()); guestNic.setMode(guestNetwork.getMode()); - String gatewayCidr = guestNetwork.getCidr(); + final String gatewayCidr = guestNetwork.getCidr(); guestNic.setNetmask(NetUtils.getCidrNetmask(gatewayCidr)); guestNic.setDefaultNic(true); networks.put(guestNetwork, new ArrayList(Arrays.asList(guestNic))); @@ -683,31 +683,31 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In //2) Control network s_logger.debug("Adding nic for Internal LB vm in Control network "); - List offerings = _ntwkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); - NetworkOffering controlOffering = offerings.get(0); - Network controlConfig = _ntwkMgr.setupNetwork(_accountMgr.getSystemAccount(), controlOffering, plan, null, null, false).get(0); + final List offerings = _ntwkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); + final NetworkOffering controlOffering = offerings.get(0); + final Network controlConfig = _ntwkMgr.setupNetwork(_accountMgr.getSystemAccount(), controlOffering, plan, null, null, false).get(0); networks.put(controlConfig, new ArrayList()); return networks; } - protected Pair> getDeploymentPlanAndInternalLbVms(DeployDestination dest, long guestNetworkId, Ip requestedGuestIp) { - long dcId = dest.getDataCenter().getId(); - DeploymentPlan plan = new DataCenterDeployment(dcId); - List internalLbVms = findInternalLbVms(guestNetworkId, requestedGuestIp); + protected Pair> getDeploymentPlanAndInternalLbVms(final DeployDestination dest, final long guestNetworkId, final Ip requestedGuestIp) { + final long dcId = dest.getDataCenter().getId(); + final DeploymentPlan plan = new DataCenterDeployment(dcId); + final List internalLbVms = findInternalLbVms(guestNetworkId, requestedGuestIp); return new Pair>(plan, internalLbVms); } @Override - public List findInternalLbVms(long guestNetworkId, Ip requestedGuestIp) { - List internalLbVms = _internalLbVmDao.listByNetworkAndRole(guestNetworkId, Role.INTERNAL_LB_VM); + public List findInternalLbVms(final long guestNetworkId, final Ip requestedGuestIp) { + final List internalLbVms = _internalLbVmDao.listByNetworkAndRole(guestNetworkId, Role.INTERNAL_LB_VM); if (requestedGuestIp != null && !internalLbVms.isEmpty()) { - Iterator it = internalLbVms.iterator(); + final Iterator it = internalLbVms.iterator(); while (it.hasNext()) { - DomainRouterVO vm = it.next(); - Nic nic = _nicDao.findByNtwkIdAndInstanceId(guestNetworkId, vm.getId()); + final DomainRouterVO vm = it.next(); + final Nic nic = _nicDao.findByNtwkIdAndInstanceId(guestNetworkId, vm.getId()); if (!nic.getIp4Address().equalsIgnoreCase(requestedGuestIp.addr())) { it.remove(); } @@ -716,48 +716,48 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return internalLbVms; } - protected DomainRouterVO deployInternalLbVm(Account owner, DeployDestination dest, DeploymentPlan plan, Map params, long internalLbProviderId, - long svcOffId, Long vpcId, LinkedHashMap> networks, boolean startVm) throws ConcurrentOperationException, - InsufficientAddressCapacityException, InsufficientServerCapacityException, InsufficientCapacityException, StorageUnavailableException, - ResourceUnavailableException { + protected DomainRouterVO deployInternalLbVm(final Account owner, final DeployDestination dest, final DeploymentPlan plan, final Map params, final long internalLbProviderId, + final long svcOffId, final Long vpcId, final LinkedHashMap> networks, final boolean startVm) throws ConcurrentOperationException, + InsufficientAddressCapacityException, InsufficientServerCapacityException, InsufficientCapacityException, StorageUnavailableException, + ResourceUnavailableException { - ServiceOfferingVO routerOffering = _serviceOfferingDao.findById(svcOffId); + final ServiceOfferingVO routerOffering = _serviceOfferingDao.findById(svcOffId); // Internal lb is the network element, we don't know the hypervisor type yet. // Try to allocate the internal lb twice using diff hypervisors, and when failed both times, throw the exception up - List hypervisors = getHypervisors(dest, plan, null); + final List hypervisors = getHypervisors(dest, plan, null); int allocateRetry = 0; int startRetry = 0; DomainRouterVO internalLbVm = null; - for (Iterator iter = hypervisors.iterator(); iter.hasNext();) { - HypervisorType hType = iter.next(); + for (final Iterator iter = hypervisors.iterator(); iter.hasNext();) { + final HypervisorType hType = iter.next(); try { - long id = _internalLbVmDao.getNextInSequence(Long.class, "id"); + final long id = _internalLbVmDao.getNextInSequence(Long.class, "id"); if (s_logger.isDebugEnabled()) { s_logger.debug("Creating the internal lb vm " + id + " in datacenter " + dest.getDataCenter() + " with hypervisor type " + hType); } String templateName = null; switch (hType) { - case XenServer: - templateName = VirtualNetworkApplianceManager.RouterTemplateXen.valueIn(dest.getDataCenter().getId()); - break; - case KVM: - templateName = VirtualNetworkApplianceManager.RouterTemplateKvm.valueIn(dest.getDataCenter().getId()); - break; - case VMware: - templateName = VirtualNetworkApplianceManager.RouterTemplateVmware.valueIn(dest.getDataCenter().getId()); - break; - case Hyperv: - templateName = VirtualNetworkApplianceManager.RouterTemplateHyperV.valueIn(dest.getDataCenter().getId()); - break; - case LXC: - templateName = VirtualNetworkApplianceManager.RouterTemplateLxc.valueIn(dest.getDataCenter().getId()); - break; - default: - break; + case XenServer: + templateName = VirtualNetworkApplianceManager.RouterTemplateXen.valueIn(dest.getDataCenter().getId()); + break; + case KVM: + templateName = VirtualNetworkApplianceManager.RouterTemplateKvm.valueIn(dest.getDataCenter().getId()); + break; + case VMware: + templateName = VirtualNetworkApplianceManager.RouterTemplateVmware.valueIn(dest.getDataCenter().getId()); + break; + case Hyperv: + templateName = VirtualNetworkApplianceManager.RouterTemplateHyperV.valueIn(dest.getDataCenter().getId()); + break; + case LXC: + templateName = VirtualNetworkApplianceManager.RouterTemplateLxc.valueIn(dest.getDataCenter().getId()); + break; + default: + break; } - VMTemplateVO template = _templateDao.findRoutingTemplate(hType, templateName); + final VMTemplateVO template = _templateDao.findRoutingTemplate(hType, templateName); if (template == null) { s_logger.debug(hType + " won't support system vm, skip it"); @@ -770,14 +770,13 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } internalLbVm = - new DomainRouterVO(id, routerOffering.getId(), internalLbProviderId, VirtualMachineName.getSystemVmName(id, _instance, InternalLbVmNamePrefix), - template.getId(), template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), owner.getId(), userId, false, 0, false, - RedundantState.UNKNOWN, false, false, VirtualMachine.Type.InternalLoadBalancerVm, vpcId); + new DomainRouterVO(id, routerOffering.getId(), internalLbProviderId, VirtualMachineName.getSystemVmName(id, _instance, InternalLbVmNamePrefix), + template.getId(), template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), owner.getId(), userId, false, RedundantState.UNKNOWN, false, false, VirtualMachine.Type.InternalLoadBalancerVm, vpcId); internalLbVm.setRole(Role.INTERNAL_LB_VM); internalLbVm = _internalLbVmDao.persist(internalLbVm); _itMgr.allocate(internalLbVm.getInstanceName(), template, routerOffering, networks, plan, null); internalLbVm = _internalLbVmDao.findById(internalLbVm.getId()); - } catch (InsufficientCapacityException ex) { + } catch (final InsufficientCapacityException ex) { if (allocateRetry < 2 && iter.hasNext()) { s_logger.debug("Failed to allocate the Internal lb vm with hypervisor type " + hType + ", retrying one more time"); continue; @@ -792,10 +791,10 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In try { internalLbVm = startInternalLbVm(internalLbVm, _accountMgr.getSystemAccount(), User.UID_SYSTEM, params); break; - } catch (InsufficientCapacityException ex) { + } catch (final InsufficientCapacityException ex) { if (startRetry < 2 && iter.hasNext()) { s_logger.debug("Failed to start the Internal lb vm " + internalLbVm + " with hypervisor type " + hType + ", " + - "destroying it and recreating one more time"); + "destroying it and recreating one more time"); // destroy the internal lb vm destroyInternalLbVm(internalLbVm.getId(), _accountMgr.getSystemAccount(), User.UID_SYSTEM); continue; @@ -813,8 +812,8 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return internalLbVm; } - protected DomainRouterVO startInternalLbVm(DomainRouterVO internalLbVm, Account caller, long callerUserId, Map params) - throws StorageUnavailableException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { + protected DomainRouterVO startInternalLbVm(DomainRouterVO internalLbVm, final Account caller, final long callerUserId, final Map params) + throws StorageUnavailableException, InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException { s_logger.debug("Starting Internal LB VM " + internalLbVm); _itMgr.start(internalLbVm.getUuid(), params, null, null); if (internalLbVm.isStopPending()) { @@ -825,11 +824,11 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In return _internalLbVmDao.findById(internalLbVm.getId()); } - protected List getHypervisors(DeployDestination dest, DeploymentPlan plan, List supportedHypervisors) - throws InsufficientServerCapacityException { + protected List getHypervisors(final DeployDestination dest, final DeploymentPlan plan, final List supportedHypervisors) + throws InsufficientServerCapacityException { List hypervisors = new ArrayList(); - HypervisorType defaults = _resourceMgr.getDefaultHypervisor(dest.getDataCenter().getId()); + final HypervisorType defaults = _resourceMgr.getDefaultHypervisor(dest.getDataCenter().getId()); if (defaults != HypervisorType.None) { hypervisors.add(defaults); } else { @@ -838,24 +837,24 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } //keep only elements defined in supported hypervisors - StringBuilder hTypesStr = new StringBuilder(); + final StringBuilder hTypesStr = new StringBuilder(); if (supportedHypervisors != null && !supportedHypervisors.isEmpty()) { hypervisors.retainAll(supportedHypervisors); - for (HypervisorType hType : supportedHypervisors) { + for (final HypervisorType hType : supportedHypervisors) { hTypesStr.append(hType).append(" "); } } if (hypervisors.isEmpty()) { throw new InsufficientServerCapacityException("Unable to create internal lb vm, " + "there are no clusters in the zone ", DataCenter.class, - dest.getDataCenter().getId()); + dest.getDataCenter().getId()); } return hypervisors; } @Override - public boolean applyLoadBalancingRules(Network network, final List rules, List internalLbVms) - throws ResourceUnavailableException { + public boolean applyLoadBalancingRules(final Network network, final List rules, final List internalLbVms) + throws ResourceUnavailableException { if (rules == null || rules.isEmpty()) { s_logger.debug("No lb rules to be applied for network " + network); return true; @@ -866,7 +865,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In throw new CloudRuntimeException("Can't apply the lb rules on network " + network + " as the list of internal lb vms is empty"); } - VirtualRouter lbVm = internalLbVms.get(0); + final VirtualRouter lbVm = internalLbVms.get(0); if (lbVm.getState() == State.Running) { return sendLBRules(lbVm, rules, network.getId()); } else if (lbVm.getState() == State.Stopped || lbVm.getState() == State.Stopping) { @@ -878,17 +877,17 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } } - protected boolean sendLBRules(VirtualRouter internalLbVm, List rules, long guestNetworkId) throws ResourceUnavailableException { - Commands cmds = new Commands(Command.OnError.Continue); + protected boolean sendLBRules(final VirtualRouter internalLbVm, final List rules, final long guestNetworkId) throws ResourceUnavailableException { + final Commands cmds = new Commands(Command.OnError.Continue); createApplyLoadBalancingRulesCommands(rules, internalLbVm, cmds, guestNetworkId); return sendCommandsToInternalLbVm(internalLbVm, cmds); } - protected boolean sendCommandsToInternalLbVm(final VirtualRouter internalLbVm, Commands cmds) throws AgentUnavailableException { + protected boolean sendCommandsToInternalLbVm(final VirtualRouter internalLbVm, final Commands cmds) throws AgentUnavailableException { Answer[] answers = null; try { answers = _agentMgr.send(internalLbVm.getHostId(), cmds); - } catch (OperationTimedoutException e) { + } catch (final OperationTimedoutException e) { s_logger.warn("Timed Out", e); throw new AgentUnavailableException("Unable to send commands to virtual router ", internalLbVm.getHostId(), e); } @@ -903,7 +902,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In boolean result = true; if (answers.length > 0) { - for (Answer answer : answers) { + for (final Answer answer : answers) { if (!answer.getResult()) { result = false; break; @@ -914,10 +913,10 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In } @Override - public VirtualRouter startInternalLbVm(long internalLbVmId, Account caller, long callerUserId) throws StorageUnavailableException, InsufficientCapacityException, - ConcurrentOperationException, ResourceUnavailableException { + public VirtualRouter startInternalLbVm(final long internalLbVmId, final Account caller, final long callerUserId) throws StorageUnavailableException, InsufficientCapacityException, + ConcurrentOperationException, ResourceUnavailableException { - DomainRouterVO internalLbVm = _internalLbVmDao.findById(internalLbVmId); + final DomainRouterVO internalLbVm = _internalLbVmDao.findById(internalLbVmId); if (internalLbVm == null || internalLbVm.getRole() != Role.INTERNAL_LB_VM) { throw new InvalidParameterValueException("Can't find internal lb vm by id specified"); } diff --git a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMManagerTest.java b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMManagerTest.java index b675feb8405..0b47b1f5418 100644 --- a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMManagerTest.java +++ b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMManagerTest.java @@ -24,9 +24,10 @@ import java.util.List; import javax.inject.Inject; -import com.cloud.storage.Storage; import junit.framework.TestCase; +import org.apache.cloudstack.lb.ApplicationLoadBalancerRuleVO; +import org.apache.cloudstack.network.lb.InternalLoadBalancerVMManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -35,9 +36,6 @@ import org.mockito.Mockito; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.apache.cloudstack.lb.ApplicationLoadBalancerRuleVO; -import org.apache.cloudstack.network.lb.InternalLoadBalancerVMManager; - import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; import com.cloud.agent.manager.Commands; @@ -60,6 +58,7 @@ import com.cloud.offerings.NetworkOfferingVO; import com.cloud.offerings.dao.NetworkOfferingDao; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; +import com.cloud.storage.Storage; import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; import com.cloud.utils.component.ComponentContext; @@ -126,16 +125,16 @@ public class InternalLBVMManagerTest extends TestCase { ComponentContext.initComponentsLifeCycle(); vm = - new DomainRouterVO(1L, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, 0, false, null, false, false, - VirtualMachine.Type.InternalLoadBalancerVm, null); + new DomainRouterVO(1L, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, null, false, false, + VirtualMachine.Type.InternalLoadBalancerVm, null); vm.setRole(Role.INTERNAL_LB_VM); vm = setId(vm, 1); vm.setPrivateIpAddress("10.2.2.2"); - NicVO nic = new NicVO("somereserver", 1L, 1L, VirtualMachine.Type.InternalLoadBalancerVm); + final NicVO nic = new NicVO("somereserver", 1L, 1L, VirtualMachine.Type.InternalLoadBalancerVm); nic.setIp4Address(requestedIp); - List emptyList = new ArrayList(); - List nonEmptyList = new ArrayList(); + final List emptyList = new ArrayList(); + final List nonEmptyList = new ArrayList(); nonEmptyList.add(vm); Mockito.when(_domainRouterDao.listByNetworkAndRole(invalidNtwkId, Role.INTERNAL_LB_VM)).thenReturn(emptyList); @@ -144,16 +143,16 @@ public class InternalLBVMManagerTest extends TestCase { Mockito.when(_nicDao.findByNtwkIdAndInstanceId(validNtwkId, 1)).thenReturn(nic); Mockito.when(_nicDao.findByNtwkIdAndInstanceId(invalidNtwkId, 1)).thenReturn(nic); - Answer answer = new Answer(null, true, null); - Answer[] answers = new Answer[1]; + final Answer answer = new Answer(null, true, null); + final Answer[] answers = new Answer[1]; answers[0] = answer; try { Mockito.when(_agentMgr.send(Matchers.anyLong(), Matchers.any(Commands.class))).thenReturn(answers); - } catch (AgentUnavailableException e) { + } catch (final AgentUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (OperationTimedoutException e) { + } catch (final OperationTimedoutException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -163,9 +162,9 @@ public class InternalLBVMManagerTest extends TestCase { Mockito.when(_itMgr.toNicTO(Matchers.any(NicProfile.class), Matchers.any(HypervisorType.class))).thenReturn(null); Mockito.when(_domainRouterDao.findById(Matchers.anyLong())).thenReturn(vm); - DataCenterVO dc = new DataCenterVO(1L, null, null, null, null, null, null, null, null, null, NetworkType.Advanced, null, null); + final DataCenterVO dc = new DataCenterVO(1L, null, null, null, null, null, null, null, null, null, NetworkType.Advanced, null, null); Mockito.when(_dcDao.findById(Matchers.anyLong())).thenReturn(dc); - NetworkOfferingVO networkOfferingVO = new NetworkOfferingVO(); + final NetworkOfferingVO networkOfferingVO = new NetworkOfferingVO(); networkOfferingVO.setConcurrentConnections(500); Mockito.when(_offeringDao.findById(Matchers.anyLong())).thenReturn(networkOfferingVO); @@ -178,7 +177,7 @@ public class InternalLBVMManagerTest extends TestCase { ntwk = new NetworkVO(); try { ntwk.setBroadcastUri(new URI("somevlan")); - } catch (URISyntaxException e) { + } catch (final URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -190,13 +189,13 @@ public class InternalLBVMManagerTest extends TestCase { @Test public void findInternalLbVmsForInvalidNetwork() { - List vms = _lbVmMgr.findInternalLbVms(invalidNtwkId, new Ip(requestedIp)); + final List vms = _lbVmMgr.findInternalLbVms(invalidNtwkId, new Ip(requestedIp)); assertTrue("Non empty vm list was returned for invalid network id", vms.isEmpty()); } @Test public void findInternalLbVmsForValidNetwork() { - List vms = _lbVmMgr.findInternalLbVms(validNtwkId, new Ip(requestedIp)); + final List vms = _lbVmMgr.findInternalLbVms(validNtwkId, new Ip(requestedIp)); assertTrue("Empty vm list was returned for valid network id", !vms.isEmpty()); } @@ -204,10 +203,10 @@ public class InternalLBVMManagerTest extends TestCase { @Test public void applyEmptyRulesSet() { boolean result = false; - List vms = new ArrayList(); + final List vms = new ArrayList(); try { result = _lbVmMgr.applyLoadBalancingRules(new NetworkVO(), new ArrayList(), vms); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { } finally { assertTrue("Got failure when tried to apply empty list of rules", result); @@ -217,14 +216,14 @@ public class InternalLBVMManagerTest extends TestCase { @Test(expected = CloudRuntimeException.class) public void applyWithEmptyVmsSet() { boolean result = false; - List vms = new ArrayList(); - List rules = new ArrayList(); - LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); + final List vms = new ArrayList(); + final List rules = new ArrayList(); + final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); rules.add(rule); try { result = _lbVmMgr.applyLoadBalancingRules(new NetworkVO(), rules, vms); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { } finally { assertFalse("Got success when tried to apply with the empty internal lb vm list", result); } @@ -233,12 +232,12 @@ public class InternalLBVMManagerTest extends TestCase { @Test(expected = ResourceUnavailableException.class) public void applyToVmInStartingState() throws ResourceUnavailableException { boolean result = false; - List vms = new ArrayList(); + final List vms = new ArrayList(); vm.setState(State.Starting); vms.add(vm); - List rules = new ArrayList(); - LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); + final List rules = new ArrayList(); + final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); rules.add(rule); try { @@ -251,12 +250,12 @@ public class InternalLBVMManagerTest extends TestCase { @Test public void applyToVmInStoppedState() throws ResourceUnavailableException { boolean result = false; - List vms = new ArrayList(); + final List vms = new ArrayList(); vm.setState(State.Stopped); vms.add(vm); - List rules = new ArrayList(); - LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); + final List rules = new ArrayList(); + final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); rules.add(rule); try { @@ -269,12 +268,12 @@ public class InternalLBVMManagerTest extends TestCase { @Test public void applyToVmInStoppingState() throws ResourceUnavailableException { boolean result = false; - List vms = new ArrayList(); + final List vms = new ArrayList(); vm.setState(State.Stopping); vms.add(vm); - List rules = new ArrayList(); - LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); + final List rules = new ArrayList(); + final LoadBalancingRule rule = new LoadBalancingRule(null, null, null, null, null, null, null); rules.add(rule); try { @@ -287,15 +286,15 @@ public class InternalLBVMManagerTest extends TestCase { @Test public void applyToVmInRunningState() throws ResourceUnavailableException { boolean result = false; - List vms = new ArrayList(); + final List vms = new ArrayList(); vm.setState(State.Running); vms.add(vm); - List rules = new ArrayList(); - ApplicationLoadBalancerRuleVO lb = new ApplicationLoadBalancerRuleVO(null, null, 22, 22, "roundrobin", 1L, 1L, 1L, new Ip(requestedIp), 1L, Scheme.Internal); + final List rules = new ArrayList(); + final ApplicationLoadBalancerRuleVO lb = new ApplicationLoadBalancerRuleVO(null, null, 22, 22, "roundrobin", 1L, 1L, 1L, new Ip(requestedIp), 1L, Scheme.Internal); lb.setState(FirewallRule.State.Add); - LoadBalancingRule rule = new LoadBalancingRule(lb, null, null, null, new Ip(requestedIp)); + final LoadBalancingRule rule = new LoadBalancingRule(lb, null, null, null, new Ip(requestedIp)); rules.add(rule); @@ -331,48 +330,48 @@ public class InternalLBVMManagerTest extends TestCase { } } - private static ServiceOfferingVO setId(ServiceOfferingVO vo, long id) { - ServiceOfferingVO voToReturn = vo; - Class c = voToReturn.getClass(); + private static ServiceOfferingVO setId(final ServiceOfferingVO vo, final long id) { + final ServiceOfferingVO voToReturn = vo; + final Class c = voToReturn.getClass(); try { - Field f = c.getSuperclass().getDeclaredField("id"); + final Field f = c.getSuperclass().getDeclaredField("id"); f.setAccessible(true); f.setLong(voToReturn, id); - } catch (NoSuchFieldException ex) { + } catch (final NoSuchFieldException ex) { return null; - } catch (IllegalAccessException ex) { + } catch (final IllegalAccessException ex) { return null; } return voToReturn; } - private static NetworkVO setId(NetworkVO vo, long id) { - NetworkVO voToReturn = vo; - Class c = voToReturn.getClass(); + private static NetworkVO setId(final NetworkVO vo, final long id) { + final NetworkVO voToReturn = vo; + final Class c = voToReturn.getClass(); try { - Field f = c.getDeclaredField("id"); + final Field f = c.getDeclaredField("id"); f.setAccessible(true); f.setLong(voToReturn, id); - } catch (NoSuchFieldException ex) { + } catch (final NoSuchFieldException ex) { return null; - } catch (IllegalAccessException ex) { + } catch (final IllegalAccessException ex) { return null; } return voToReturn; } - private static DomainRouterVO setId(DomainRouterVO vo, long id) { - DomainRouterVO voToReturn = vo; - Class c = voToReturn.getClass(); + private static DomainRouterVO setId(final DomainRouterVO vo, final long id) { + final DomainRouterVO voToReturn = vo; + final Class c = voToReturn.getClass(); try { - Field f = c.getSuperclass().getDeclaredField("id"); + final Field f = c.getSuperclass().getDeclaredField("id"); f.setAccessible(true); f.setLong(voToReturn, id); - } catch (NoSuchFieldException ex) { + } catch (final NoSuchFieldException ex) { return null; - } catch (IllegalAccessException ex) { + } catch (final IllegalAccessException ex) { return null; } diff --git a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java index 2b000464bf2..e376e51485d 100644 --- a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java +++ b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbvmmgr/InternalLBVMServiceTest.java @@ -20,9 +20,10 @@ import java.lang.reflect.Field; import javax.inject.Inject; -import com.cloud.storage.Storage; import junit.framework.TestCase; +import org.apache.cloudstack.context.CallContext; +import org.apache.cloudstack.network.lb.InternalLoadBalancerVMService; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -32,9 +33,6 @@ import org.mockito.Mockito; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.network.lb.InternalLoadBalancerVMService; - import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; import com.cloud.exception.InvalidParameterValueException; @@ -45,6 +43,7 @@ import com.cloud.network.router.VirtualRouter; import com.cloud.network.router.VirtualRouter.Role; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; +import com.cloud.storage.Storage; import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; import com.cloud.user.UserVO; @@ -100,13 +99,13 @@ public class InternalLBVMServiceTest extends TestCase { Mockito.when(_accountDao.findByIdIncludingRemoved(Matchers.anyLong())).thenReturn(new AccountVO(2)); CallContext.register(_accountMgr.getSystemUser(), _accountMgr.getSystemAccount()); - DomainRouterVO validVm = - new DomainRouterVO(validVmId, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, 0, false, null, false, false, - VirtualMachine.Type.InternalLoadBalancerVm, null); + final DomainRouterVO validVm = + new DomainRouterVO(validVmId, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, null, false, false, + VirtualMachine.Type.InternalLoadBalancerVm, null); validVm.setRole(Role.INTERNAL_LB_VM); - DomainRouterVO nonInternalLbVm = - new DomainRouterVO(validVmId, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, 0, false, null, false, false, - VirtualMachine.Type.DomainRouter, null); + final DomainRouterVO nonInternalLbVm = + new DomainRouterVO(validVmId, off.getId(), 1, "alena", 1, HypervisorType.XenServer, 1, 1, 1, 1, false, null, false, false, + VirtualMachine.Type.DomainRouter, null); nonInternalLbVm.setRole(Role.VIRTUAL_ROUTER); Mockito.when(_domainRouterDao.findById(validVmId)).thenReturn(validVm); @@ -124,19 +123,19 @@ public class InternalLBVMServiceTest extends TestCase { @Test(expected = InvalidParameterValueException.class) public void startNonExistingVm() { - String expectedExcText = null; + final String expectedExcText = null; try { _lbVmSvc.startInternalLbVm(nonExistingVmId, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (InsufficientCapacityException e) { + } catch (final InsufficientCapacityException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -144,19 +143,19 @@ public class InternalLBVMServiceTest extends TestCase { @Test(expected = InvalidParameterValueException.class) public void startNonInternalLbVmVm() { - String expectedExcText = null; + final String expectedExcText = null; try { _lbVmSvc.startInternalLbVm(nonInternalLbVmId, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (InsufficientCapacityException e) { + } catch (final InsufficientCapacityException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -167,16 +166,16 @@ public class InternalLBVMServiceTest extends TestCase { VirtualRouter vr = null; try { vr = _lbVmSvc.startInternalLbVm(validVmId, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (InsufficientCapacityException e) { + } catch (final InsufficientCapacityException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { @@ -187,16 +186,16 @@ public class InternalLBVMServiceTest extends TestCase { //TEST FOR STOP COMMAND @Test(expected = InvalidParameterValueException.class) public void stopNonExistingVm() { - String expectedExcText = null; + final String expectedExcText = null; try { _lbVmSvc.stopInternalLbVm(nonExistingVmId, false, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -204,16 +203,16 @@ public class InternalLBVMServiceTest extends TestCase { @Test(expected = InvalidParameterValueException.class) public void stopNonInternalLbVmVm() { - String expectedExcText = null; + final String expectedExcText = null; try { _lbVmSvc.stopInternalLbVm(nonInternalLbVmId, false, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -224,13 +223,13 @@ public class InternalLBVMServiceTest extends TestCase { VirtualRouter vr = null; try { vr = _lbVmSvc.stopInternalLbVm(validVmId, false, _accountMgr.getAccount(1L), 1L); - } catch (StorageUnavailableException e) { + } catch (final StorageUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ConcurrentOperationException e) { + } catch (final ConcurrentOperationException e) { // TODO Auto-generated catch block e.printStackTrace(); - } catch (ResourceUnavailableException e) { + } catch (final ResourceUnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { @@ -238,16 +237,16 @@ public class InternalLBVMServiceTest extends TestCase { } } - private static ServiceOfferingVO setId(ServiceOfferingVO vo, long id) { - ServiceOfferingVO voToReturn = vo; - Class c = voToReturn.getClass(); + private static ServiceOfferingVO setId(final ServiceOfferingVO vo, final long id) { + final ServiceOfferingVO voToReturn = vo; + final Class c = voToReturn.getClass(); try { - Field f = c.getSuperclass().getDeclaredField("id"); + final Field f = c.getSuperclass().getDeclaredField("id"); f.setAccessible(true); f.setLong(voToReturn, id); - } catch (NoSuchFieldException ex) { + } catch (final NoSuchFieldException ex) { return null; - } catch (IllegalAccessException ex) { + } catch (final IllegalAccessException ex) { return null; } diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java b/server/src/com/cloud/network/router/CommandSetupHelper.java index 939cf9f1ce6..2b701d9f702 100644 --- a/server/src/com/cloud/network/router/CommandSetupHelper.java +++ b/server/src/com/cloud/network/router/CommandSetupHelper.java @@ -930,9 +930,8 @@ public class CommandSetupHelper { final String dhcpRange = getGuestDhcpRange(guestNic, network, _entityMgr.findById(DataCenter.class, network.getDataCenterId())); final NicProfile nicProfile = _networkModel.getNicProfile(router, nic.getNetworkId(), null); - final int priority = _networkHelper.getRealPriority(router); - final SetupGuestNetworkCommand setupCmd = new SetupGuestNetworkCommand(dhcpRange, networkDomain, router.getIsRedundantRouter(), priority, defaultDns1, defaultDns2, add, _itMgr.toNicTO(nicProfile, + final SetupGuestNetworkCommand setupCmd = new SetupGuestNetworkCommand(dhcpRange, networkDomain, router.getIsRedundantRouter(), defaultDns1, defaultDns2, add, _itMgr.toNicTO(nicProfile, router.getHypervisorType())); final String brd = NetUtils.long2Ip(NetUtils.ip2Long(guestNic.getIp4Address()) | ~NetUtils.ip2Long(guestNic.getNetmask())); diff --git a/server/src/com/cloud/network/router/NetworkHelper.java b/server/src/com/cloud/network/router/NetworkHelper.java index 073f32f3d84..380cecdafcf 100644 --- a/server/src/com/cloud/network/router/NetworkHelper.java +++ b/server/src/com/cloud/network/router/NetworkHelper.java @@ -50,8 +50,6 @@ public interface NetworkHelper { List disconnectedRouters, String reason) throws ResourceUnavailableException; - public abstract int getRealPriority(DomainRouterVO router); - public abstract NicTO getNicTO(VirtualRouter router, Long networkId, String broadcastUri); diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java b/server/src/com/cloud/network/router/NetworkHelperImpl.java index 347a5e16098..92187e483d9 100644 --- a/server/src/com/cloud/network/router/NetworkHelperImpl.java +++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java @@ -36,8 +36,6 @@ import org.cloud.network.router.deployment.RouterDeploymentDefinition; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Answer; -import com.cloud.agent.api.BumpUpPriorityCommand; -import com.cloud.agent.api.routing.NetworkElementCommand; import com.cloud.agent.api.to.NicTO; import com.cloud.agent.manager.Commands; import com.cloud.alert.AlertManager; @@ -224,33 +222,6 @@ public class NetworkHelperImpl implements NetworkHelper { _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_DOMAIN_ROUTER, disconnectedRouter.getDataCenterId(), disconnectedRouter.getPodIdToDeployIn(), title, context); disconnectedRouter.setStopPending(true); disconnectedRouter = _routerDao.persist(disconnectedRouter); - - final int connRouterPR = getRealPriority(connectedRouter); - final int disconnRouterPR = getRealPriority(disconnectedRouter); - if (connRouterPR < disconnRouterPR) { - // connRouterPR < disconnRouterPR, they won't equal at any time - if (!connectedRouter.getIsPriorityBumpUp()) { - final BumpUpPriorityCommand command = new BumpUpPriorityCommand(); - command.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(connectedRouter.getId())); - command.setAccessDetail(NetworkElementCommand.ROUTER_NAME, connectedRouter.getInstanceName()); - final Answer answer = _agentMgr.easySend(connectedRouter.getHostId(), command); - if (!answer.getResult()) { - s_logger.error("Failed to bump up " + connectedRouter.getInstanceName() + "'s priority! " + answer.getDetails()); - } - } else { - final String t = "Can't bump up virtual router " + connectedRouter.getInstanceName() + "'s priority due to it's already bumped up!"; - _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_DOMAIN_ROUTER, connectedRouter.getDataCenterId(), connectedRouter.getPodIdToDeployIn(), t, t); - } - } - } - - @Override - public int getRealPriority(final DomainRouterVO router) { - int priority = router.getPriority(); - if (router.getIsPriorityBumpUp()) { - priority += VirtualNetworkApplianceManager.DEFAULT_DELTA; - } - return priority; } @Override @@ -522,7 +493,7 @@ public class NetworkHelperImpl implements NetworkHelper { router = new DomainRouterVO(id, routerOffering.getId(), routerDeploymentDefinition.getVirtualProvider().getId(), VirtualMachineName.getRouterName(id, s_vmInstanceName), template.getId(), template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), owner.getId(), - userId, routerDeploymentDefinition.isRedundant(), 0, false, RedundantState.UNKNOWN, offerHA, false, vpcId); + userId, routerDeploymentDefinition.isRedundant(), RedundantState.UNKNOWN, offerHA, false, vpcId); router.setDynamicallyScalable(template.isDynamicallyScalable()); router.setRole(Role.VIRTUAL_ROUTER); diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index d67a22439cd..9407eff7551 100644 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -115,7 +115,6 @@ import com.cloud.exception.AgentUnavailableException; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.ConnectionException; import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InsufficientVirtualNetworkCapacityException; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.OperationTimedoutException; import com.cloud.exception.ResourceUnavailableException; @@ -1067,7 +1066,6 @@ Configurable, StateListener { /* * In order to make fail-over works well at any time, we have to ensure: * 1. Backup router's priority = Master's priority - DELTA + 1 - * 2. Backup router's priority hasn't been bumped up. */ private void checkSanity(final List routers) { final Set checkedNetwork = new HashSet(); @@ -1342,41 +1340,6 @@ Configurable, StateListener { } } - protected int getUpdatedPriority(final Network network, final List routers, final DomainRouterVO masterRouter) - throws InsufficientVirtualNetworkCapacityException { - int priority; - if (routers.size() == 0) { - priority = DEFAULT_PRIORITY; - } else { - int maxPriority = 0; - - final DomainRouterVO router0 = routers.get(0); - if (router0.getId() == masterRouter.getId()) { - if (!router0.getIsRedundantRouter()) { - throw new CloudRuntimeException("Redundant router is mixed with single router in one network!"); - } - maxPriority = _nwHelper.getRealPriority(router0); - } else { - maxPriority = DEFAULT_PRIORITY; - } - - if (maxPriority == 0) { - return DEFAULT_PRIORITY; - } - if (maxPriority < 20) { - s_logger.error("Current maximum priority is too low!"); - throw new InsufficientVirtualNetworkCapacityException("Current maximum priority is too low as " + maxPriority + "!", network.getId()); - } else if (maxPriority > 200) { - s_logger.error("Too many times fail-over happened! Current maximum priority is too high as " + maxPriority + "!"); - throw new InsufficientVirtualNetworkCapacityException("Too many times fail-over happened! Current maximum priority is too high as " + maxPriority + "!", - network.getId()); - } - - priority = maxPriority - DEFAULT_DELTA + 1; - } - return priority; - } - @Override public boolean finalizeVirtualMachineProfile(final VirtualMachineProfile profile, final DeployDestination dest, final ReservationContext context) { @@ -1621,7 +1584,7 @@ Configurable, StateListener { return buf; } - protected StringBuilder createRedundantRouterArgs(final NicProfile nic, DomainRouterVO router) { + protected StringBuilder createRedundantRouterArgs(final NicProfile nic, final DomainRouterVO router) { final StringBuilder buf = new StringBuilder(); final long networkId = nic.getNetworkId(); @@ -1673,17 +1636,6 @@ Configurable, StateListener { } buf.append(" redundant_state=").append(redundantState); - - try { - final int priority = getUpdatedPriority(network, routers, router); - router.setPriority(priority); - router = _routerDao.persist(router); - - buf.append(" router_pr=").append(router.getPriority()); - } catch (final InsufficientVirtualNetworkCapacityException e) { - s_logger.error("Failed to get update priority!", e); - throw new CloudRuntimeException("Failed to get update priority!"); - } } return buf; diff --git a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java index 42c756a651d..5ef20703146 100644 --- a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java +++ b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java @@ -338,7 +338,6 @@ public class RouterDeploymentDefinition { throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { //Check current redundant routers, if possible(all routers are stopped), reset the priority planDeploymentRouters(); - setupPriorityOfRedundantRouter(); if (getNumberOfRoutersToDeploy() > 0 && prepareDeployment()) { findVirtualProvider(); @@ -442,19 +441,4 @@ public class RouterDeploymentDefinition { return needReset; } - - /** - * Only for redundant deployment and if any routers needed reset, we shall - * reset all routers priorities - */ - protected void setupPriorityOfRedundantRouter() { - if (isRedundant() && routersNeedReset()) { - for (final DomainRouterVO router : routers) { - // getUpdatedPriority() would update the value later - router.setPriority(0); - router.setIsPriorityBumpUp(false); - routerDao.update(router.getId(), router); - } - } - } -} +} \ No newline at end of file diff --git a/server/test/com/cloud/network/element/VirtualRouterElementTest.java b/server/test/com/cloud/network/element/VirtualRouterElementTest.java index f2403caf8c7..f139852436d 100644 --- a/server/test/com/cloud/network/element/VirtualRouterElementTest.java +++ b/server/test/com/cloud/network/element/VirtualRouterElementTest.java @@ -201,7 +201,7 @@ public class VirtualRouterElementTest { mockDAOs(testNetwork, testOffering); mockMgrs(); - boolean done = virtualRouterElement.implement(testNetwork, testOffering, testDestination, testContext); + final boolean done = virtualRouterElement.implement(testNetwork, testOffering, testDestination, testContext); assertTrue("no cigar for network daddy",done); } @@ -209,7 +209,7 @@ public class VirtualRouterElementTest { @Ignore("Ignore it until it's fixed in order not to brake the build") public void testPrepare() { virtualRouterElement._routerMgr = _routerMgr; - virtualRouterElement.routerDeploymentDefinitionBuilder = this.routerDeploymentDefinitionBuilder; + virtualRouterElement.routerDeploymentDefinitionBuilder = routerDeploymentDefinitionBuilder; mockDAOs(testNetwork,testOffering); mockMgrs(); @@ -230,7 +230,7 @@ public class VirtualRouterElementTest { * @throws ConcurrentOperationException */ private void mockMgrs() throws ConcurrentOperationException { - Service service = Service.Connectivity; + final Service service = Service.Connectivity; testNetwork.setState(Network.State.Implementing); testNetwork.setTrafficType(TrafficType.Guest); when(_networkMdl.isProviderEnabledInPhysicalNetwork(0L, "VirtualRouter")).thenReturn(true); @@ -238,13 +238,13 @@ public class VirtualRouterElementTest { when(_networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, 0L)).thenReturn(true); when(testVMProfile.getType()).thenReturn(VirtualMachine.Type.User); when(testVMProfile.getHypervisorType()).thenReturn(HypervisorType.XenServer); - List networks = new ArrayList(1); + final List networks = new ArrayList(1); networks.add(testNetwork); - List offerings = new ArrayList(1); + final List offerings = new ArrayList(1); offerings.add(testOffering); doReturn(offerings).when(_networkModel).getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); doReturn(networks).when(_networkMgr).setupNetwork(any(Account.class), any(NetworkOffering.class), any(DeploymentPlan.class), any(String.class), any(String.class), anyBoolean()); - // being anti-social and testing my own case first + // being anti-social and testing my own case first doReturn(HypervisorType.XenServer).when(_resourceMgr).getDefaultHypervisor(anyLong()); doReturn(new AccountVO()).when(_accountMgr).getAccount(testNetwork.getAccountId()); } @@ -252,7 +252,7 @@ public class VirtualRouterElementTest { /** * @param network */ - private void mockDAOs(NetworkVO network, NetworkOfferingVO offering) { + private void mockDAOs(final NetworkVO network, final NetworkOfferingVO offering) { when(_networkDao.acquireInLockTable(network.getId(), NetworkOrchestrationService.NetworkLockTimeout.value())).thenReturn(network); when(_networksDao.acquireInLockTable(network.getId(), NetworkOrchestrationService.NetworkLockTimeout.value())).thenReturn(network); when(_physicalProviderDao.findByServiceProvider(0L, "VirtualRouter")).thenReturn(new PhysicalNetworkServiceProviderVO()); @@ -260,7 +260,7 @@ public class VirtualRouterElementTest { when(_networkOfferingDao.findById(0L)).thenReturn(offering); // watchit: (in this test) there can be only one when(_routerDao.getNextInSequence(Long.class, "id")).thenReturn(0L); - ServiceOfferingVO svcoff = new ServiceOfferingVO("name", + final ServiceOfferingVO svcoff = new ServiceOfferingVO("name", /* cpu */ 1, /* ramsize */ 1024*1024, /* (clock?)speed */ 1024*1024*1024, @@ -276,7 +276,7 @@ public class VirtualRouterElementTest { VirtualMachine.Type.DomainRouter, /* defaultUse */ false); when(_serviceOfferingDao.findById(0L)).thenReturn(svcoff); - DomainRouterVO router = new DomainRouterVO(/* id */ 1L, + final DomainRouterVO router = new DomainRouterVO(/* id */ 1L, /* serviceOfferingId */ 1L, /* elementId */ 0L, "name", @@ -287,8 +287,6 @@ public class VirtualRouterElementTest { /* accountId */ 1L, /* userId */ 1L, /* isRedundantRouter */ false, - /* priority */ 0, - /* isPriorityBumpUp */ false, RedundantState.UNKNOWN, /* haEnabled */ false, /* stopPending */ false, diff --git a/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java b/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java index 23b195b2002..abd80d75eb4 100644 --- a/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java +++ b/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java @@ -22,10 +22,7 @@ import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.fail; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -526,117 +523,6 @@ public class RouterDeploymentDefinitionTest extends RouterDeploymentDefinitionTe fail(); } - /** - * If any router is NOT redundant, then it shouldn't update routers - */ - @Test - public void testSetupPriorityOfRedundantRouterWithNonRedundantRouters() { - // Prepare - deployment.routers = new ArrayList<>(); - final DomainRouterVO routerVO1 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO1); - when(routerVO1.getIsRedundantRouter()).thenReturn(true); - when(routerVO1.getState()).thenReturn(VirtualMachine.State.Stopped); - final DomainRouterVO routerVO2 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO2); - when(routerVO2.getIsRedundantRouter()).thenReturn(false); - when(routerVO2.getState()).thenReturn(VirtualMachine.State.Stopped); - // If this deployment is not redundant nothing will be executed - when(mockNw.isRedundant()).thenReturn(true); - - // Execute - deployment.setupPriorityOfRedundantRouter(); - - // Assert - verify(routerVO1, times(0)).setPriority(anyInt()); - verify(routerVO1, times(0)).setIsPriorityBumpUp(anyBoolean()); - verify(mockRouterDao, times(0)).update(anyLong(), (DomainRouterVO) anyObject()); - } - - /** - * If any router is NOT Stopped, then it shouldn't update routers - */ - @Test - public void testSetupPriorityOfRedundantRouterWithRunningRouters() { - // Prepare - deployment.routers = new ArrayList<>(); - final DomainRouterVO routerVO1 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO1); - when(routerVO1.getIsRedundantRouter()).thenReturn(true); - when(routerVO1.getState()).thenReturn(VirtualMachine.State.Stopped); - final DomainRouterVO routerVO2 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO2); - when(routerVO2.getIsRedundantRouter()).thenReturn(true); - when(routerVO2.getState()).thenReturn(VirtualMachine.State.Running); - // If this deployment is not redundant nothing will be executed - when(mockNw.isRedundant()).thenReturn(true); - - // Execute - deployment.setupPriorityOfRedundantRouter(); - - // Assert - verify(routerVO1, times(0)).setPriority(anyInt()); - verify(routerVO1, times(0)).setIsPriorityBumpUp(anyBoolean()); - verify(mockRouterDao, times(0)).update(anyLong(), (DomainRouterVO) anyObject()); - } - - /** - * Given all routers are redundant and Stopped, then it should update ALL routers - */ - @Test - public void testSetupPriorityOfRedundantRouter() { - // Prepare - deployment.routers = new ArrayList<>(); - final DomainRouterVO routerVO1 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO1); - when(routerVO1.getId()).thenReturn(ROUTER1_ID); - when(routerVO1.getIsRedundantRouter()).thenReturn(true); - when(routerVO1.getState()).thenReturn(VirtualMachine.State.Stopped); - final DomainRouterVO routerVO2 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO2); - when(routerVO2.getId()).thenReturn(ROUTER2_ID); - when(routerVO2.getIsRedundantRouter()).thenReturn(true); - when(routerVO2.getState()).thenReturn(VirtualMachine.State.Stopped); - // If this deployment is not redundant nothing will be executed - when(mockNw.isRedundant()).thenReturn(true); - - // Execute - deployment.setupPriorityOfRedundantRouter(); - - // Assert - verify(routerVO1, times(1)).setPriority(0); - verify(routerVO1, times(1)).setIsPriorityBumpUp(false); - verify(mockRouterDao, times(1)).update(ROUTER1_ID, routerVO1); - verify(routerVO2, times(1)).setPriority(0); - verify(routerVO2, times(1)).setIsPriorityBumpUp(false); - verify(mockRouterDao, times(1)).update(ROUTER2_ID, routerVO2); - } - - /** - * If this is not a redundant deployment, then we shouldn't reset priorities - */ - @Test - public void testSetupPriorityOfRedundantRouterWithNonRedundantDeployment() { - // Prepare - deployment.routers = new ArrayList<>(); - final DomainRouterVO routerVO1 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO1); - when(routerVO1.getIsRedundantRouter()).thenReturn(true); - when(routerVO1.getState()).thenReturn(VirtualMachine.State.Stopped); - final DomainRouterVO routerVO2 = mock(DomainRouterVO.class); - deployment.routers.add(routerVO2); - when(routerVO2.getIsRedundantRouter()).thenReturn(true); - when(routerVO2.getState()).thenReturn(VirtualMachine.State.Stopped); - - // Execute - deployment.setupPriorityOfRedundantRouter(); - - // Assert - verify(routerVO1, times(0)).setPriority(anyInt()); - verify(routerVO1, times(0)).setIsPriorityBumpUp(anyBoolean()); - verify(mockRouterDao, times(0)).update(anyLong(), (DomainRouterVO) anyObject()); - } - @Test public void testGetNumberOfRoutersToDeploy() { // Prepare @@ -886,7 +772,6 @@ public class RouterDeploymentDefinitionTest extends RouterDeploymentDefinitionTe throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { // Prepare final RouterDeploymentDefinition deploymentUT = spy(deployment); - doNothing().when(deploymentUT).setupPriorityOfRedundantRouter(); doReturn(noOfRoutersToDeploy).when(deploymentUT).getNumberOfRoutersToDeploy(); doReturn(passPreparation).when(deploymentUT).prepareDeployment(); doNothing().when(deploymentUT).findVirtualProvider(); @@ -898,7 +783,6 @@ public class RouterDeploymentDefinitionTest extends RouterDeploymentDefinitionTe deploymentUT.executeDeployment(); // Assert - verify(deploymentUT, times(1)).setupPriorityOfRedundantRouter(); verify(deploymentUT, times(1)).getNumberOfRoutersToDeploy(); int proceedToDeployment = 0; if (noOfRoutersToDeploy > 0) { diff --git a/systemvm/patches/debian/config/opt/cloud/bin/checkrouter.sh b/systemvm/patches/debian/config/opt/cloud/bin/checkrouter.sh index b5ea189b6aa..12b2da4e62d 100755 --- a/systemvm/patches/debian/config/opt/cloud/bin/checkrouter.sh +++ b/systemvm/patches/debian/config/opt/cloud/bin/checkrouter.sh @@ -21,4 +21,4 @@ if [ "$?" -ne "0" ] then STATUS=MASTER fi -echo "Status: ${STATUS}&Bumped: NO" +echo "Status: ${STATUS}" diff --git a/systemvm/patches/debian/config/opt/cloud/templates/checkrouter.sh.templ b/systemvm/patches/debian/config/opt/cloud/templates/checkrouter.sh.templ index 35ba766886d..12b2da4e62d 100755 --- a/systemvm/patches/debian/config/opt/cloud/templates/checkrouter.sh.templ +++ b/systemvm/patches/debian/config/opt/cloud/templates/checkrouter.sh.templ @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -16,45 +16,9 @@ # specific language governing permissions and limitations # under the License. - -source /root/func.sh - -nolock=0 -if [ $# -eq 1 ] +STATUS=$(cat /etc/cloudstack/cmdline.json | grep redundant_state | awk '{print $2;}' | sed -e 's/[,\"]//g') +if [ "$?" -ne "0" ] then - if [ $1 == "--no-lock" ] - then - nolock=1 - fi -fi - -if [ $nolock -eq 0 ] -then - lock="biglock" - locked=$(getLockFile $lock) - if [ "$locked" != "1" ] - then - exit 1 - fi -fi - -bumped="Bumped: NO" -if [ -e /tmp/rrouter_bumped ] -then - bumped="Bumped: YES" -fi - -state="Status: BACKUP" -isMaster=`grep -Po '(?<="redundant_master": ")[^"]*' /etc/cloudstack/cmdline.json` -if [ $? -eq 0 ] -then - if [ "$isMaster" = true ] ; then - state="Status: MASTER" - fi - echo "$state&$bumped" -fi - -if [ $nolock -eq 0 ] -then - unlock_exit $? $lock $locked + STATUS=MASTER fi +echo "Status: ${STATUS}"