Updated Branches:
  refs/heads/master 9631df8d0 -> 85f38b3e0

Fix CID 1127045 Dead local store
Fix CID 1127041,1127040, 1127039, 1127038, 1127037 String concatenation in loop


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ad0d7f88
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ad0d7f88
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ad0d7f88

Branch: refs/heads/master
Commit: ad0d7f882f001ed6421e4aa40070a215ffb1fd3b
Parents: 9631df8
Author: Hugo Trippaers <[email protected]>
Authored: Thu Nov 7 14:40:14 2013 +0100
Committer: Hugo Trippaers <[email protected]>
Committed: Thu Nov 7 14:40:14 2013 +0100

----------------------------------------------------------------------
 .../resource/HypervDirectConnectResource.java   | 111 ++++++++++---------
 1 file changed, 58 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ad0d7f88/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
 
b/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
index a8a09f6..194ad77 100644
--- 
a/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
+++ 
b/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
@@ -19,7 +19,6 @@ package com.cloud.hypervisor.hyperv.resource;
 import java.io.File;
 import java.io.IOException;
 import java.net.ConnectException;
-import java.net.InetSocketAddress;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -27,16 +26,11 @@ import java.nio.channels.SocketChannel;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 import java.util.UUID;
 
 import javax.ejb.Local;
-import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
-import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
-import org.apache.cloudstack.utils.identity.ManagementServerNode;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.client.ClientProtocolException;
@@ -47,6 +41,8 @@ import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.http.util.EntityUtils;
 import org.apache.log4j.Logger;
 
+import com.google.gson.Gson;
+
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.CheckRouterAnswer;
 import com.cloud.agent.api.CheckRouterCommand;
@@ -60,7 +56,6 @@ import com.cloud.agent.api.NetworkUsageCommand;
 import com.cloud.agent.api.PingCommand;
 import com.cloud.agent.api.PingRoutingCommand;
 import com.cloud.agent.api.PingTestCommand;
-import com.cloud.agent.api.StartCommand;
 import com.cloud.agent.api.StartupCommand;
 import com.cloud.agent.api.StartupRoutingCommand;
 import com.cloud.agent.api.StartupRoutingCommand.VmState;
@@ -95,8 +90,6 @@ import com.cloud.agent.api.to.FirewallRuleTO;
 import com.cloud.agent.api.to.IpAddressTO;
 import com.cloud.agent.api.to.PortForwardingRuleTO;
 import com.cloud.agent.api.to.StaticNatRuleTO;
-import com.cloud.agent.api.to.VirtualMachineTO;
-import com.cloud.configuration.Config;
 import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.host.Host.Type;
 import com.cloud.hypervisor.Hypervisor;
@@ -107,20 +100,11 @@ import com.cloud.network.rules.FirewallRule;
 import com.cloud.resource.ServerResource;
 import com.cloud.resource.ServerResourceBase;
 import com.cloud.serializer.GsonHelper;
-import com.cloud.storage.JavaStorageLayer;
-import com.cloud.storage.StorageLayer;
-import com.cloud.utils.FileUtil;
-import com.cloud.utils.NumbersUtil;
 import com.cloud.utils.Pair;
 import com.cloud.utils.StringUtils;
-import com.cloud.utils.db.GlobalLock;
-import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.net.NetUtils;
-import com.cloud.utils.script.Script;
 import com.cloud.utils.ssh.SshHelper;
