incubator-cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h...@apache.org
Subject git commit: Summary: Begone pesky tabs
Date Tue, 15 Jan 2013 09:01:16 GMT
Updated Branches:
  refs/heads/cloud-agent-with-openvswitch f09d453ef -> 2d69a1855


Summary: Begone pesky tabs

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

Branch: refs/heads/cloud-agent-with-openvswitch
Commit: 2d69a1855de5110c57010e248f83d88607c668fe
Parents: f09d453
Author: Hugo Trippaers <trippie@gmail.com>
Authored: Tue Jan 15 10:00:58 2013 +0100
Committer: Hugo Trippaers <trippie@gmail.com>
Committed: Tue Jan 15 10:00:58 2013 +0100

----------------------------------------------------------------------
 .../hypervisor/kvm/resource/BridgeVifDriver.java   |    2 +-
 .../kvm/resource/LibvirtComputingResource.java     |   97 +++++++--------
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |   34 +++---
 .../hypervisor/kvm/resource/OvsVifDriver.java      |   46 ++++----
 .../kvm/storage/KVMStoragePoolManager.java         |    8 +-
 utils/src/com/cloud/utils/script/Script.java       |   88 +++++++-------
 6 files changed, 137 insertions(+), 138 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
index 031721e..3883c62 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
@@ -86,7 +86,7 @@ public class BridgeVifDriver extends VifDriverBase {
             vlanId = broadcastUri.getHost();
         }
         else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Lswitch) {
-        	throw new InternalErrorException("Nicira NVP Logicalswitches are not supported by
the BridgeVifDriver");
+            throw new InternalErrorException("Nicira NVP Logicalswitches are not supported
by the BridgeVifDriver");
         }
         String trafficLabel = nic.getName();
         if (nic.getType() == Networks.TrafficType.Guest) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 1474d11..03c5367 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -364,7 +364,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements
     private int _dom0MinMem;
     
     protected enum BridgeType {
-    	NATIVE, OPENVSWITCH
+        NATIVE, OPENVSWITCH
     }
 
     protected enum defineOps {
@@ -483,10 +483,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements
         
         String bridgeType = (String) params.get("network.bridge.type");
         if (bridgeType == null) {
-        	_bridgeType = BridgeType.NATIVE;
+            _bridgeType = BridgeType.NATIVE;
         }
         else {
-        	_bridgeType = BridgeType.valueOf(bridgeType.toUpperCase());
+            _bridgeType = BridgeType.valueOf(bridgeType.toUpperCase());
         }
 
         params.put("domr.scripts.dir", domrScriptsDir);
@@ -664,19 +664,18 @@ public class LibvirtComputingResource extends ServerResourceBase implements
 
         LibvirtConnection.initialize(_hypervisorURI);
         Connect conn = null;
-		try {
-			conn = LibvirtConnection.getConnection();
-
-			if (_bridgeType == BridgeType.OPENVSWITCH) {
-				if (conn.getLibVirVersion() < (9 * 1000 + 11)) {
-					throw new ConfigurationException(
-							"LibVirt version 0.9.11 required for openvswitch support, but version "
-									+ conn.getLibVirVersion() + " detected");
-				}
-			}
-		} catch (LibvirtException e) {
-			throw new CloudRuntimeException(e.getMessage());
-		}
+        try {
+            conn = LibvirtConnection.getConnection();
+
+            if (_bridgeType == BridgeType.OPENVSWITCH) {
+                if (conn.getLibVirVersion() < (9 * 1000 + 11)) {
+                    throw new ConfigurationException("LibVirt version 0.9.11 required for
openvswitch support, but version "
+                            + conn.getLibVirVersion() + " detected");
+                }
+            }
+        } catch (LibvirtException e) {
+            throw new CloudRuntimeException(e.getMessage());
+        }
 
         /* Does node support HVM guest? If not, exit */
         if (!IsHVMEnabled(conn)) {
@@ -720,14 +719,15 @@ public class LibvirtComputingResource extends ServerResourceBase implements
         }
 
         switch (_bridgeType) {
-        case NATIVE:
-    		getPifs();
-    		break;
         case OPENVSWITCH:
-        	getOvsPifs();
-        	break;
+            getOvsPifs();
+            break;
+        case NATIVE:
+        default:
+            getPifs();
+            break;
         }
-        
+
         if (_pifs.get("private") == null) {
             s_logger.debug("Failed to get private nic name");
             throw new ConfigurationException("Failed to get private nic name");
@@ -786,31 +786,29 @@ public class LibvirtComputingResource extends ServerResourceBase implements
         // Load the vif driver
         String vifDriverName = (String) params.get("libvirt.vif.driver");
         if (vifDriverName == null) {
-        	if (_bridgeType == BridgeType.OPENVSWITCH) {
-        		s_logger.info("No libvirt.vif.driver specififed. Defaults to OvsVifDriver.");
-        		vifDriverName = "com.cloud.hypervisor.kvm.resource.OvsVifDriver";
-        	}
-        	else {
-        		s_logger.info("No libvirt.vif.driver specififed. Defaults to BridgeVifDriver.");
-        		vifDriverName = "com.cloud.hypervisor.kvm.resource.BridgeVifDriver";
-        	}
+            if (_bridgeType == BridgeType.OPENVSWITCH) {
+                s_logger.info("No libvirt.vif.driver specififed. Defaults to OvsVifDriver.");
+                vifDriverName = "com.cloud.hypervisor.kvm.resource.OvsVifDriver";
+            } else {
+                s_logger.info("No libvirt.vif.driver specififed. Defaults to BridgeVifDriver.");
+                vifDriverName = "com.cloud.hypervisor.kvm.resource.BridgeVifDriver";
+            }
         }
 
         params.put("libvirt.computing.resource", (Object) this);
 
         try {
-        	Class<?> clazz = Class.forName(vifDriverName);
-        	_vifDriver = (VifDriver) clazz.newInstance();
-        	_vifDriver.configure(params);
+            Class<?> clazz = Class.forName(vifDriverName);
+            _vifDriver = (VifDriver) clazz.newInstance();
+            _vifDriver.configure(params);
         } catch (ClassNotFoundException e) {
-        	throw new ConfigurationException("Unable to find class for libvirt.vif.driver "
+ e);
+            throw new ConfigurationException("Unable to find class for libvirt.vif.driver
" + e);
         } catch (InstantiationException e) {
-        	throw new ConfigurationException("Unable to instantiate class for libvirt.vif.driver
" + e);
+            throw new ConfigurationException("Unable to instantiate class for libvirt.vif.driver
" + e);
         } catch (Exception e) {
-        	throw new ConfigurationException("Failed to initialize libvirt.vif.driver " + e);
+            throw new ConfigurationException("Failed to initialize libvirt.vif.driver " +
e);
         }
 
-
         return true;
     }
 
@@ -834,15 +832,16 @@ public class LibvirtComputingResource extends ServerResourceBase implements
     }
     
     private void getOvsPifs() {
-    	String cmdout = Script.runSimpleBashScript("ovs-vsctl list-br | sed '{:q;N;s/\\n/%/g;t
q}'");
+        String cmdout = Script.runSimpleBashScript("ovs-vsctl list-br | sed '{:q;N;s/\\n/%/g;t
q}'");
         s_logger.debug("cmdout was " + cmdout);
         List<String> bridges = Arrays.asList(cmdout.split("%"));
         for (String bridge : bridges) {
             s_logger.debug("looking for pif for bridge " + bridge);
-            //String pif = getOvsPif(bridge);
-            // Not really interested in the pif name at this point for ovs bridges
+            // String pif = getOvsPif(bridge);
+            // Not really interested in the pif name at this point for ovs
+            // bridges
             String pif = bridge;
-            if(_publicBridgeName != null && bridge.equals(_publicBridgeName)){
+            if (_publicBridgeName != null && bridge.equals(_publicBridgeName)) {
                 _pifs.put("public", pif);
             }
             if (_guestBridgeName != null && bridge.equals(_guestBridgeName)) {
@@ -850,7 +849,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements
             }
             _pifs.put(bridge, pif);
         }
-        s_logger.debug("done looking for pifs, no more bridges");    	
+        s_logger.debug("done looking for pifs, no more bridges");
     }
 
     private String getPif(String bridge) {
@@ -875,10 +874,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements
         }
 
         if (_bridgeType == BridgeType.OPENVSWITCH) {
-        	return checkOvsNetwork(networkName);
+            return checkOvsNetwork(networkName);
         }
         else {
-        	return checkBridgeNetwork(networkName);
+            return checkBridgeNetwork(networkName);
         }
     }
 
@@ -897,11 +896,11 @@ public class LibvirtComputingResource extends ServerResourceBase implements
     }
     
     private boolean checkOvsNetwork(String networkName) {
-    	s_logger.debug("Checking if network " + networkName + " exists as openvswitch bridge");
-    	if (networkName == null) {
-    		return true;
-    	}
-    	
+        s_logger.debug("Checking if network " + networkName + " exists as openvswitch bridge");
+        if (networkName == null) {
+            return true;
+        }
+
         Script command = new Script("/bin/sh", _timeout);
         command.add("-c");
         command.add("ovs-vsctl br-exists " + networkName);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
index df27778..c02d8fc 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java
@@ -700,27 +700,27 @@ public class LibvirtVMDef {
         }
         
         public void setVirtualPortType(String virtualPortType) {
-        	_virtualPortType = virtualPortType;
+            _virtualPortType = virtualPortType;
         }
-        
+
         public String getVirtualPortType() {
-        	return _virtualPortType;
+            return _virtualPortType;
         }
-        
+
         public void setVirtualPortInterfaceId(String virtualPortInterfaceId) {
-        	_virtualPortInterfaceId = virtualPortInterfaceId;
+            _virtualPortInterfaceId = virtualPortInterfaceId;
         }
-        
+
         public String getVirtualPortInterfaceId() {
-        	return _virtualPortInterfaceId;
+            return _virtualPortInterfaceId;
         }
-        
+
         public void setVlanTag(int vlanTag) {
-        	_vlanTag = vlanTag;
+            _vlanTag = vlanTag;
         }
-        
+
         public int getVlanTag() {
-        	return _vlanTag;
+            return _vlanTag;
         }
         
         @Override
@@ -742,14 +742,14 @@ public class LibvirtVMDef {
                 netBuilder.append("<model type='" + _model + "'/>\n");
             }
             if (_virtualPortType != null) {
-            	netBuilder.append("<virtualport type='" + _virtualPortType + "'>\n");
-            	if (_virtualPortInterfaceId != null) {
-            		netBuilder.append("<parameters interfaceid='" + _virtualPortInterfaceId
+ "'/>\n");
-            	}
-            	netBuilder.append("</virtualport>\n");
+                netBuilder.append("<virtualport type='" + _virtualPortType + "'>\n");
+                if (_virtualPortInterfaceId != null) {
+                    netBuilder.append("<parameters interfaceid='" + _virtualPortInterfaceId
+ "'/>\n");
+                }
+                netBuilder.append("</virtualport>\n");
             }
             if (_vlanTag != -1) {
-            	netBuilder.append("<vlan trunk='no'>\n<tag id='" + _vlanTag + "'/>\n</vlan>");
+                netBuilder.append("<vlan trunk='no'>\n<tag id='" + _vlanTag + "'/>\n</vlan>");
             }
             netBuilder.append("</interface>\n");
             return netBuilder.toString();

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
index 0ff05a9..04c29a8 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
@@ -36,16 +36,15 @@ import com.cloud.utils.script.OutputInterpreter;
 import com.cloud.utils.script.Script;
 
 public class OvsVifDriver extends VifDriverBase {
-    private static final Logger s_logger = Logger
-            .getLogger(OvsVifDriver.class);
+    private static final Logger s_logger = Logger.getLogger(OvsVifDriver.class);
     private int _timeout;
     private String _modifyVlanPath;
     
-	@Override
-	public void configure(Map<String, Object> params) throws ConfigurationException {
-		super.configure(params);
+    @Override
+    public void configure(Map<String, Object> params) throws ConfigurationException
{
+        super.configure(params);
 
-		String networkScriptsDir = (String) params.get("network.scripts.dir");
+        String networkScriptsDir = (String) params.get("network.scripts.dir");
         if (networkScriptsDir == null) {
             networkScriptsDir = "scripts/vm/network/vnet";
         }
@@ -58,12 +57,12 @@ public class OvsVifDriver extends VifDriverBase {
             throw new ConfigurationException("Unable to find modifyvlan.sh");
         }       
         
-        createControlNetwork(_bridges.get("linklocal"));		
-	}
-	
-	@Override
-	public InterfaceDef plug(NicTO nic, String guestOsType)
-			throws InternalErrorException, LibvirtException {
+        createControlNetwork(_bridges.get("linklocal"));
+    }
+
+    @Override
+    public InterfaceDef plug(NicTO nic, String guestOsType)
+            throws InternalErrorException, LibvirtException {
         s_logger.debug("plugging nic=" + nic);
 
         LibvirtVMDef.InterfaceDef intf = new LibvirtVMDef.InterfaceDef();
@@ -76,7 +75,7 @@ public class OvsVifDriver extends VifDriverBase {
             vlanId = broadcastUri.getHost();
         }
         else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Lswitch) {
-        	logicalSwitchUuid = nic.getBroadcastUri().getSchemeSpecificPart();
+            logicalSwitchUuid = nic.getBroadcastUri().getSchemeSpecificPart();
         }
         String trafficLabel = nic.getName();
         if (nic.getType() == Networks.TrafficType.Guest) {
@@ -91,11 +90,11 @@ public class OvsVifDriver extends VifDriverBase {
                     intf.setVlanTag(Integer.parseInt(vlanId));
                 }
             } else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Lswitch) {
-            	s_logger.debug("nic " + nic + " needs to be connected to LogicalSwitch " + logicalSwitchUuid);
-            	intf.setVirtualPortInterfaceId(nic.getUuid());
-            	String brName = (trafficLabel != null && !trafficLabel.isEmpty()) ?
_pifs.get(trafficLabel) : _pifs.get("private");
+                s_logger.debug("nic " + nic + " needs to be connected to LogicalSwitch "
+ logicalSwitchUuid);
+                intf.setVirtualPortInterfaceId(nic.getUuid());
+                String brName = (trafficLabel != null && !trafficLabel.isEmpty())
? _pifs.get(trafficLabel) : _pifs.get("private");
                 intf.defBridgeNet(brName, null, nic.getMac(), getGuestNicModel(guestOsType));
-            }	
+            }
             else {
                 intf.defBridgeNet(_bridges.get("guest"), null, nic.getMac(), getGuestNicModel(guestOsType));
             }
@@ -127,11 +126,11 @@ public class OvsVifDriver extends VifDriverBase {
         return intf;
     }
 
-	@Override
-	public void unplug(InterfaceDef iface) {
-		// Libvirt apparently takes care of this, see BridgeVifDriver unplug
-	}
-	
+    @Override
+    public void unplug(InterfaceDef iface) {
+        // Libvirt apparently takes care of this, see BridgeVifDriver unplug
+    }
+
     private String setVnetBrName(String pifName, String vnetId) {
         String brName = "br" + pifName + "-"+ vnetId;
         String oldStyleBrName = "cloudVirBr" + vnetId;
@@ -167,14 +166,13 @@ public class OvsVifDriver extends VifDriverBase {
                     NetUtils.getLinkLocalCIDR() + " dev " + linkLocalBr + " src " + NetUtils.getLinkLocalGateway());
         }
     }
-	
+
     private void createControlNetwork(String privBrName) {
         deleteExitingLinkLocalRoutTable(privBrName);
         if (!isBridgeExists(privBrName)) {
             Script.runSimpleBashScript("ovs-vsctl add-br " + privBrName + "; ifconfig " +
privBrName + " up; ifconfig " +
                     privBrName + " 169.254.0.1", _timeout);
         }
-
     }
 
     private boolean isBridgeExists(String bridgeName) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
index 1af2ed2..c2bfad9 100644
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStoragePoolManager.java
@@ -38,10 +38,10 @@ public class KVMStoragePoolManager {
     private final Map<String, StorageAdaptor> _storageMapper = new HashMap<String,
StorageAdaptor>();
 
     private StorageAdaptor getStorageAdaptor(StoragePoolType type) {
-    	// type can be null: LibVirtComputingResource:3238
-    	if (type == null) {
-    		return _storageMapper.get("libvirt");
-    	}
+        // type can be null: LibVirtComputingResource:3238
+        if (type == null) {
+            return _storageMapper.get("libvirt");
+        }
         StorageAdaptor adaptor = _storageMapper.get(type.toString());
         if (adaptor == null) {
             // LibvirtStorageAdaptor is selected by default

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2d69a185/utils/src/com/cloud/utils/script/Script.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/script/Script.java b/utils/src/com/cloud/utils/script/Script.java
index d82d1d0..1e5aab4 100755
--- a/utils/src/com/cloud/utils/script/Script.java
+++ b/utils/src/com/cloud/utils/script/Script.java
@@ -200,56 +200,58 @@ public class Script implements Callable<String> {
                 s_executors.execute(task);
             }
 
-			while (true) {
-				try {
-					if (_process.waitFor() == 0) {
-						_logger.debug("Execution is successful.");
-						if (interpreter != null) {
-							return interpreter.drain() ? task.getResult() : interpreter.interpret(ir);
-						}
-						else {
-							// null return is ok apparently
-							return (_process.exitValue() == 0) ? "Ok" : "Failed, exit code " + _process.exitValue();
-						}
-					} else {
-						break;
-					}
-				} catch (InterruptedException e) {
-					if (!_isTimeOut) {
-						/* This is not timeout, we are interrupted by others, continue */
-						_logger.debug("We are interrupted but it's not a timeout, just continue");
-						continue;
-					}
-					
-					TimedOutLogger log = new TimedOutLogger(_process);
-					Task timedoutTask = new Task(log, ir);
-
-					timedoutTask.run();
-					if (!_passwordCommand) {
-						_logger.warn("Timed out: " + buildCommandLine(command) + ".  Output is: " + timedoutTask.getResult());
-					} else {
-						_logger.warn("Timed out: " + buildCommandLine(command));
-					}
-
-					return ERR_TIMEOUT;
-				} finally {
-					if (future != null) {
-						future.cancel(false);
-					}
-					Thread.interrupted();
-				}
-			}
-
-			_logger.debug("Exit value is " + _process.exitValue());
+            while (true) {
+                try {
+                    if (_process.waitFor() == 0) {
+                        _logger.debug("Execution is successful.");
+                        if (interpreter != null) {
+                            return interpreter.drain() ? task.getResult() : interpreter.interpret(ir);
+                        } else {
+                            // null return is ok apparently
+                            return (_process.exitValue() == 0) ? "Ok" : "Failed, exit code
" + _process.exitValue();
+                        }
+                    } else {
+                        break;
+                    }
+                } catch (InterruptedException e) {
+                    if (!_isTimeOut) {
+                        /*
+                         * This is not timeout, we are interrupted by others,
+                         * continue
+                         */
+                        _logger.debug("We are interrupted but it's not a timeout, just continue");
+                        continue;
+                    }
+
+                    TimedOutLogger log = new TimedOutLogger(_process);
+                    Task timedoutTask = new Task(log, ir);
+
+                    timedoutTask.run();
+                    if (!_passwordCommand) {
+                        _logger.warn("Timed out: " + buildCommandLine(command) + ".  Output
is: " + timedoutTask.getResult());
+                    } else {
+                        _logger.warn("Timed out: " + buildCommandLine(command));
+                    }
+
+                    return ERR_TIMEOUT;
+                } finally {
+                    if (future != null) {
+                        future.cancel(false);
+                    }
+                    Thread.interrupted();
+                }
+            }
+
+            _logger.debug("Exit value is " + _process.exitValue());
 
             BufferedReader reader = new BufferedReader(new InputStreamReader(_process.getInputStream()),
128);
 
             String error;
             if (interpreter != null) {
-            	error = interpreter.processError(reader);
+                error = interpreter.processError(reader);
             }
             else {
-            	error = "Non zero exit code : " + _process.exitValue();
+                error = "Non zero exit code : " + _process.exitValue();
             }
             
             if (_logger.isDebugEnabled()) {


Mime
View raw message