-import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineName;
-import com.google.gson.Gson;
 
 /**
  * Implementation of dummy resource to be returned from discoverer.
@@ -164,8 +148,8 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         if (!_configureCalled) {
             String errMsg =
                     this.getClass().getName()
-                            + " requires configure() be called before"
-                            + " initialize()";
+                    + " requires configure() be called before"
+                    + " initialize()";
             s_logger.error(errMsg);
         }
 
@@ -220,7 +204,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
                             "Host %s (IP %s) changed zone/data center.  Was "
                                     + defaultStartRoutCmd.getDataCenter()
                                     + " NOW its " + startCmd.getDataCenter(),
-                            _name, _agentIp);
+                                    _name, _agentIp);
             s_logger.error(errMsg);
             // TODO: valid to return null, or should we throw?
             return null;
@@ -267,8 +251,8 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             String errMsg =
                     String.format(
                             "Host %s (IP %s) name.  Was " + startCmd.getName()
-                                    + " NOW its "
-                                    + defaultStartRoutCmd.getName(), _name,
+                            + " NOW its "
+                            + defaultStartRoutCmd.getName(), _name,
                             _agentIp);
             s_logger.error(errMsg);
             // TODO: valid to return null, or should we throw?
@@ -315,7 +299,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             s_logger.debug("Ping host " + _name + " (IP " + _agentIp + ")");
         }
 
-        Answer pingAns = this.executeRequest(pingCmd);
+        Answer pingAns = executeRequest(pingCmd);
 
         if (pingAns == null || !pingAns.getResult()) {
             s_logger.info("Cannot ping host " + _name + " (IP " + _agentIp
@@ -390,9 +374,9 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         } else if (clazz == GetDomRVersionCmd.class) {
             answer = execute((GetDomRVersionCmd)cmd);
         } else if (cmd instanceof NetworkUsageCommand) {
-           answer = execute((NetworkUsageCommand) cmd);
+            answer = execute((NetworkUsageCommand) cmd);
         } else if (clazz == IpAssocCommand.class) {
-           answer = execute((IpAssocCommand) cmd);
+            answer = execute((IpAssocCommand) cmd);
         } else if (clazz == DnsMasqConfigCommand.class) {
             return execute((DnsMasqConfigCommand) cmd);
         } else if (clazz == CreateIpAliasCommand.class) {
@@ -430,7 +414,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             // Else send the cmd to hyperv agent.
             String ansStr = postHttpRequest(s_gson.toJson(cmd), agentUri);
             if (ansStr == null) {
-               return Answer.createUnsupportedCommandAnswer(cmd);
+                return Answer.createUnsupportedCommandAnswer(cmd);
             }
             // Only Answer instances are returned by remote agents.
             // E.g. see Response.getAnswers()
@@ -498,12 +482,13 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         Pair<Boolean, String> result;
         try {
             String controlIp = getRouterSshControlIp(cmd);
-            String cmdline = "/opt/cloud/bin/checkbatchs2svpn.sh ";
+            StringBuilder cmdline = new 
StringBuilder("/opt/cloud/bin/checkbatchs2svpn.sh ");
             for (String ip : cmd.getVpnIps()) {
-                cmdline += " " + ip;
+                cmdline.append(" ");
+                cmdline.append(ip);
             }
 
-            result = SshHelper.sshExecute(controlIp, DEFAULT_DOMR_SSHPORT, 
"root", getSystemVMKeyFile(), null, cmdline);
+            result = SshHelper.sshExecute(controlIp, DEFAULT_DOMR_SSHPORT, 
"root", getSystemVMKeyFile(), null, cmdline.toString());
 
             if (!result.first()) {
                 s_logger.error("check site-to-site vpn connections command on 
domR " + cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP) + " failed, 
message: "
@@ -833,13 +818,23 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         if (s_logger.isInfoEnabled()) {
             s_logger.info("Executing deleteIpAlias command: " + 
s_gson.toJson(cmd));
         }
-        String args = "";
+        StringBuilder args = new StringBuilder();
         for (IpAliasTO ipAliasTO : revokedIpAliasTOs) {
-            args = args + ipAliasTO.getAlias_count() + ":" + 
ipAliasTO.getRouterip() + ":" + ipAliasTO.getNetmask() + "-";
-        }
-        args = args + "- ";
+            args.append(ipAliasTO.getAlias_count());
+            args.append(":");
+            args.append(ipAliasTO.getRouterip());
+            args.append(":");
+            args.append(ipAliasTO.getNetmask());
+            args.append("-");
+        }
+        args.append("- ");
         for (IpAliasTO ipAliasTO : activeIpAliasTOs) {
-            args = args + ipAliasTO.getAlias_count() + ":" + 
ipAliasTO.getRouterip() + ":" + ipAliasTO.getNetmask() + "-";
+            args.append(ipAliasTO.getAlias_count());
+            args.append(":");
+            args.append(ipAliasTO.getRouterip());
+            args.append(":");
+            args.append(ipAliasTO.getNetmask());
+            args.append("-");
         }
         if (s_logger.isDebugEnabled()) {
             s_logger.debug("Run command on domR " + 
cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP) + ", /root/deleteIpAlias " 
+ args);
@@ -887,14 +882,14 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
 
         String[][] rules = cfgtr.generateFwRules(cmd);
         String tmpCfgFilePath = "/tmp/" + routerIp.replace('.', '_') + ".cfg";
-        String tmpCfgFileContents = "";
+        StringBuilder tmpCfgFileContents = new StringBuilder();
         for (int i = 0; i < config.length; i++) {
-            tmpCfgFileContents += config[i];
-            tmpCfgFileContents += "\n";
+            tmpCfgFileContents.append(config[i]);
+            tmpCfgFileContents.append("\n");
         }
 
         try {
-            SshHelper.scpTo(controlIp, DEFAULT_DOMR_SSHPORT, "root", keyFile, 
null, "/tmp/", tmpCfgFileContents.getBytes(), routerIp.replace('.', '_') + 
".cfg", null);
+            SshHelper.scpTo(controlIp, DEFAULT_DOMR_SSHPORT, "root", keyFile, 
null, "/tmp/", tmpCfgFileContents.toString().getBytes(), routerIp.replace('.', 
'_') + ".cfg", null);
 
             try {
                 String[] addRules = rules[LoadBalancerConfigurator.ADD];
@@ -1076,7 +1071,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         } catch (Throwable e) {
             s_logger.error("SetFirewallRulesCommand(args: " + args
                     + ") failed on setting one rule due to "
-                     ,e);
+                    ,e);
             //FIXME - in the future we have to process each rule separately; 
now we temporarily set every rule to be false if single rule fails
             for (int i=0; i < results.length; i++) {
                 results[i] = "Failed";
@@ -1229,9 +1224,14 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         }
         cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
         List<IpAliasTO> ipAliasTOs = cmd.getIpAliasList();
-        String args="";
+        StringBuilder args = new StringBuilder();
         for (IpAliasTO ipaliasto : ipAliasTOs) {
-            args = args + 
ipaliasto.getAlias_count()+":"+ipaliasto.getRouterip()+":"+ipaliasto.getNetmask()+"-";
+            args.append(ipaliasto.getAlias_count());
+            args.append(":");
+            args.append(ipaliasto.getRouterip());
+            args.append(":");
+            args.append(ipaliasto.getNetmask());
+            args.append("-");
         }
         if (s_logger.isDebugEnabled()) {
             s_logger.debug("Run command on domR " + 
cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP) + ", /root/createIpAlias " 
+ args);
@@ -1271,9 +1271,16 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
         assert(controlIp != null);
 
         List<DhcpTO> dhcpTos = cmd.getIps();
-        String args ="";
+        StringBuilder args = new StringBuilder();
         for(DhcpTO dhcpTo : dhcpTos) {
-            args = args + 
dhcpTo.getRouterIp()+":"+dhcpTo.getGateway()+":"+dhcpTo.getNetmask()+":"+dhcpTo.getStartIpOfSubnet()+"-";
+            args.append(dhcpTo.getRouterIp());
+            args.append(":");
+            args.append(dhcpTo.getGateway());
+            args.append(":");
+            args.append(dhcpTo.getNetmask());
+            args.append(":");
+            args.append(dhcpTo.getStartIpOfSubnet());
+            args.append("-");
         }
 
         try {
@@ -1320,7 +1327,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             for (; i < cmd.getIpAddresses().length; i++) {
                 results[i++] = IpAssocAnswer.errorResult;
             }
-            } catch (Throwable e) {
+        } catch (Throwable e) {
             s_logger.error("Unexpected exception: " + e.toString() + " will 
shortcut rest of IPAssoc commands", e);
 
             for (; i < cmd.getIpAddresses().length; i++) {
@@ -1335,14 +1342,12 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             final boolean sourceNat, final String vlanId, final String 
vlanGateway, final String vlanNetmask, final String vifMacAddress) throws 
Exception {
 
         boolean addVif = false;
-        boolean removeVif = false;
         if (add) {
             if (s_logger.isDebugEnabled()) {
                 s_logger.debug("Plug new NIC to associate" + privateIpAddress 
+ " to " + publicIpAddress);
             }
             addVif = true;
         } else if (!add && firstIP) {
-            removeVif = true;
         }
 
         String args = null;
@@ -1448,7 +1453,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
             s_logger.info("Executing resource NetworkUsageCommand "+ 
s_gson.toJson(cmd));
         }
         if(cmd.getOption()!=null && cmd.getOption().equals("create") ){
-            String result = networkUsage(cmd.getPrivateIP(), "create", null);
+            networkUsage(cmd.getPrivateIP(), "create", null);
             NetworkUsageAnswer answer = new NetworkUsageAnswer(cmd, "true", 
0L, 0L);
             return answer;
         }
@@ -1594,7 +1599,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
 
             // Unsupported commands will not route.
             if (response.getStatusLine().getStatusCode()
-                == HttpStatus.SC_NOT_FOUND) {
+                    == HttpStatus.SC_NOT_FOUND) {
                 String errMsg =
                         "Failed to send : HTTP error code : "
                                 + response.getStatusLine().getStatusCode();
@@ -1608,11 +1613,11 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
                 s_logger.error(ans);
                 result = s_gson.toJson(new Answer[] {ans});
             } else if (response.getStatusLine().getStatusCode()
-                != HttpStatus.SC_OK) {
+                    != HttpStatus.SC_OK) {
                 String errMsg =
                         "Failed send to " + agentUri.toString()
-                                + " : HTTP error code : "
-                                + response.getStatusLine().getStatusCode();
+                        + " : HTTP error code : "
+                        + response.getStatusLine().getStatusCode();
                 s_logger.error(errMsg);
                 return null;
             } else {
@@ -1707,7 +1712,7 @@ public class HypervDirectConnectResource extends 
ServerResourceBase implements S
                 sch.configureBlocking(true);
                 sch.socket().setSoTimeout(5000);
                 // we need to connect to the public ip address to check the 
status of the VM
-/*
+                /*
                 InetSocketAddress addr = new InetSocketAddress(ipAddress, 
port);
                 sch.connect(addr);*/
                 return null;

Reply via email to