You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2014/01/02 13:40:53 UTC

git commit: updated refs/heads/master to c024a93

Updated Branches:
  refs/heads/master 50c2119a8 -> c024a9382


Commit 3a999e7 changed the return values for the Script.execute function, this introduced a bug in the openvswitch bridge detection code.


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

Branch: refs/heads/master
Commit: c024a9382689604d7738a9424d680bc9b3ff6793
Parents: 50c2119
Author: Hugo Trippaers <ht...@schubergphilis.com>
Authored: Thu Jan 2 11:37:16 2014 +0100
Committer: Hugo Trippaers <ht...@schubergphilis.com>
Committed: Thu Jan 2 13:40:06 2014 +0100

----------------------------------------------------------------------
 .../kvm/resource/LibvirtComputingResource.java  | 138 +++++++++----------
 1 file changed, 68 insertions(+), 70 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c024a938/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 b3deb55..6b13ccb 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
@@ -356,7 +356,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     }
 
     protected static final MessageFormat SnapshotXML = new MessageFormat("   <domainsnapshot>" + "       <name>{0}</name>" + "          <domain>"
-        + "            <uuid>{1}</uuid>" + "        </domain>" + "    </domainsnapshot>");
+            + "            <uuid>{1}</uuid>" + "        </domain>" + "    </domainsnapshot>");
 
     protected HypervisorType _hypervisorType;
     protected String _hypervisorURI;
@@ -745,7 +745,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             /* Does node support HVM guest? If not, exit */
             if (!IsHVMEnabled(conn)) {
                 throw new ConfigurationException("NO HVM support on this machine, please make sure: " + "1. VT/SVM is supported by your CPU, or is enabled in BIOS. "
-                    + "2. kvm modules are loaded (kvm, kvm_amd|kvm_intel)");
+                        + "2. kvm modules are loaded (kvm, kvm_amd|kvm_intel)");
             }
         }
 
@@ -765,7 +765,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
 
             if (_hypervisorLibvirtVersion < (9 * 1000 + 10)) {
                 s_logger.warn("LibVirt version 0.9.10 required for guest cpu mode, but version " + prettyVersion(_hypervisorLibvirtVersion) +
-                    " detected, so it will be disabled");
+                        " detected, so it will be disabled");
                 _guestCpuMode = "";
                 _guestCpuModel = "";
             }
@@ -796,13 +796,13 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         }
 
         switch (_bridgeType) {
-            case OPENVSWITCH:
-                getOvsPifs();
-                break;
-            case NATIVE:
-            default:
-                getPifs();
-                break;
+        case OPENVSWITCH:
+            getOvsPifs();
+            break;
+        case NATIVE:
+        default:
+            getPifs();
+            break;
         }
 
         if (_pifs.get("private") == null) {
@@ -1054,7 +1054,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             String fname = interfaces[i].getName();
             s_logger.debug("matchPifFileInDirectory: file name '" + fname + "'");
             if (fname.startsWith("eth") || fname.startsWith("bond") || fname.startsWith("vlan") || fname.startsWith("vx") || fname.startsWith("em") ||
-                fname.matches("^p\\d+p\\d+.*")) {
+                    fname.matches("^p\\d+p\\d+.*")) {
                 return fname;
             }
         }
@@ -1099,7 +1099,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         command.add("-c");
         command.add("ovs-vsctl br-exists " + networkName);
         String result = command.execute(null);
-        if ("Ok".equals(result)) {
+        if ("0".equals(result)) {
             return true;
         } else {
             return false;
@@ -1141,7 +1141,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
 
                 This also makes sure we never have any old "garbage" defined
                 in libvirt which might haunt us.
-            */
+             */
 
             // check for existing inactive vm definition and remove it
             // this can sometimes happen during crashes, etc
@@ -1322,12 +1322,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             String mask = Script.runSimpleBashScript("ifconfig " + label + " | grep 'inet addr:' | cut -d: -f4");
             String mac = Script.runSimpleBashScript("ifconfig " + label + " | grep HWaddr | awk -F \" \" '{print $5}'");
             return new OvsFetchInterfaceAnswer(cmd, true, "Interface " + label
-                + " retrieved successfully", ipadd, mask, mac);
+                    + " retrieved successfully", ipadd, mask, mac);
 
         } catch (Exception e) {
             s_logger.warn("Caught execption when fetching interface", e);
             return new OvsFetchInterfaceAnswer(cmd, false, "EXCEPTION:"
-                + e.getMessage());
+                    + e.getMessage());
         }
 
     }
@@ -1335,7 +1335,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     private Answer execute(OvsSetupBridgeCommand cmd) {
         findOrCreateTunnelNetwork(cmd.getKey());
         configureTunnelNetwork(cmd.getNetworkId(), cmd.getHostId(),
-            cmd.getKey());
+                cmd.getKey());
         s_logger.debug("OVS Bridge configured");
         return new Answer(cmd, true, null);
     }
@@ -1378,8 +1378,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             Map<String, String> otherConfig = new HashMap<String, String>();
             otherConfig.put("ovs-host-setup", "");
             Script.runSimpleBashScript("ovs-vsctl -- --may-exist add-br "
-                + nwName + " -- set bridge " + nwName
-                + " other_config:ovs_host_setup='-1'");
+                    + nwName + " -- set bridge " + nwName
+                    + " other_config:ovs_host_setup='-1'");
             s_logger.debug("### KVM network for tunnels created:" + nwName);
         } catch (Exception e) {
             s_logger.warn("createTunnelNetwork failed", e);
@@ -1388,13 +1388,13 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     }
 
     private synchronized boolean configureTunnelNetwork(long networkId,
-        long hostId, int key) {
+            long hostId, int key) {
         try {
             findOrCreateTunnelNetwork(key);
             String nwName = "OVSTunnel" + key;
             String configuredHosts = Script
-                .runSimpleBashScript("ovs-vsctl get bridge " + nwName
-                    + " other_config:ovs_host_setup");
+                    .runSimpleBashScript("ovs-vsctl get bridge " + nwName
+                            + " other_config:ovs_host_setup");
             boolean configured = false;
             if (configuredHosts != null) {
                 String hostIdsStr[] = configuredHosts.split(",");
@@ -1414,7 +1414,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 String result = cmd.execute();
                 if (result != null) {
                     throw new CloudRuntimeException(
-                        "Unable to pre-configure OVS bridge " + nwName
+                            "Unable to pre-configure OVS bridge " + nwName
                             + " for network ID:" + networkId);
                 }
             }
@@ -1431,11 +1431,11 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
                 s_logger.debug("Error during bridge setup");
                 return new OvsCreateTunnelAnswer(cmd, false,
-                    "Cannot create network", bridge);
+                        "Cannot create network", bridge);
             }
 
             configureTunnelNetwork(cmd.getNetworkId(), cmd.getFrom(),
-                cmd.getKey());
+                    cmd.getKey());
             Script command = new Script(_ovsTunnelPath, _timeout, s_logger);
             command.add("create_tunnel");
             command.add("--bridge", bridge);
@@ -1447,7 +1447,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             String result = command.execute();
             if (result != null) {
                 return new OvsCreateTunnelAnswer(cmd, true, result, null,
-                    bridge);
+                        bridge);
             } else {
                 return new OvsCreateTunnelAnswer(cmd, false, result, bridge);
             }
@@ -1462,7 +1462,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         try {
             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
                 s_logger.warn("Unable to find tunnel network for GRE key:"
-                    + cmd.getKey());
+                        + cmd.getKey());
                 return new Answer(cmd, false, "No network found");
             }
 
@@ -1513,7 +1513,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
              It COULD also do it the other way around, but the code in the ManagementServerImpl shows
              that it always sets copyToSecondary to true
 
-          */
+         */
         boolean copyToSecondary = cmd.toSecondaryStorage();
         String volumePath = cmd.getVolumePath();
         StorageFilerTO pool = cmd.getPool();
@@ -1526,8 +1526,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             } catch (CloudRuntimeException e) {
                 if (e.getMessage().contains("not found")) {
                     primaryPool =
-                        _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
-                            cmd.getPool().getUserInfo(), cmd.getPool().getType());
+                            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
+                                    cmd.getPool().getUserInfo(), cmd.getPool().getType());
                 } else {
                     return new CopyVolumeAnswer(cmd, false, e.getMessage(), null, null);
                 }
@@ -1641,7 +1641,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 vol = primaryPool.createPhysicalDisk(dskch.getPath(), dskch.getSize());
             }
             VolumeTO volume =
-                new VolumeTO(cmd.getVolumeId(), dskch.getType(), pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(), vol.getName(), disksize, null);
+                    new VolumeTO(cmd.getVolumeId(), dskch.getType(), pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(), vol.getName(), disksize, null);
             volume.setBytesReadRate(dskch.getBytesReadRate());
             volume.setBytesWriteRate(dskch.getBytesWriteRate());
             volume.setIopsReadRate(dskch.getIopsReadRate());
@@ -1710,7 +1710,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         if (pool.getType() == StoragePoolType.CLVM && volFormat == PhysicalDiskFormat.RAW) {
             return "CLVM";
         } else if ((poolType == StoragePoolType.NetworkFilesystem || poolType == StoragePoolType.SharedMountPoint || poolType == StoragePoolType.Filesystem) &&
-            volFormat == PhysicalDiskFormat.QCOW2) {
+                volFormat == PhysicalDiskFormat.QCOW2) {
             return "QCOW2";
         }
         return null;
@@ -1770,7 +1770,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 }
 
                 s_logger.debug("got to the stage where we execute the volume resize, params:" + path + "," + currentSize + "," + newSize + "," + type + "," +
-                    vmInstanceName + "," + shrinkOk);
+                        vmInstanceName + "," + shrinkOk);
                 final Script resizecmd = new Script(_resizeVolumePath, _cmdsTimeout, s_logger);
                 resizecmd.add("-s", String.valueOf(newSize));
                 resizecmd.add("-c", String.valueOf(currentSize));
@@ -1826,7 +1826,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 } else {
                     //untagged or not matching (eth|bond)#.#
                     s_logger.debug("failed to get vNet id from bridge " + brName
-                           + "attached to physical interface" + pif + ", perhaps untagged interface");
+                            + "attached to physical interface" + pif + ", perhaps untagged interface");
                     return "";
                 }
             }
@@ -1862,7 +1862,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                     List<InterfaceDef> ifaces = getInterfaces(conn, dhcpName);
                     InterfaceDef guestNic = ifaces.get(0);
                     script.add(opr, "-b", _guestBridgeName, "-p", primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m", dhcpMac, "-I",
-                        guestNic.getDevName());
+                            guestNic.getDevName());
                 } else {
                     script.add(opr, "-b", _guestBridgeName, "-p", primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m", dhcpMac);
                 }
@@ -2103,7 +2103,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 } else if (pluggedVlanId == null) {
                     /*this should only be true in the case of link local bridge*/
                     return new SetSourceNatAnswer(cmd, false, "unable to find the vlan id for bridge " + pluggedVlanBr + " when attempting to set up" + pubVlan +
-                        " on router " + routerName);
+                            " on router " + routerName);
                 } else if (pluggedVlanId.equals(pubVlan)) {
                     break;
                 }
@@ -2143,7 +2143,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 if (pluggedVlan.equalsIgnoreCase(_linkLocalBridgeName)) {
                     broadcastUriToNicNum.put("LinkLocal", devNum);
                 } else if (pluggedVlan.equalsIgnoreCase(_publicBridgeName) || pluggedVlan.equalsIgnoreCase(_privBridgeName) ||
-                    pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
+                        pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
                     broadcastUriToNicNum.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(), devNum);
                 } else {
                     broadcastUriToNicNum.put(getBroadcastUriFromBridge(pluggedVlan), devNum);
@@ -2188,7 +2188,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                     broadcastUriAllocatedToVM.put("LinkLocal", nicPos);
                 } else {
                     if (nic.getBrName().equalsIgnoreCase(_publicBridgeName) || nic.getBrName().equalsIgnoreCase(_privBridgeName) ||
-                        nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
+                            nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
                         broadcastUriAllocatedToVM.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(), nicPos);
                     } else {
                         String broadcastUri = getBroadcastUriFromBridge(nic.getBrName());
@@ -2212,8 +2212,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 nicNum = broadcastUriAllocatedToVM.get(ip.getBroadcastUri());
                 networkUsage(routerIp, "addVif", "eth" + nicNum);
                 result =
-                    _virtRouterResource.assignPublicIpAddress(routerName, routerIp, ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(), ip.getBroadcastUri(),
-                        ip.getVlanGateway(), ip.getVlanNetmask(), ip.getVifMacAddress(), nicNum, newNic);
+                        _virtRouterResource.assignPublicIpAddress(routerName, routerIp, ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(), ip.getBroadcastUri(),
+                                ip.getVlanGateway(), ip.getVlanNetmask(), ip.getVifMacAddress(), nicNum, newNic);
 
                 if (result == null) {
                     results[i++] = ip.getPublicIp() + " - success";
@@ -2378,8 +2378,6 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                     Rbd rbd = new Rbd(io);
                     RbdImage image = rbd.open(snapshotDisk.getName(), snapshotName);
 
-                    long startTime = System.currentTimeMillis() / 1000;
-
                     File fh = new File(snapshotDestPath);
                     BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fh));
                     int chunkSize = 4194304;
@@ -2582,8 +2580,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             } catch (CloudRuntimeException e) {
                 if (e.getMessage().contains("not found")) {
                     primary =
-                        _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
-                            cmd.getPool().getUserInfo(), cmd.getPool().getType());
+                            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
+                                    cmd.getPool().getUserInfo(), cmd.getPool().getType());
                 } else {
                     return new CreatePrivateTemplateAnswer(cmd, false, e.getMessage());
                 }
@@ -2609,8 +2607,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 s_logger.debug("Converting RBD disk " + disk.getPath() + " into template " + cmd.getUniqueName());
 
                 QemuImgFile srcFile =
-                    new QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(), primary.getSourcePort(), primary.getAuthUserName(),
-                        primary.getAuthSecret(), disk.getPath()));
+                        new QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(), primary.getSourcePort(), primary.getAuthUserName(),
+                                primary.getAuthSecret(), disk.getPath()));
                 srcFile.setFormat(PhysicalDiskFormat.RAW);
 
                 QemuImgFile destFile = new QemuImgFile(tmpltPath + "/" + cmd.getUniqueName() + ".qcow2");
@@ -2621,7 +2619,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                     q.convert(srcFile, destFile);
                 } catch (QemuImgException e) {
                     s_logger.error("Failed to create new template while converting " + srcFile.getFileName() + " to " + destFile.getFileName() + " the error was: " +
-                        e.getMessage());
+                            e.getMessage());
                 }
 
                 File templateProp = new File(tmpltPath + "/template.properties");
@@ -2655,7 +2653,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             loc.save();
 
             return new CreatePrivateTemplateAnswer(cmd, true, null, templateInstallFolder + cmd.getUniqueName() + ".qcow2", info.virtualSize, info.size,
-                cmd.getUniqueName(), ImageFormat.QCOW2);
+                    cmd.getUniqueName(), ImageFormat.QCOW2);
         } catch (InternalErrorException e) {
             return new CreatePrivateTemplateAnswer(cmd, false, e.toString());
         } catch (IOException e) {
@@ -2726,8 +2724,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
 
     protected Answer execute(ModifyStoragePoolCommand cmd) {
         KVMStoragePool storagepool =
-            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(), cmd.getPool()
-                .getUserInfo(), cmd.getPool().getType());
+                _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(), cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(), cmd.getPool()
+                        .getUserInfo(), cmd.getPool().getType());
         if (storagepool == null) {
             return new Answer(cmd, false, " Failed to create storage pool");
         }
@@ -2751,15 +2749,15 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         }
 
         boolean result =
-            add_network_rules(cmd.getVmName(), Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(), Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
-                cmd.stringifyRules(), vif, brname, cmd.getSecIpsString());
+                add_network_rules(cmd.getVmName(), Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(), Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
+                        cmd.stringifyRules(), vif, brname, cmd.getSecIpsString());
 
         if (!result) {
             s_logger.warn("Failed to program network rules for vm " + cmd.getVmName());
             return new SecurityGroupRuleAnswer(cmd, false, "programming network rules failed");
         } else {
             s_logger.debug("Programmed network rules for vm " + cmd.getVmName() + " guestIp=" + cmd.getGuestIp() + ",ingress numrules=" + cmd.getIngressRuleSet().length +
-                ",egress numrules=" + cmd.getEgressRuleSet().length);
+                    ",egress numrules=" + cmd.getEgressRuleSet().length);
             return new SecurityGroupRuleAnswer(cmd);
         }
     }
@@ -2850,8 +2848,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
             KVMStoragePool primary = _storagePoolMgr.getStoragePool(cmd.getPooltype(), cmd.getPoolUuid());
             KVMPhysicalDisk disk = primary.getPhysicalDisk(cmd.getVolumePath());
             attachOrDetachDisk(conn, cmd.getAttach(), cmd.getVmName(), disk,
-                cmd.getDeviceId().intValue(), cmd.getBytesReadRate(), cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
-                cmd.getCacheMode());
+                    cmd.getDeviceId().intValue(), cmd.getBytesReadRate(), cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
+                    cmd.getCacheMode());
         } catch (LibvirtException e) {
             return new AttachVolumeAnswer(cmd, e.toString());
         } catch (InternalErrorException e) {
@@ -2985,7 +2983,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 description for the instance to be used on the target host.
 
                 This is supported by libvirt-java from version 0.50.0
-            */
+             */
             xmlDesc = dm.getXMLDesc(0).replace(_privateIp, cmd.getDestinationIp());
 
             dconn = new Connect("qemu+tcp://" + cmd.getDestinationIp() + "/system");
@@ -3768,7 +3766,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                             we pass the pool's UUID as the authSecret
                      */
                     disk.defNetworkBasedDisk(physicalDisk.getPath().replace("rbd:", ""), pool.getSourceHost(), pool.getSourcePort(), pool.getAuthUserName(),
-                        pool.getUuid(), devId, diskBusType, diskProtocol.RBD);
+                            pool.getUuid(), devId, diskBusType, diskProtocol.RBD);
                 } else if (pool.getType() == StoragePoolType.CLVM || physicalDisk.getFormat() == PhysicalDiskFormat.RAW) {
                     disk.defBlockBasedDisk(physicalDisk.getPath(), devId, diskBusType);
                 } else {
@@ -3864,7 +3862,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     }
 
     protected synchronized String attachOrDetachISO(Connect conn, String vmName, String isoPath, boolean isAttach) throws LibvirtException, URISyntaxException,
-        InternalErrorException {
+    InternalErrorException {
         String isoXml = null;
         if (isoPath != null && isAttach) {
             int index = isoPath.lastIndexOf("/");
@@ -3897,8 +3895,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     }
 
     protected synchronized String attachOrDetachDisk(Connect conn,
-        boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
-        int devId, Long bytesReadRate, Long bytesWriteRate, Long iopsReadRate, Long iopsWriteRate, String cacheMode) throws LibvirtException, InternalErrorException {
+            boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
+            int devId, Long bytesReadRate, Long bytesWriteRate, Long iopsReadRate, Long iopsWriteRate, String cacheMode) throws LibvirtException, InternalErrorException {
         List<DiskDef> disks = null;
         Domain dm = null;
         DiskDef diskdef = null;
@@ -3925,7 +3923,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
                 diskdef = new DiskDef();
                 if (attachingPool.getType() == StoragePoolType.RBD) {
                     diskdef.defNetworkBasedDisk(attachingDisk.getPath(), attachingPool.getSourceHost(), attachingPool.getSourcePort(), attachingPool.getAuthUserName(),
-                        attachingPool.getUuid(), devId, DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
+                            attachingPool.getUuid(), devId, DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
                 } else if (attachingDisk.getFormat() == PhysicalDiskFormat.QCOW2) {
                     diskdef.defFileBasedDisk(attachingDisk.getPath(), devId, DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
                 } else if (attachingDisk.getFormat() == PhysicalDiskFormat.RAW) {
@@ -4025,8 +4023,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         final List<Object> info = getHostInfo();
 
         final StartupRoutingCommand cmd =
-            new StartupRoutingCommand((Integer)info.get(0), (Long)info.get(1), (Long)info.get(2), (Long)info.get(4), (String)info.get(3), _hypervisorType,
-                RouterPrivateIpStrategy.HostLocal);
+                new StartupRoutingCommand((Integer)info.get(0), (Long)info.get(1), (Long)info.get(2), (Long)info.get(4), (String)info.get(3), _hypervisorType,
+                        RouterPrivateIpStrategy.HostLocal);
         cmd.setStateChanges(changes);
         cmd.setCpuSockets((Integer)info.get(5));
         fillNetworkInformation(cmd);
@@ -4042,8 +4040,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
 
             KVMStoragePool localStoragePool = _storagePoolMgr.createStoragePool(_localStorageUUID, "localhost", -1, _localStoragePath, "", StoragePoolType.Filesystem);
             com.cloud.agent.api.StoragePoolInfo pi =
-                new com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(), cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
-                    StoragePoolType.Filesystem, localStoragePool.getCapacity(), localStoragePool.getAvailable());
+                    new com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(), cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
+                            StoragePoolType.Filesystem, localStoragePool.getCapacity(), localStoragePool.getAvailable());
 
             sscmd = new StartupStorageCommand();
             sscmd.setPoolInfo(pi);
@@ -4723,11 +4721,11 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         }
         String guestOSName = KVMGuestOsMapper.getGuestOsName(guestOS);
         if (guestOS.startsWith("Ubuntu") || guestOSName.startsWith("Fedora 13") || guestOSName.startsWith("Fedora 12") || guestOSName.startsWith("Fedora 11") ||
-            guestOSName.startsWith("Fedora 10") || guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3") || guestOSName.startsWith("CentOS 5.4") ||
-            guestOSName.startsWith("CentOS 5.5") || guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
-            guestOSName.startsWith("Red Hat Enterprise Linux 5.3") || guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
-            guestOSName.startsWith("Red Hat Enterprise Linux 5.5") || guestOSName.startsWith("Red Hat Enterprise Linux 6") || guestOS.startsWith("Debian GNU/Linux") ||
-            guestOSName.startsWith("Other PV")) {
+                guestOSName.startsWith("Fedora 10") || guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3") || guestOSName.startsWith("CentOS 5.4") ||
+                guestOSName.startsWith("CentOS 5.5") || guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
+                guestOSName.startsWith("Red Hat Enterprise Linux 5.3") || guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
+                guestOSName.startsWith("Red Hat Enterprise Linux 5.5") || guestOSName.startsWith("Red Hat Enterprise Linux 6") || guestOS.startsWith("Debian GNU/Linux") ||
+                guestOSName.startsWith("Other PV")) {
             return true;
         } else {
             return false;
@@ -5073,7 +5071,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
     }
 
     private boolean add_network_rules(String vmName, String vmId, String guestIP, String sig, String seq, String mac, String rules, String vif, String brname,
-        String secIps) {
+            String secIps) {
         if (!_canBridgeFirewall) {
             return false;
         }


Re: git commit: updated refs/heads/master to c024a93

Posted by Wei ZHOU <us...@gmail.com>.
yes. We need to change "Ok" to "0".


2014/1/2 Hugo Trippaers <hu...@trippaers.nl>

> Hey Wei,
>
> Thanks for checking, just pushed the fix for OvsVifDriver as well. I
> didn’t check the 4.2 branch yet for this bug, did you?
>
> Cheers,
>
> Hugo
>
> On 2 jan. 2014, at 14:10, Wei ZHOU <us...@gmail.com> wrote:
>
> > Hugo,
> >
> > Thanks for your commit to fix my mistake.
> >
> > I checked the source codes just now, it looks
> >
> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
> > also need to be changed.
> > And, these commits also need to be cherry-picked to 4.2 branch, right?
> >
> > -Wei
> >
> >
> > 2014/1/2 <hu...@apache.org>
> >
> >> Updated Branches:
> >>  refs/heads/master 50c2119a8 -> c024a9382
> >>
> >>
> >> Commit 3a999e7 changed the return values for the Script.execute
> function,
> >> this introduced a bug in the openvswitch bridge detection code.
> >>
> >>
> >> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
> >> Commit:
> http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c024a938
> >> Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c024a938
> >> Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c024a938
> >>
> >> Branch: refs/heads/master
> >> Commit: c024a9382689604d7738a9424d680bc9b3ff6793
> >> Parents: 50c2119
> >> Author: Hugo Trippaers <ht...@schubergphilis.com>
> >> Authored: Thu Jan 2 11:37:16 2014 +0100
> >> Committer: Hugo Trippaers <ht...@schubergphilis.com>
> >> Committed: Thu Jan 2 13:40:06 2014 +0100
> >>
> >> ----------------------------------------------------------------------
> >> .../kvm/resource/LibvirtComputingResource.java  | 138
> +++++++++----------
> >> 1 file changed, 68 insertions(+), 70 deletions(-)
> >> ----------------------------------------------------------------------
> >>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c024a938/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 b3deb55..6b13ccb 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
> >> @@ -356,7 +356,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     }
> >>
> >>     protected static final MessageFormat SnapshotXML = new
> >> MessageFormat("   <domainsnapshot>" + "       <name>{0}</name>" + "
> >> <domain>"
> >> -        + "            <uuid>{1}</uuid>" + "        </domain>" + "
> >> </domainsnapshot>");
> >> +            + "            <uuid>{1}</uuid>" + "        </domain>" + "
> >> </domainsnapshot>");
> >>
> >>     protected HypervisorType _hypervisorType;
> >>     protected String _hypervisorURI;
> >> @@ -745,7 +745,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             /* Does node support HVM guest? If not, exit */
> >>             if (!IsHVMEnabled(conn)) {
> >>                 throw new ConfigurationException("NO HVM support on this
> >> machine, please make sure: " + "1. VT/SVM is supported by your CPU, or
> is
> >> enabled in BIOS. "
> >> -                    + "2. kvm modules are loaded (kvm,
> >> kvm_amd|kvm_intel)");
> >> +                        + "2. kvm modules are loaded (kvm,
> >> kvm_amd|kvm_intel)");
> >>             }
> >>         }
> >>
> >> @@ -765,7 +765,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>
> >>             if (_hypervisorLibvirtVersion < (9 * 1000 + 10)) {
> >>                 s_logger.warn("LibVirt version 0.9.10 required for guest
> >> cpu mode, but version " + prettyVersion(_hypervisorLibvirtVersion) +
> >> -                    " detected, so it will be disabled");
> >> +                        " detected, so it will be disabled");
> >>                 _guestCpuMode = "";
> >>                 _guestCpuModel = "";
> >>             }
> >> @@ -796,13 +796,13 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         }
> >>
> >>         switch (_bridgeType) {
> >> -            case OPENVSWITCH:
> >> -                getOvsPifs();
> >> -                break;
> >> -            case NATIVE:
> >> -            default:
> >> -                getPifs();
> >> -                break;
> >> +        case OPENVSWITCH:
> >> +            getOvsPifs();
> >> +            break;
> >> +        case NATIVE:
> >> +        default:
> >> +            getPifs();
> >> +            break;
> >>         }
> >>
> >>         if (_pifs.get("private") == null) {
> >> @@ -1054,7 +1054,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             String fname = interfaces[i].getName();
> >>             s_logger.debug("matchPifFileInDirectory: file name '" +
> fname
> >> + "'");
> >>             if (fname.startsWith("eth") || fname.startsWith("bond") ||
> >> fname.startsWith("vlan") || fname.startsWith("vx") ||
> >> fname.startsWith("em") ||
> >> -                fname.matches("^p\\d+p\\d+.*")) {
> >> +                    fname.matches("^p\\d+p\\d+.*")) {
> >>                 return fname;
> >>             }
> >>         }
> >> @@ -1099,7 +1099,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         command.add("-c");
> >>         command.add("ovs-vsctl br-exists " + networkName);
> >>         String result = command.execute(null);
> >> -        if ("Ok".equals(result)) {
> >> +        if ("0".equals(result)) {
> >>             return true;
> >>         } else {
> >>             return false;
> >> @@ -1141,7 +1141,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>
> >>                 This also makes sure we never have any old "garbage"
> >> defined
> >>                 in libvirt which might haunt us.
> >> -            */
> >> +             */
> >>
> >>             // check for existing inactive vm definition and remove it
> >>             // this can sometimes happen during crashes, etc
> >> @@ -1322,12 +1322,12 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             String mask = Script.runSimpleBashScript("ifconfig " + label
> >> + " | grep 'inet addr:' | cut -d: -f4");
> >>             String mac = Script.runSimpleBashScript("ifconfig " + label
> +
> >> " | grep HWaddr | awk -F \" \" '{print $5}'");
> >>             return new OvsFetchInterfaceAnswer(cmd, true, "Interface " +
> >> label
> >> -                + " retrieved successfully", ipadd, mask, mac);
> >> +                    + " retrieved successfully", ipadd, mask, mac);
> >>
> >>         } catch (Exception e) {
> >>             s_logger.warn("Caught execption when fetching interface",
> e);
> >>             return new OvsFetchInterfaceAnswer(cmd, false, "EXCEPTION:"
> >> -                + e.getMessage());
> >> +                    + e.getMessage());
> >>         }
> >>
> >>     }
> >> @@ -1335,7 +1335,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     private Answer execute(OvsSetupBridgeCommand cmd) {
> >>         findOrCreateTunnelNetwork(cmd.getKey());
> >>         configureTunnelNetwork(cmd.getNetworkId(), cmd.getHostId(),
> >> -            cmd.getKey());
> >> +                cmd.getKey());
> >>         s_logger.debug("OVS Bridge configured");
> >>         return new Answer(cmd, true, null);
> >>     }
> >> @@ -1378,8 +1378,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             Map<String, String> otherConfig = new HashMap<String,
> >> String>();
> >>             otherConfig.put("ovs-host-setup", "");
> >>             Script.runSimpleBashScript("ovs-vsctl -- --may-exist add-br
> "
> >> -                + nwName + " -- set bridge " + nwName
> >> -                + " other_config:ovs_host_setup='-1'");
> >> +                    + nwName + " -- set bridge " + nwName
> >> +                    + " other_config:ovs_host_setup='-1'");
> >>             s_logger.debug("### KVM network for tunnels created:" +
> >> nwName);
> >>         } catch (Exception e) {
> >>             s_logger.warn("createTunnelNetwork failed", e);
> >> @@ -1388,13 +1388,13 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     }
> >>
> >>     private synchronized boolean configureTunnelNetwork(long networkId,
> >> -        long hostId, int key) {
> >> +            long hostId, int key) {
> >>         try {
> >>             findOrCreateTunnelNetwork(key);
> >>             String nwName = "OVSTunnel" + key;
> >>             String configuredHosts = Script
> >> -                .runSimpleBashScript("ovs-vsctl get bridge " + nwName
> >> -                    + " other_config:ovs_host_setup");
> >> +                    .runSimpleBashScript("ovs-vsctl get bridge " +
> nwName
> >> +                            + " other_config:ovs_host_setup");
> >>             boolean configured = false;
> >>             if (configuredHosts != null) {
> >>                 String hostIdsStr[] = configuredHosts.split(",");
> >> @@ -1414,7 +1414,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 String result = cmd.execute();
> >>                 if (result != null) {
> >>                     throw new CloudRuntimeException(
> >> -                        "Unable to pre-configure OVS bridge " + nwName
> >> +                            "Unable to pre-configure OVS bridge " +
> nwName
> >>                             + " for network ID:" + networkId);
> >>                 }
> >>             }
> >> @@ -1431,11 +1431,11 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
> >>                 s_logger.debug("Error during bridge setup");
> >>                 return new OvsCreateTunnelAnswer(cmd, false,
> >> -                    "Cannot create network", bridge);
> >> +                        "Cannot create network", bridge);
> >>             }
> >>
> >>             configureTunnelNetwork(cmd.getNetworkId(), cmd.getFrom(),
> >> -                cmd.getKey());
> >> +                    cmd.getKey());
> >>             Script command = new Script(_ovsTunnelPath, _timeout,
> >> s_logger);
> >>             command.add("create_tunnel");
> >>             command.add("--bridge", bridge);
> >> @@ -1447,7 +1447,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             String result = command.execute();
> >>             if (result != null) {
> >>                 return new OvsCreateTunnelAnswer(cmd, true, result,
> null,
> >> -                    bridge);
> >> +                        bridge);
> >>             } else {
> >>                 return new OvsCreateTunnelAnswer(cmd, false, result,
> >> bridge);
> >>             }
> >> @@ -1462,7 +1462,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         try {
> >>             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
> >>                 s_logger.warn("Unable to find tunnel network for GRE
> key:"
> >> -                    + cmd.getKey());
> >> +                        + cmd.getKey());
> >>                 return new Answer(cmd, false, "No network found");
> >>             }
> >>
> >> @@ -1513,7 +1513,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>              It COULD also do it the other way around, but the code in
> >> the ManagementServerImpl shows
> >>              that it always sets copyToSecondary to true
> >>
> >> -          */
> >> +         */
> >>         boolean copyToSecondary = cmd.toSecondaryStorage();
> >>         String volumePath = cmd.getVolumePath();
> >>         StorageFilerTO pool = cmd.getPool();
> >> @@ -1526,8 +1526,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             } catch (CloudRuntimeException e) {
> >>                 if (e.getMessage().contains("not found")) {
> >>                     primaryPool =
> >> -
> >> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> -                            cmd.getPool().getUserInfo(),
> >> cmd.getPool().getType());
> >> +
> >> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> +                                    cmd.getPool().getUserInfo(),
> >> cmd.getPool().getType());
> >>                 } else {
> >>                     return new CopyVolumeAnswer(cmd, false,
> >> e.getMessage(), null, null);
> >>                 }
> >> @@ -1641,7 +1641,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 vol = primaryPool.createPhysicalDisk(dskch.getPath(),
> >> dskch.getSize());
> >>             }
> >>             VolumeTO volume =
> >> -                new VolumeTO(cmd.getVolumeId(), dskch.getType(),
> >> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
> >> vol.getName(), disksize, null);
> >> +                    new VolumeTO(cmd.getVolumeId(), dskch.getType(),
> >> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
> >> vol.getName(), disksize, null);
> >>             volume.setBytesReadRate(dskch.getBytesReadRate());
> >>             volume.setBytesWriteRate(dskch.getBytesWriteRate());
> >>             volume.setIopsReadRate(dskch.getIopsReadRate());
> >> @@ -1710,7 +1710,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         if (pool.getType() == StoragePoolType.CLVM && volFormat ==
> >> PhysicalDiskFormat.RAW) {
> >>             return "CLVM";
> >>         } else if ((poolType == StoragePoolType.NetworkFilesystem ||
> >> poolType == StoragePoolType.SharedMountPoint || poolType ==
> >> StoragePoolType.Filesystem) &&
> >> -            volFormat == PhysicalDiskFormat.QCOW2) {
> >> +                volFormat == PhysicalDiskFormat.QCOW2) {
> >>             return "QCOW2";
> >>         }
> >>         return null;
> >> @@ -1770,7 +1770,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 }
> >>
> >>                 s_logger.debug("got to the stage where we execute the
> >> volume resize, params:" + path + "," + currentSize + "," + newSize +
> "," +
> >> type + "," +
> >> -                    vmInstanceName + "," + shrinkOk);
> >> +                        vmInstanceName + "," + shrinkOk);
> >>                 final Script resizecmd = new Script(_resizeVolumePath,
> >> _cmdsTimeout, s_logger);
> >>                 resizecmd.add("-s", String.valueOf(newSize));
> >>                 resizecmd.add("-c", String.valueOf(currentSize));
> >> @@ -1826,7 +1826,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 } else {
> >>                     //untagged or not matching (eth|bond)#.#
> >>                     s_logger.debug("failed to get vNet id from bridge "
> +
> >> brName
> >> -                           + "attached to physical interface" + pif +
> ",
> >> perhaps untagged interface");
> >> +                            + "attached to physical interface" + pif +
> ",
> >> perhaps untagged interface");
> >>                     return "";
> >>                 }
> >>             }
> >> @@ -1862,7 +1862,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                     List<InterfaceDef> ifaces = getInterfaces(conn,
> >> dhcpName);
> >>                     InterfaceDef guestNic = ifaces.get(0);
> >>                     script.add(opr, "-b", _guestBridgeName, "-p",
> >> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
> >> dhcpMac, "-I",
> >> -                        guestNic.getDevName());
> >> +                            guestNic.getDevName());
> >>                 } else {
> >>                     script.add(opr, "-b", _guestBridgeName, "-p",
> >> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
> >> dhcpMac);
> >>                 }
> >> @@ -2103,7 +2103,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 } else if (pluggedVlanId == null) {
> >>                     /*this should only be true in the case of link local
> >> bridge*/
> >>                     return new SetSourceNatAnswer(cmd, false, "unable to
> >> find the vlan id for bridge " + pluggedVlanBr + " when attempting to set
> >> up" + pubVlan +
> >> -                        " on router " + routerName);
> >> +                            " on router " + routerName);
> >>                 } else if (pluggedVlanId.equals(pubVlan)) {
> >>                     break;
> >>                 }
> >> @@ -2143,7 +2143,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 if (pluggedVlan.equalsIgnoreCase(_linkLocalBridgeName))
> {
> >>                     broadcastUriToNicNum.put("LinkLocal", devNum);
> >>                 } else if
> >> (pluggedVlan.equalsIgnoreCase(_publicBridgeName) ||
> >> pluggedVlan.equalsIgnoreCase(_privBridgeName) ||
> >> -                    pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
> >> +
>  pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
> >>
> >>
> broadcastUriToNicNum.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
> >> devNum);
> >>                 } else {
> >>
> >> broadcastUriToNicNum.put(getBroadcastUriFromBridge(pluggedVlan),
> devNum);
> >> @@ -2188,7 +2188,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                     broadcastUriAllocatedToVM.put("LinkLocal", nicPos);
> >>                 } else {
> >>                     if
> >> (nic.getBrName().equalsIgnoreCase(_publicBridgeName) ||
> >> nic.getBrName().equalsIgnoreCase(_privBridgeName) ||
> >> -
> >> nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
> >> +
> >> nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
> >>
> >>
> broadcastUriAllocatedToVM.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
> >> nicPos);
> >>                     } else {
> >>                         String broadcastUri =
> >> getBroadcastUriFromBridge(nic.getBrName());
> >> @@ -2212,8 +2212,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 nicNum =
> >> broadcastUriAllocatedToVM.get(ip.getBroadcastUri());
> >>                 networkUsage(routerIp, "addVif", "eth" + nicNum);
> >>                 result =
> >> -
>  _virtRouterResource.assignPublicIpAddress(routerName,
> >> routerIp, ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(),
> ip.isSourceNat(),
> >> ip.getBroadcastUri(),
> >> -                        ip.getVlanGateway(), ip.getVlanNetmask(),
> >> ip.getVifMacAddress(), nicNum, newNic);
> >> +
> >> _virtRouterResource.assignPublicIpAddress(routerName, routerIp,
> >> ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(),
> >> ip.getBroadcastUri(),
> >> +                                ip.getVlanGateway(),
> ip.getVlanNetmask(),
> >> ip.getVifMacAddress(), nicNum, newNic);
> >>
> >>                 if (result == null) {
> >>                     results[i++] = ip.getPublicIp() + " - success";
> >> @@ -2378,8 +2378,6 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                     Rbd rbd = new Rbd(io);
> >>                     RbdImage image = rbd.open(snapshotDisk.getName(),
> >> snapshotName);
> >>
> >> -                    long startTime = System.currentTimeMillis() / 1000;
> >> -
> >>                     File fh = new File(snapshotDestPath);
> >>                     BufferedOutputStream bos = new
> >> BufferedOutputStream(new FileOutputStream(fh));
> >>                     int chunkSize = 4194304;
> >> @@ -2582,8 +2580,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             } catch (CloudRuntimeException e) {
> >>                 if (e.getMessage().contains("not found")) {
> >>                     primary =
> >> -
> >> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> -                            cmd.getPool().getUserInfo(),
> >> cmd.getPool().getType());
> >> +
> >> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> +                                    cmd.getPool().getUserInfo(),
> >> cmd.getPool().getType());
> >>                 } else {
> >>                     return new CreatePrivateTemplateAnswer(cmd, false,
> >> e.getMessage());
> >>                 }
> >> @@ -2609,8 +2607,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 s_logger.debug("Converting RBD disk " + disk.getPath() +
> >> " into template " + cmd.getUniqueName());
> >>
> >>                 QemuImgFile srcFile =
> >> -                    new
> >> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
> >> primary.getSourcePort(), primary.getAuthUserName(),
> >> -                        primary.getAuthSecret(), disk.getPath()));
> >> +                        new
> >> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
> >> primary.getSourcePort(), primary.getAuthUserName(),
> >> +                                primary.getAuthSecret(),
> disk.getPath()));
> >>                 srcFile.setFormat(PhysicalDiskFormat.RAW);
> >>
> >>                 QemuImgFile destFile = new QemuImgFile(tmpltPath + "/" +
> >> cmd.getUniqueName() + ".qcow2");
> >> @@ -2621,7 +2619,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                     q.convert(srcFile, destFile);
> >>                 } catch (QemuImgException e) {
> >>                     s_logger.error("Failed to create new template while
> >> converting " + srcFile.getFileName() + " to " + destFile.getFileName()
> + "
> >> the error was: " +
> >> -                        e.getMessage());
> >> +                            e.getMessage());
> >>                 }
> >>
> >>                 File templateProp = new File(tmpltPath +
> >> "/template.properties");
> >> @@ -2655,7 +2653,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             loc.save();
> >>
> >>             return new CreatePrivateTemplateAnswer(cmd, true, null,
> >> templateInstallFolder + cmd.getUniqueName() + ".qcow2",
> info.virtualSize,
> >> info.size,
> >> -                cmd.getUniqueName(), ImageFormat.QCOW2);
> >> +                    cmd.getUniqueName(), ImageFormat.QCOW2);
> >>         } catch (InternalErrorException e) {
> >>             return new CreatePrivateTemplateAnswer(cmd, false,
> >> e.toString());
> >>         } catch (IOException e) {
> >> @@ -2726,8 +2724,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>
> >>     protected Answer execute(ModifyStoragePoolCommand cmd) {
> >>         KVMStoragePool storagepool =
> >> -            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> cmd.getPool()
> >> -                .getUserInfo(), cmd.getPool().getType());
> >> +
> >> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> >> cmd.getPool().getHost(), cmd.getPool().getPort(),
> cmd.getPool().getPath(),
> >> cmd.getPool()
> >> +                        .getUserInfo(), cmd.getPool().getType());
> >>         if (storagepool == null) {
> >>             return new Answer(cmd, false, " Failed to create storage
> >> pool");
> >>         }
> >> @@ -2751,15 +2749,15 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         }
> >>
> >>         boolean result =
> >> -            add_network_rules(cmd.getVmName(),
> >> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
> >> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
> >> -                cmd.stringifyRules(), vif, brname,
> cmd.getSecIpsString());
> >> +                add_network_rules(cmd.getVmName(),
> >> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
> >> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
> >> +                        cmd.stringifyRules(), vif, brname,
> >> cmd.getSecIpsString());
> >>
> >>         if (!result) {
> >>             s_logger.warn("Failed to program network rules for vm " +
> >> cmd.getVmName());
> >>             return new SecurityGroupRuleAnswer(cmd, false, "programming
> >> network rules failed");
> >>         } else {
> >>             s_logger.debug("Programmed network rules for vm " +
> >> cmd.getVmName() + " guestIp=" + cmd.getGuestIp() + ",ingress numrules="
> +
> >> cmd.getIngressRuleSet().length +
> >> -                ",egress numrules=" + cmd.getEgressRuleSet().length);
> >> +                    ",egress numrules=" +
> cmd.getEgressRuleSet().length);
> >>             return new SecurityGroupRuleAnswer(cmd);
> >>         }
> >>     }
> >> @@ -2850,8 +2848,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>             KVMStoragePool primary =
> >> _storagePoolMgr.getStoragePool(cmd.getPooltype(), cmd.getPoolUuid());
> >>             KVMPhysicalDisk disk =
> >> primary.getPhysicalDisk(cmd.getVolumePath());
> >>             attachOrDetachDisk(conn, cmd.getAttach(), cmd.getVmName(),
> >> disk,
> >> -                cmd.getDeviceId().intValue(), cmd.getBytesReadRate(),
> >> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
> >> -                cmd.getCacheMode());
> >> +                    cmd.getDeviceId().intValue(),
> cmd.getBytesReadRate(),
> >> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
> >> +                    cmd.getCacheMode());
> >>         } catch (LibvirtException e) {
> >>             return new AttachVolumeAnswer(cmd, e.toString());
> >>         } catch (InternalErrorException e) {
> >> @@ -2985,7 +2983,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 description for the instance to be used on the target
> >> host.
> >>
> >>                 This is supported by libvirt-java from version 0.50.0
> >> -            */
> >> +             */
> >>             xmlDesc = dm.getXMLDesc(0).replace(_privateIp,
> >> cmd.getDestinationIp());
> >>
> >>             dconn = new Connect("qemu+tcp://" + cmd.getDestinationIp() +
> >> "/system");
> >> @@ -3768,7 +3766,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                             we pass the pool's UUID as the authSecret
> >>                      */
> >>
> >> disk.defNetworkBasedDisk(physicalDisk.getPath().replace("rbd:", ""),
> >> pool.getSourceHost(), pool.getSourcePort(), pool.getAuthUserName(),
> >> -                        pool.getUuid(), devId, diskBusType,
> >> diskProtocol.RBD);
> >> +                            pool.getUuid(), devId, diskBusType,
> >> diskProtocol.RBD);
> >>                 } else if (pool.getType() == StoragePoolType.CLVM ||
> >> physicalDisk.getFormat() == PhysicalDiskFormat.RAW) {
> >>                     disk.defBlockBasedDisk(physicalDisk.getPath(),
> devId,
> >> diskBusType);
> >>                 } else {
> >> @@ -3864,7 +3862,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     }
> >>
> >>     protected synchronized String attachOrDetachISO(Connect conn, String
> >> vmName, String isoPath, boolean isAttach) throws LibvirtException,
> >> URISyntaxException,
> >> -        InternalErrorException {
> >> +    InternalErrorException {
> >>         String isoXml = null;
> >>         if (isoPath != null && isAttach) {
> >>             int index = isoPath.lastIndexOf("/");
> >> @@ -3897,8 +3895,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     }
> >>
> >>     protected synchronized String attachOrDetachDisk(Connect conn,
> >> -        boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
> >> -        int devId, Long bytesReadRate, Long bytesWriteRate, Long
> >> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
> >> LibvirtException, InternalErrorException {
> >> +            boolean attach, String vmName, KVMPhysicalDisk
> attachingDisk,
> >> +            int devId, Long bytesReadRate, Long bytesWriteRate, Long
> >> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
> >> LibvirtException, InternalErrorException {
> >>         List<DiskDef> disks = null;
> >>         Domain dm = null;
> >>         DiskDef diskdef = null;
> >> @@ -3925,7 +3923,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>                 diskdef = new DiskDef();
> >>                 if (attachingPool.getType() == StoragePoolType.RBD) {
> >>                     diskdef.defNetworkBasedDisk(attachingDisk.getPath(),
> >> attachingPool.getSourceHost(), attachingPool.getSourcePort(),
> >> attachingPool.getAuthUserName(),
> >> -                        attachingPool.getUuid(), devId,
> >> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
> >> +                            attachingPool.getUuid(), devId,
> >> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
> >>                 } else if (attachingDisk.getFormat() ==
> >> PhysicalDiskFormat.QCOW2) {
> >>                     diskdef.defFileBasedDisk(attachingDisk.getPath(),
> >> devId, DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
> >>                 } else if (attachingDisk.getFormat() ==
> >> PhysicalDiskFormat.RAW) {
> >> @@ -4025,8 +4023,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         final List<Object> info = getHostInfo();
> >>
> >>         final StartupRoutingCommand cmd =
> >> -            new StartupRoutingCommand((Integer)info.get(0),
> >> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
> >> (String)info.get(3), _hypervisorType,
> >> -                RouterPrivateIpStrategy.HostLocal);
> >> +                new StartupRoutingCommand((Integer)info.get(0),
> >> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
> >> (String)info.get(3), _hypervisorType,
> >> +                        RouterPrivateIpStrategy.HostLocal);
> >>         cmd.setStateChanges(changes);
> >>         cmd.setCpuSockets((Integer)info.get(5));
> >>         fillNetworkInformation(cmd);
> >> @@ -4042,8 +4040,8 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>
> >>             KVMStoragePool localStoragePool =
> >> _storagePoolMgr.createStoragePool(_localStorageUUID, "localhost", -1,
> >> _localStoragePath, "", StoragePoolType.Filesystem);
> >>             com.cloud.agent.api.StoragePoolInfo pi =
> >> -                new
> >> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
> >> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
> >> -                    StoragePoolType.Filesystem,
> >> localStoragePool.getCapacity(), localStoragePool.getAvailable());
> >> +                    new
> >> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
> >> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
> >> +                            StoragePoolType.Filesystem,
> >> localStoragePool.getCapacity(), localStoragePool.getAvailable());
> >>
> >>             sscmd = new StartupStorageCommand();
> >>             sscmd.setPoolInfo(pi);
> >> @@ -4723,11 +4721,11 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>         }
> >>         String guestOSName = KVMGuestOsMapper.getGuestOsName(guestOS);
> >>         if (guestOS.startsWith("Ubuntu") ||
> >> guestOSName.startsWith("Fedora 13") || guestOSName.startsWith("Fedora
> 12")
> >> || guestOSName.startsWith("Fedora 11") ||
> >> -            guestOSName.startsWith("Fedora 10") ||
> >> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS
> 5.3")
> >> || guestOSName.startsWith("CentOS 5.4") ||
> >> -            guestOSName.startsWith("CentOS 5.5") ||
> >> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
> >> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.3") ||
> >> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
> >> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.5") ||
> >> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
> >> guestOS.startsWith("Debian GNU/Linux") ||
> >> -            guestOSName.startsWith("Other PV")) {
> >> +                guestOSName.startsWith("Fedora 10") ||
> >> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS
> 5.3")
> >> || guestOSName.startsWith("CentOS 5.4") ||
> >> +                guestOSName.startsWith("CentOS 5.5") ||
> >> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
> >> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.3")
> ||
> >> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
> >> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.5")
> ||
> >> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
> >> guestOS.startsWith("Debian GNU/Linux") ||
> >> +                guestOSName.startsWith("Other PV")) {
> >>             return true;
> >>         } else {
> >>             return false;
> >> @@ -5073,7 +5071,7 @@ public class LibvirtComputingResource extends
> >> ServerResourceBase implements Serv
> >>     }
> >>
> >>     private boolean add_network_rules(String vmName, String vmId, String
> >> guestIP, String sig, String seq, String mac, String rules, String vif,
> >> String brname,
> >> -        String secIps) {
> >> +            String secIps) {
> >>         if (!_canBridgeFirewall) {
> >>             return false;
> >>         }
> >>
> >>
>
>

Re: git commit: updated refs/heads/master to c024a93

Posted by Hugo Trippaers <hu...@trippaers.nl>.
Hey Wei,

Thanks for checking, just pushed the fix for OvsVifDriver as well. I didn’t check the 4.2 branch yet for this bug, did you?

Cheers,

Hugo

On 2 jan. 2014, at 14:10, Wei ZHOU <us...@gmail.com> wrote:

> Hugo,
> 
> Thanks for your commit to fix my mistake.
> 
> I checked the source codes just now, it looks
> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
> also need to be changed.
> And, these commits also need to be cherry-picked to 4.2 branch, right?
> 
> -Wei
> 
> 
> 2014/1/2 <hu...@apache.org>
> 
>> Updated Branches:
>>  refs/heads/master 50c2119a8 -> c024a9382
>> 
>> 
>> Commit 3a999e7 changed the return values for the Script.execute function,
>> this introduced a bug in the openvswitch bridge detection code.
>> 
>> 
>> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c024a938
>> Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c024a938
>> Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c024a938
>> 
>> Branch: refs/heads/master
>> Commit: c024a9382689604d7738a9424d680bc9b3ff6793
>> Parents: 50c2119
>> Author: Hugo Trippaers <ht...@schubergphilis.com>
>> Authored: Thu Jan 2 11:37:16 2014 +0100
>> Committer: Hugo Trippaers <ht...@schubergphilis.com>
>> Committed: Thu Jan 2 13:40:06 2014 +0100
>> 
>> ----------------------------------------------------------------------
>> .../kvm/resource/LibvirtComputingResource.java  | 138 +++++++++----------
>> 1 file changed, 68 insertions(+), 70 deletions(-)
>> ----------------------------------------------------------------------
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c024a938/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 b3deb55..6b13ccb 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
>> @@ -356,7 +356,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     }
>> 
>>     protected static final MessageFormat SnapshotXML = new
>> MessageFormat("   <domainsnapshot>" + "       <name>{0}</name>" + "
>> <domain>"
>> -        + "            <uuid>{1}</uuid>" + "        </domain>" + "
>> </domainsnapshot>");
>> +            + "            <uuid>{1}</uuid>" + "        </domain>" + "
>> </domainsnapshot>");
>> 
>>     protected HypervisorType _hypervisorType;
>>     protected String _hypervisorURI;
>> @@ -745,7 +745,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             /* Does node support HVM guest? If not, exit */
>>             if (!IsHVMEnabled(conn)) {
>>                 throw new ConfigurationException("NO HVM support on this
>> machine, please make sure: " + "1. VT/SVM is supported by your CPU, or is
>> enabled in BIOS. "
>> -                    + "2. kvm modules are loaded (kvm,
>> kvm_amd|kvm_intel)");
>> +                        + "2. kvm modules are loaded (kvm,
>> kvm_amd|kvm_intel)");
>>             }
>>         }
>> 
>> @@ -765,7 +765,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>> 
>>             if (_hypervisorLibvirtVersion < (9 * 1000 + 10)) {
>>                 s_logger.warn("LibVirt version 0.9.10 required for guest
>> cpu mode, but version " + prettyVersion(_hypervisorLibvirtVersion) +
>> -                    " detected, so it will be disabled");
>> +                        " detected, so it will be disabled");
>>                 _guestCpuMode = "";
>>                 _guestCpuModel = "";
>>             }
>> @@ -796,13 +796,13 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         }
>> 
>>         switch (_bridgeType) {
>> -            case OPENVSWITCH:
>> -                getOvsPifs();
>> -                break;
>> -            case NATIVE:
>> -            default:
>> -                getPifs();
>> -                break;
>> +        case OPENVSWITCH:
>> +            getOvsPifs();
>> +            break;
>> +        case NATIVE:
>> +        default:
>> +            getPifs();
>> +            break;
>>         }
>> 
>>         if (_pifs.get("private") == null) {
>> @@ -1054,7 +1054,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             String fname = interfaces[i].getName();
>>             s_logger.debug("matchPifFileInDirectory: file name '" + fname
>> + "'");
>>             if (fname.startsWith("eth") || fname.startsWith("bond") ||
>> fname.startsWith("vlan") || fname.startsWith("vx") ||
>> fname.startsWith("em") ||
>> -                fname.matches("^p\\d+p\\d+.*")) {
>> +                    fname.matches("^p\\d+p\\d+.*")) {
>>                 return fname;
>>             }
>>         }
>> @@ -1099,7 +1099,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         command.add("-c");
>>         command.add("ovs-vsctl br-exists " + networkName);
>>         String result = command.execute(null);
>> -        if ("Ok".equals(result)) {
>> +        if ("0".equals(result)) {
>>             return true;
>>         } else {
>>             return false;
>> @@ -1141,7 +1141,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>> 
>>                 This also makes sure we never have any old "garbage"
>> defined
>>                 in libvirt which might haunt us.
>> -            */
>> +             */
>> 
>>             // check for existing inactive vm definition and remove it
>>             // this can sometimes happen during crashes, etc
>> @@ -1322,12 +1322,12 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             String mask = Script.runSimpleBashScript("ifconfig " + label
>> + " | grep 'inet addr:' | cut -d: -f4");
>>             String mac = Script.runSimpleBashScript("ifconfig " + label +
>> " | grep HWaddr | awk -F \" \" '{print $5}'");
>>             return new OvsFetchInterfaceAnswer(cmd, true, "Interface " +
>> label
>> -                + " retrieved successfully", ipadd, mask, mac);
>> +                    + " retrieved successfully", ipadd, mask, mac);
>> 
>>         } catch (Exception e) {
>>             s_logger.warn("Caught execption when fetching interface", e);
>>             return new OvsFetchInterfaceAnswer(cmd, false, "EXCEPTION:"
>> -                + e.getMessage());
>> +                    + e.getMessage());
>>         }
>> 
>>     }
>> @@ -1335,7 +1335,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     private Answer execute(OvsSetupBridgeCommand cmd) {
>>         findOrCreateTunnelNetwork(cmd.getKey());
>>         configureTunnelNetwork(cmd.getNetworkId(), cmd.getHostId(),
>> -            cmd.getKey());
>> +                cmd.getKey());
>>         s_logger.debug("OVS Bridge configured");
>>         return new Answer(cmd, true, null);
>>     }
>> @@ -1378,8 +1378,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             Map<String, String> otherConfig = new HashMap<String,
>> String>();
>>             otherConfig.put("ovs-host-setup", "");
>>             Script.runSimpleBashScript("ovs-vsctl -- --may-exist add-br "
>> -                + nwName + " -- set bridge " + nwName
>> -                + " other_config:ovs_host_setup='-1'");
>> +                    + nwName + " -- set bridge " + nwName
>> +                    + " other_config:ovs_host_setup='-1'");
>>             s_logger.debug("### KVM network for tunnels created:" +
>> nwName);
>>         } catch (Exception e) {
>>             s_logger.warn("createTunnelNetwork failed", e);
>> @@ -1388,13 +1388,13 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     }
>> 
>>     private synchronized boolean configureTunnelNetwork(long networkId,
>> -        long hostId, int key) {
>> +            long hostId, int key) {
>>         try {
>>             findOrCreateTunnelNetwork(key);
>>             String nwName = "OVSTunnel" + key;
>>             String configuredHosts = Script
>> -                .runSimpleBashScript("ovs-vsctl get bridge " + nwName
>> -                    + " other_config:ovs_host_setup");
>> +                    .runSimpleBashScript("ovs-vsctl get bridge " + nwName
>> +                            + " other_config:ovs_host_setup");
>>             boolean configured = false;
>>             if (configuredHosts != null) {
>>                 String hostIdsStr[] = configuredHosts.split(",");
>> @@ -1414,7 +1414,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 String result = cmd.execute();
>>                 if (result != null) {
>>                     throw new CloudRuntimeException(
>> -                        "Unable to pre-configure OVS bridge " + nwName
>> +                            "Unable to pre-configure OVS bridge " + nwName
>>                             + " for network ID:" + networkId);
>>                 }
>>             }
>> @@ -1431,11 +1431,11 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
>>                 s_logger.debug("Error during bridge setup");
>>                 return new OvsCreateTunnelAnswer(cmd, false,
>> -                    "Cannot create network", bridge);
>> +                        "Cannot create network", bridge);
>>             }
>> 
>>             configureTunnelNetwork(cmd.getNetworkId(), cmd.getFrom(),
>> -                cmd.getKey());
>> +                    cmd.getKey());
>>             Script command = new Script(_ovsTunnelPath, _timeout,
>> s_logger);
>>             command.add("create_tunnel");
>>             command.add("--bridge", bridge);
>> @@ -1447,7 +1447,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             String result = command.execute();
>>             if (result != null) {
>>                 return new OvsCreateTunnelAnswer(cmd, true, result, null,
>> -                    bridge);
>> +                        bridge);
>>             } else {
>>                 return new OvsCreateTunnelAnswer(cmd, false, result,
>> bridge);
>>             }
>> @@ -1462,7 +1462,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         try {
>>             if (!findOrCreateTunnelNetwork(cmd.getKey())) {
>>                 s_logger.warn("Unable to find tunnel network for GRE key:"
>> -                    + cmd.getKey());
>> +                        + cmd.getKey());
>>                 return new Answer(cmd, false, "No network found");
>>             }
>> 
>> @@ -1513,7 +1513,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>              It COULD also do it the other way around, but the code in
>> the ManagementServerImpl shows
>>              that it always sets copyToSecondary to true
>> 
>> -          */
>> +         */
>>         boolean copyToSecondary = cmd.toSecondaryStorage();
>>         String volumePath = cmd.getVolumePath();
>>         StorageFilerTO pool = cmd.getPool();
>> @@ -1526,8 +1526,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             } catch (CloudRuntimeException e) {
>>                 if (e.getMessage().contains("not found")) {
>>                     primaryPool =
>> -
>> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> -                            cmd.getPool().getUserInfo(),
>> cmd.getPool().getType());
>> +
>> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> +                                    cmd.getPool().getUserInfo(),
>> cmd.getPool().getType());
>>                 } else {
>>                     return new CopyVolumeAnswer(cmd, false,
>> e.getMessage(), null, null);
>>                 }
>> @@ -1641,7 +1641,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 vol = primaryPool.createPhysicalDisk(dskch.getPath(),
>> dskch.getSize());
>>             }
>>             VolumeTO volume =
>> -                new VolumeTO(cmd.getVolumeId(), dskch.getType(),
>> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
>> vol.getName(), disksize, null);
>> +                    new VolumeTO(cmd.getVolumeId(), dskch.getType(),
>> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
>> vol.getName(), disksize, null);
>>             volume.setBytesReadRate(dskch.getBytesReadRate());
>>             volume.setBytesWriteRate(dskch.getBytesWriteRate());
>>             volume.setIopsReadRate(dskch.getIopsReadRate());
>> @@ -1710,7 +1710,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         if (pool.getType() == StoragePoolType.CLVM && volFormat ==
>> PhysicalDiskFormat.RAW) {
>>             return "CLVM";
>>         } else if ((poolType == StoragePoolType.NetworkFilesystem ||
>> poolType == StoragePoolType.SharedMountPoint || poolType ==
>> StoragePoolType.Filesystem) &&
>> -            volFormat == PhysicalDiskFormat.QCOW2) {
>> +                volFormat == PhysicalDiskFormat.QCOW2) {
>>             return "QCOW2";
>>         }
>>         return null;
>> @@ -1770,7 +1770,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 }
>> 
>>                 s_logger.debug("got to the stage where we execute the
>> volume resize, params:" + path + "," + currentSize + "," + newSize + "," +
>> type + "," +
>> -                    vmInstanceName + "," + shrinkOk);
>> +                        vmInstanceName + "," + shrinkOk);
>>                 final Script resizecmd = new Script(_resizeVolumePath,
>> _cmdsTimeout, s_logger);
>>                 resizecmd.add("-s", String.valueOf(newSize));
>>                 resizecmd.add("-c", String.valueOf(currentSize));
>> @@ -1826,7 +1826,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 } else {
>>                     //untagged or not matching (eth|bond)#.#
>>                     s_logger.debug("failed to get vNet id from bridge " +
>> brName
>> -                           + "attached to physical interface" + pif + ",
>> perhaps untagged interface");
>> +                            + "attached to physical interface" + pif + ",
>> perhaps untagged interface");
>>                     return "";
>>                 }
>>             }
>> @@ -1862,7 +1862,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                     List<InterfaceDef> ifaces = getInterfaces(conn,
>> dhcpName);
>>                     InterfaceDef guestNic = ifaces.get(0);
>>                     script.add(opr, "-b", _guestBridgeName, "-p",
>> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
>> dhcpMac, "-I",
>> -                        guestNic.getDevName());
>> +                            guestNic.getDevName());
>>                 } else {
>>                     script.add(opr, "-b", _guestBridgeName, "-p",
>> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
>> dhcpMac);
>>                 }
>> @@ -2103,7 +2103,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 } else if (pluggedVlanId == null) {
>>                     /*this should only be true in the case of link local
>> bridge*/
>>                     return new SetSourceNatAnswer(cmd, false, "unable to
>> find the vlan id for bridge " + pluggedVlanBr + " when attempting to set
>> up" + pubVlan +
>> -                        " on router " + routerName);
>> +                            " on router " + routerName);
>>                 } else if (pluggedVlanId.equals(pubVlan)) {
>>                     break;
>>                 }
>> @@ -2143,7 +2143,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 if (pluggedVlan.equalsIgnoreCase(_linkLocalBridgeName)) {
>>                     broadcastUriToNicNum.put("LinkLocal", devNum);
>>                 } else if
>> (pluggedVlan.equalsIgnoreCase(_publicBridgeName) ||
>> pluggedVlan.equalsIgnoreCase(_privBridgeName) ||
>> -                    pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
>> +                        pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
>> 
>> broadcastUriToNicNum.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
>> devNum);
>>                 } else {
>> 
>> broadcastUriToNicNum.put(getBroadcastUriFromBridge(pluggedVlan), devNum);
>> @@ -2188,7 +2188,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                     broadcastUriAllocatedToVM.put("LinkLocal", nicPos);
>>                 } else {
>>                     if
>> (nic.getBrName().equalsIgnoreCase(_publicBridgeName) ||
>> nic.getBrName().equalsIgnoreCase(_privBridgeName) ||
>> -
>> nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
>> +
>> nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
>> 
>> broadcastUriAllocatedToVM.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
>> nicPos);
>>                     } else {
>>                         String broadcastUri =
>> getBroadcastUriFromBridge(nic.getBrName());
>> @@ -2212,8 +2212,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 nicNum =
>> broadcastUriAllocatedToVM.get(ip.getBroadcastUri());
>>                 networkUsage(routerIp, "addVif", "eth" + nicNum);
>>                 result =
>> -                    _virtRouterResource.assignPublicIpAddress(routerName,
>> routerIp, ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(),
>> ip.getBroadcastUri(),
>> -                        ip.getVlanGateway(), ip.getVlanNetmask(),
>> ip.getVifMacAddress(), nicNum, newNic);
>> +
>> _virtRouterResource.assignPublicIpAddress(routerName, routerIp,
>> ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(),
>> ip.getBroadcastUri(),
>> +                                ip.getVlanGateway(), ip.getVlanNetmask(),
>> ip.getVifMacAddress(), nicNum, newNic);
>> 
>>                 if (result == null) {
>>                     results[i++] = ip.getPublicIp() + " - success";
>> @@ -2378,8 +2378,6 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                     Rbd rbd = new Rbd(io);
>>                     RbdImage image = rbd.open(snapshotDisk.getName(),
>> snapshotName);
>> 
>> -                    long startTime = System.currentTimeMillis() / 1000;
>> -
>>                     File fh = new File(snapshotDestPath);
>>                     BufferedOutputStream bos = new
>> BufferedOutputStream(new FileOutputStream(fh));
>>                     int chunkSize = 4194304;
>> @@ -2582,8 +2580,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             } catch (CloudRuntimeException e) {
>>                 if (e.getMessage().contains("not found")) {
>>                     primary =
>> -
>> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> -                            cmd.getPool().getUserInfo(),
>> cmd.getPool().getType());
>> +
>> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> +                                    cmd.getPool().getUserInfo(),
>> cmd.getPool().getType());
>>                 } else {
>>                     return new CreatePrivateTemplateAnswer(cmd, false,
>> e.getMessage());
>>                 }
>> @@ -2609,8 +2607,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 s_logger.debug("Converting RBD disk " + disk.getPath() +
>> " into template " + cmd.getUniqueName());
>> 
>>                 QemuImgFile srcFile =
>> -                    new
>> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
>> primary.getSourcePort(), primary.getAuthUserName(),
>> -                        primary.getAuthSecret(), disk.getPath()));
>> +                        new
>> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
>> primary.getSourcePort(), primary.getAuthUserName(),
>> +                                primary.getAuthSecret(), disk.getPath()));
>>                 srcFile.setFormat(PhysicalDiskFormat.RAW);
>> 
>>                 QemuImgFile destFile = new QemuImgFile(tmpltPath + "/" +
>> cmd.getUniqueName() + ".qcow2");
>> @@ -2621,7 +2619,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                     q.convert(srcFile, destFile);
>>                 } catch (QemuImgException e) {
>>                     s_logger.error("Failed to create new template while
>> converting " + srcFile.getFileName() + " to " + destFile.getFileName() + "
>> the error was: " +
>> -                        e.getMessage());
>> +                            e.getMessage());
>>                 }
>> 
>>                 File templateProp = new File(tmpltPath +
>> "/template.properties");
>> @@ -2655,7 +2653,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             loc.save();
>> 
>>             return new CreatePrivateTemplateAnswer(cmd, true, null,
>> templateInstallFolder + cmd.getUniqueName() + ".qcow2", info.virtualSize,
>> info.size,
>> -                cmd.getUniqueName(), ImageFormat.QCOW2);
>> +                    cmd.getUniqueName(), ImageFormat.QCOW2);
>>         } catch (InternalErrorException e) {
>>             return new CreatePrivateTemplateAnswer(cmd, false,
>> e.toString());
>>         } catch (IOException e) {
>> @@ -2726,8 +2724,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>> 
>>     protected Answer execute(ModifyStoragePoolCommand cmd) {
>>         KVMStoragePool storagepool =
>> -            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> cmd.getPool()
>> -                .getUserInfo(), cmd.getPool().getType());
>> +
>> _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
>> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
>> cmd.getPool()
>> +                        .getUserInfo(), cmd.getPool().getType());
>>         if (storagepool == null) {
>>             return new Answer(cmd, false, " Failed to create storage
>> pool");
>>         }
>> @@ -2751,15 +2749,15 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         }
>> 
>>         boolean result =
>> -            add_network_rules(cmd.getVmName(),
>> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
>> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
>> -                cmd.stringifyRules(), vif, brname, cmd.getSecIpsString());
>> +                add_network_rules(cmd.getVmName(),
>> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
>> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
>> +                        cmd.stringifyRules(), vif, brname,
>> cmd.getSecIpsString());
>> 
>>         if (!result) {
>>             s_logger.warn("Failed to program network rules for vm " +
>> cmd.getVmName());
>>             return new SecurityGroupRuleAnswer(cmd, false, "programming
>> network rules failed");
>>         } else {
>>             s_logger.debug("Programmed network rules for vm " +
>> cmd.getVmName() + " guestIp=" + cmd.getGuestIp() + ",ingress numrules=" +
>> cmd.getIngressRuleSet().length +
>> -                ",egress numrules=" + cmd.getEgressRuleSet().length);
>> +                    ",egress numrules=" + cmd.getEgressRuleSet().length);
>>             return new SecurityGroupRuleAnswer(cmd);
>>         }
>>     }
>> @@ -2850,8 +2848,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>             KVMStoragePool primary =
>> _storagePoolMgr.getStoragePool(cmd.getPooltype(), cmd.getPoolUuid());
>>             KVMPhysicalDisk disk =
>> primary.getPhysicalDisk(cmd.getVolumePath());
>>             attachOrDetachDisk(conn, cmd.getAttach(), cmd.getVmName(),
>> disk,
>> -                cmd.getDeviceId().intValue(), cmd.getBytesReadRate(),
>> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
>> -                cmd.getCacheMode());
>> +                    cmd.getDeviceId().intValue(), cmd.getBytesReadRate(),
>> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
>> +                    cmd.getCacheMode());
>>         } catch (LibvirtException e) {
>>             return new AttachVolumeAnswer(cmd, e.toString());
>>         } catch (InternalErrorException e) {
>> @@ -2985,7 +2983,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 description for the instance to be used on the target
>> host.
>> 
>>                 This is supported by libvirt-java from version 0.50.0
>> -            */
>> +             */
>>             xmlDesc = dm.getXMLDesc(0).replace(_privateIp,
>> cmd.getDestinationIp());
>> 
>>             dconn = new Connect("qemu+tcp://" + cmd.getDestinationIp() +
>> "/system");
>> @@ -3768,7 +3766,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                             we pass the pool's UUID as the authSecret
>>                      */
>> 
>> disk.defNetworkBasedDisk(physicalDisk.getPath().replace("rbd:", ""),
>> pool.getSourceHost(), pool.getSourcePort(), pool.getAuthUserName(),
>> -                        pool.getUuid(), devId, diskBusType,
>> diskProtocol.RBD);
>> +                            pool.getUuid(), devId, diskBusType,
>> diskProtocol.RBD);
>>                 } else if (pool.getType() == StoragePoolType.CLVM ||
>> physicalDisk.getFormat() == PhysicalDiskFormat.RAW) {
>>                     disk.defBlockBasedDisk(physicalDisk.getPath(), devId,
>> diskBusType);
>>                 } else {
>> @@ -3864,7 +3862,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     }
>> 
>>     protected synchronized String attachOrDetachISO(Connect conn, String
>> vmName, String isoPath, boolean isAttach) throws LibvirtException,
>> URISyntaxException,
>> -        InternalErrorException {
>> +    InternalErrorException {
>>         String isoXml = null;
>>         if (isoPath != null && isAttach) {
>>             int index = isoPath.lastIndexOf("/");
>> @@ -3897,8 +3895,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     }
>> 
>>     protected synchronized String attachOrDetachDisk(Connect conn,
>> -        boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
>> -        int devId, Long bytesReadRate, Long bytesWriteRate, Long
>> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
>> LibvirtException, InternalErrorException {
>> +            boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
>> +            int devId, Long bytesReadRate, Long bytesWriteRate, Long
>> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
>> LibvirtException, InternalErrorException {
>>         List<DiskDef> disks = null;
>>         Domain dm = null;
>>         DiskDef diskdef = null;
>> @@ -3925,7 +3923,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>                 diskdef = new DiskDef();
>>                 if (attachingPool.getType() == StoragePoolType.RBD) {
>>                     diskdef.defNetworkBasedDisk(attachingDisk.getPath(),
>> attachingPool.getSourceHost(), attachingPool.getSourcePort(),
>> attachingPool.getAuthUserName(),
>> -                        attachingPool.getUuid(), devId,
>> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
>> +                            attachingPool.getUuid(), devId,
>> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
>>                 } else if (attachingDisk.getFormat() ==
>> PhysicalDiskFormat.QCOW2) {
>>                     diskdef.defFileBasedDisk(attachingDisk.getPath(),
>> devId, DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
>>                 } else if (attachingDisk.getFormat() ==
>> PhysicalDiskFormat.RAW) {
>> @@ -4025,8 +4023,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         final List<Object> info = getHostInfo();
>> 
>>         final StartupRoutingCommand cmd =
>> -            new StartupRoutingCommand((Integer)info.get(0),
>> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
>> (String)info.get(3), _hypervisorType,
>> -                RouterPrivateIpStrategy.HostLocal);
>> +                new StartupRoutingCommand((Integer)info.get(0),
>> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
>> (String)info.get(3), _hypervisorType,
>> +                        RouterPrivateIpStrategy.HostLocal);
>>         cmd.setStateChanges(changes);
>>         cmd.setCpuSockets((Integer)info.get(5));
>>         fillNetworkInformation(cmd);
>> @@ -4042,8 +4040,8 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>> 
>>             KVMStoragePool localStoragePool =
>> _storagePoolMgr.createStoragePool(_localStorageUUID, "localhost", -1,
>> _localStoragePath, "", StoragePoolType.Filesystem);
>>             com.cloud.agent.api.StoragePoolInfo pi =
>> -                new
>> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
>> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
>> -                    StoragePoolType.Filesystem,
>> localStoragePool.getCapacity(), localStoragePool.getAvailable());
>> +                    new
>> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
>> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
>> +                            StoragePoolType.Filesystem,
>> localStoragePool.getCapacity(), localStoragePool.getAvailable());
>> 
>>             sscmd = new StartupStorageCommand();
>>             sscmd.setPoolInfo(pi);
>> @@ -4723,11 +4721,11 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>         }
>>         String guestOSName = KVMGuestOsMapper.getGuestOsName(guestOS);
>>         if (guestOS.startsWith("Ubuntu") ||
>> guestOSName.startsWith("Fedora 13") || guestOSName.startsWith("Fedora 12")
>> || guestOSName.startsWith("Fedora 11") ||
>> -            guestOSName.startsWith("Fedora 10") ||
>> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3")
>> || guestOSName.startsWith("CentOS 5.4") ||
>> -            guestOSName.startsWith("CentOS 5.5") ||
>> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
>> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.3") ||
>> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
>> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.5") ||
>> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
>> guestOS.startsWith("Debian GNU/Linux") ||
>> -            guestOSName.startsWith("Other PV")) {
>> +                guestOSName.startsWith("Fedora 10") ||
>> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3")
>> || guestOSName.startsWith("CentOS 5.4") ||
>> +                guestOSName.startsWith("CentOS 5.5") ||
>> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
>> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.3") ||
>> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
>> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.5") ||
>> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
>> guestOS.startsWith("Debian GNU/Linux") ||
>> +                guestOSName.startsWith("Other PV")) {
>>             return true;
>>         } else {
>>             return false;
>> @@ -5073,7 +5071,7 @@ public class LibvirtComputingResource extends
>> ServerResourceBase implements Serv
>>     }
>> 
>>     private boolean add_network_rules(String vmName, String vmId, String
>> guestIP, String sig, String seq, String mac, String rules, String vif,
>> String brname,
>> -        String secIps) {
>> +            String secIps) {
>>         if (!_canBridgeFirewall) {
>>             return false;
>>         }
>> 
>> 


Re: git commit: updated refs/heads/master to c024a93

Posted by Wei ZHOU <us...@gmail.com>.
Hugo,

Thanks for your commit to fix my mistake.

I checked the source codes just now, it looks
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java
also need to be changed.
And, these commits also need to be cherry-picked to 4.2 branch, right?

-Wei


2014/1/2 <hu...@apache.org>

> Updated Branches:
>   refs/heads/master 50c2119a8 -> c024a9382
>
>
> Commit 3a999e7 changed the return values for the Script.execute function,
> this introduced a bug in the openvswitch bridge detection code.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
> Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c024a938
> Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c024a938
> Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c024a938
>
> Branch: refs/heads/master
> Commit: c024a9382689604d7738a9424d680bc9b3ff6793
> Parents: 50c2119
> Author: Hugo Trippaers <ht...@schubergphilis.com>
> Authored: Thu Jan 2 11:37:16 2014 +0100
> Committer: Hugo Trippaers <ht...@schubergphilis.com>
> Committed: Thu Jan 2 13:40:06 2014 +0100
>
> ----------------------------------------------------------------------
>  .../kvm/resource/LibvirtComputingResource.java  | 138 +++++++++----------
>  1 file changed, 68 insertions(+), 70 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c024a938/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 b3deb55..6b13ccb 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
> @@ -356,7 +356,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      }
>
>      protected static final MessageFormat SnapshotXML = new
> MessageFormat("   <domainsnapshot>" + "       <name>{0}</name>" + "
>  <domain>"
> -        + "            <uuid>{1}</uuid>" + "        </domain>" + "
>  </domainsnapshot>");
> +            + "            <uuid>{1}</uuid>" + "        </domain>" + "
>  </domainsnapshot>");
>
>      protected HypervisorType _hypervisorType;
>      protected String _hypervisorURI;
> @@ -745,7 +745,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              /* Does node support HVM guest? If not, exit */
>              if (!IsHVMEnabled(conn)) {
>                  throw new ConfigurationException("NO HVM support on this
> machine, please make sure: " + "1. VT/SVM is supported by your CPU, or is
> enabled in BIOS. "
> -                    + "2. kvm modules are loaded (kvm,
> kvm_amd|kvm_intel)");
> +                        + "2. kvm modules are loaded (kvm,
> kvm_amd|kvm_intel)");
>              }
>          }
>
> @@ -765,7 +765,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>
>              if (_hypervisorLibvirtVersion < (9 * 1000 + 10)) {
>                  s_logger.warn("LibVirt version 0.9.10 required for guest
> cpu mode, but version " + prettyVersion(_hypervisorLibvirtVersion) +
> -                    " detected, so it will be disabled");
> +                        " detected, so it will be disabled");
>                  _guestCpuMode = "";
>                  _guestCpuModel = "";
>              }
> @@ -796,13 +796,13 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          }
>
>          switch (_bridgeType) {
> -            case OPENVSWITCH:
> -                getOvsPifs();
> -                break;
> -            case NATIVE:
> -            default:
> -                getPifs();
> -                break;
> +        case OPENVSWITCH:
> +            getOvsPifs();
> +            break;
> +        case NATIVE:
> +        default:
> +            getPifs();
> +            break;
>          }
>
>          if (_pifs.get("private") == null) {
> @@ -1054,7 +1054,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              String fname = interfaces[i].getName();
>              s_logger.debug("matchPifFileInDirectory: file name '" + fname
> + "'");
>              if (fname.startsWith("eth") || fname.startsWith("bond") ||
> fname.startsWith("vlan") || fname.startsWith("vx") ||
> fname.startsWith("em") ||
> -                fname.matches("^p\\d+p\\d+.*")) {
> +                    fname.matches("^p\\d+p\\d+.*")) {
>                  return fname;
>              }
>          }
> @@ -1099,7 +1099,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          command.add("-c");
>          command.add("ovs-vsctl br-exists " + networkName);
>          String result = command.execute(null);
> -        if ("Ok".equals(result)) {
> +        if ("0".equals(result)) {
>              return true;
>          } else {
>              return false;
> @@ -1141,7 +1141,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>
>                  This also makes sure we never have any old "garbage"
> defined
>                  in libvirt which might haunt us.
> -            */
> +             */
>
>              // check for existing inactive vm definition and remove it
>              // this can sometimes happen during crashes, etc
> @@ -1322,12 +1322,12 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              String mask = Script.runSimpleBashScript("ifconfig " + label
> + " | grep 'inet addr:' | cut -d: -f4");
>              String mac = Script.runSimpleBashScript("ifconfig " + label +
> " | grep HWaddr | awk -F \" \" '{print $5}'");
>              return new OvsFetchInterfaceAnswer(cmd, true, "Interface " +
> label
> -                + " retrieved successfully", ipadd, mask, mac);
> +                    + " retrieved successfully", ipadd, mask, mac);
>
>          } catch (Exception e) {
>              s_logger.warn("Caught execption when fetching interface", e);
>              return new OvsFetchInterfaceAnswer(cmd, false, "EXCEPTION:"
> -                + e.getMessage());
> +                    + e.getMessage());
>          }
>
>      }
> @@ -1335,7 +1335,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      private Answer execute(OvsSetupBridgeCommand cmd) {
>          findOrCreateTunnelNetwork(cmd.getKey());
>          configureTunnelNetwork(cmd.getNetworkId(), cmd.getHostId(),
> -            cmd.getKey());
> +                cmd.getKey());
>          s_logger.debug("OVS Bridge configured");
>          return new Answer(cmd, true, null);
>      }
> @@ -1378,8 +1378,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              Map<String, String> otherConfig = new HashMap<String,
> String>();
>              otherConfig.put("ovs-host-setup", "");
>              Script.runSimpleBashScript("ovs-vsctl -- --may-exist add-br "
> -                + nwName + " -- set bridge " + nwName
> -                + " other_config:ovs_host_setup='-1'");
> +                    + nwName + " -- set bridge " + nwName
> +                    + " other_config:ovs_host_setup='-1'");
>              s_logger.debug("### KVM network for tunnels created:" +
> nwName);
>          } catch (Exception e) {
>              s_logger.warn("createTunnelNetwork failed", e);
> @@ -1388,13 +1388,13 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      }
>
>      private synchronized boolean configureTunnelNetwork(long networkId,
> -        long hostId, int key) {
> +            long hostId, int key) {
>          try {
>              findOrCreateTunnelNetwork(key);
>              String nwName = "OVSTunnel" + key;
>              String configuredHosts = Script
> -                .runSimpleBashScript("ovs-vsctl get bridge " + nwName
> -                    + " other_config:ovs_host_setup");
> +                    .runSimpleBashScript("ovs-vsctl get bridge " + nwName
> +                            + " other_config:ovs_host_setup");
>              boolean configured = false;
>              if (configuredHosts != null) {
>                  String hostIdsStr[] = configuredHosts.split(",");
> @@ -1414,7 +1414,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  String result = cmd.execute();
>                  if (result != null) {
>                      throw new CloudRuntimeException(
> -                        "Unable to pre-configure OVS bridge " + nwName
> +                            "Unable to pre-configure OVS bridge " + nwName
>                              + " for network ID:" + networkId);
>                  }
>              }
> @@ -1431,11 +1431,11 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              if (!findOrCreateTunnelNetwork(cmd.getKey())) {
>                  s_logger.debug("Error during bridge setup");
>                  return new OvsCreateTunnelAnswer(cmd, false,
> -                    "Cannot create network", bridge);
> +                        "Cannot create network", bridge);
>              }
>
>              configureTunnelNetwork(cmd.getNetworkId(), cmd.getFrom(),
> -                cmd.getKey());
> +                    cmd.getKey());
>              Script command = new Script(_ovsTunnelPath, _timeout,
> s_logger);
>              command.add("create_tunnel");
>              command.add("--bridge", bridge);
> @@ -1447,7 +1447,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              String result = command.execute();
>              if (result != null) {
>                  return new OvsCreateTunnelAnswer(cmd, true, result, null,
> -                    bridge);
> +                        bridge);
>              } else {
>                  return new OvsCreateTunnelAnswer(cmd, false, result,
> bridge);
>              }
> @@ -1462,7 +1462,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          try {
>              if (!findOrCreateTunnelNetwork(cmd.getKey())) {
>                  s_logger.warn("Unable to find tunnel network for GRE key:"
> -                    + cmd.getKey());
> +                        + cmd.getKey());
>                  return new Answer(cmd, false, "No network found");
>              }
>
> @@ -1513,7 +1513,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>               It COULD also do it the other way around, but the code in
> the ManagementServerImpl shows
>               that it always sets copyToSecondary to true
>
> -          */
> +         */
>          boolean copyToSecondary = cmd.toSecondaryStorage();
>          String volumePath = cmd.getVolumePath();
>          StorageFilerTO pool = cmd.getPool();
> @@ -1526,8 +1526,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              } catch (CloudRuntimeException e) {
>                  if (e.getMessage().contains("not found")) {
>                      primaryPool =
> -
>  _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> -                            cmd.getPool().getUserInfo(),
> cmd.getPool().getType());
> +
>  _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> +                                    cmd.getPool().getUserInfo(),
> cmd.getPool().getType());
>                  } else {
>                      return new CopyVolumeAnswer(cmd, false,
> e.getMessage(), null, null);
>                  }
> @@ -1641,7 +1641,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  vol = primaryPool.createPhysicalDisk(dskch.getPath(),
> dskch.getSize());
>              }
>              VolumeTO volume =
> -                new VolumeTO(cmd.getVolumeId(), dskch.getType(),
> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
> vol.getName(), disksize, null);
> +                    new VolumeTO(cmd.getVolumeId(), dskch.getType(),
> pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(),
> vol.getName(), disksize, null);
>              volume.setBytesReadRate(dskch.getBytesReadRate());
>              volume.setBytesWriteRate(dskch.getBytesWriteRate());
>              volume.setIopsReadRate(dskch.getIopsReadRate());
> @@ -1710,7 +1710,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          if (pool.getType() == StoragePoolType.CLVM && volFormat ==
> PhysicalDiskFormat.RAW) {
>              return "CLVM";
>          } else if ((poolType == StoragePoolType.NetworkFilesystem ||
> poolType == StoragePoolType.SharedMountPoint || poolType ==
> StoragePoolType.Filesystem) &&
> -            volFormat == PhysicalDiskFormat.QCOW2) {
> +                volFormat == PhysicalDiskFormat.QCOW2) {
>              return "QCOW2";
>          }
>          return null;
> @@ -1770,7 +1770,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  }
>
>                  s_logger.debug("got to the stage where we execute the
> volume resize, params:" + path + "," + currentSize + "," + newSize + "," +
> type + "," +
> -                    vmInstanceName + "," + shrinkOk);
> +                        vmInstanceName + "," + shrinkOk);
>                  final Script resizecmd = new Script(_resizeVolumePath,
> _cmdsTimeout, s_logger);
>                  resizecmd.add("-s", String.valueOf(newSize));
>                  resizecmd.add("-c", String.valueOf(currentSize));
> @@ -1826,7 +1826,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  } else {
>                      //untagged or not matching (eth|bond)#.#
>                      s_logger.debug("failed to get vNet id from bridge " +
> brName
> -                           + "attached to physical interface" + pif + ",
> perhaps untagged interface");
> +                            + "attached to physical interface" + pif + ",
> perhaps untagged interface");
>                      return "";
>                  }
>              }
> @@ -1862,7 +1862,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                      List<InterfaceDef> ifaces = getInterfaces(conn,
> dhcpName);
>                      InterfaceDef guestNic = ifaces.get(0);
>                      script.add(opr, "-b", _guestBridgeName, "-p",
> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
> dhcpMac, "-I",
> -                        guestNic.getDevName());
> +                            guestNic.getDevName());
>                  } else {
>                      script.add(opr, "-b", _guestBridgeName, "-p",
> primaryPvlan, "-i", isolatedPvlan, "-n", dhcpName, "-d", dhcpIp, "-m",
> dhcpMac);
>                  }
> @@ -2103,7 +2103,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  } else if (pluggedVlanId == null) {
>                      /*this should only be true in the case of link local
> bridge*/
>                      return new SetSourceNatAnswer(cmd, false, "unable to
> find the vlan id for bridge " + pluggedVlanBr + " when attempting to set
> up" + pubVlan +
> -                        " on router " + routerName);
> +                            " on router " + routerName);
>                  } else if (pluggedVlanId.equals(pubVlan)) {
>                      break;
>                  }
> @@ -2143,7 +2143,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  if (pluggedVlan.equalsIgnoreCase(_linkLocalBridgeName)) {
>                      broadcastUriToNicNum.put("LinkLocal", devNum);
>                  } else if
> (pluggedVlan.equalsIgnoreCase(_publicBridgeName) ||
> pluggedVlan.equalsIgnoreCase(_privBridgeName) ||
> -                    pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
> +                        pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
>
>  broadcastUriToNicNum.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
> devNum);
>                  } else {
>
>  broadcastUriToNicNum.put(getBroadcastUriFromBridge(pluggedVlan), devNum);
> @@ -2188,7 +2188,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                      broadcastUriAllocatedToVM.put("LinkLocal", nicPos);
>                  } else {
>                      if
> (nic.getBrName().equalsIgnoreCase(_publicBridgeName) ||
> nic.getBrName().equalsIgnoreCase(_privBridgeName) ||
> -
>  nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
> +
>  nic.getBrName().equalsIgnoreCase(_guestBridgeName)) {
>
>  broadcastUriAllocatedToVM.put(BroadcastDomainType.Vlan.toUri(Vlan.UNTAGGED).toString(),
> nicPos);
>                      } else {
>                          String broadcastUri =
> getBroadcastUriFromBridge(nic.getBrName());
> @@ -2212,8 +2212,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  nicNum =
> broadcastUriAllocatedToVM.get(ip.getBroadcastUri());
>                  networkUsage(routerIp, "addVif", "eth" + nicNum);
>                  result =
> -                    _virtRouterResource.assignPublicIpAddress(routerName,
> routerIp, ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(),
> ip.getBroadcastUri(),
> -                        ip.getVlanGateway(), ip.getVlanNetmask(),
> ip.getVifMacAddress(), nicNum, newNic);
> +
>  _virtRouterResource.assignPublicIpAddress(routerName, routerIp,
> ip.getPublicIp(), ip.isAdd(), ip.isFirstIP(), ip.isSourceNat(),
> ip.getBroadcastUri(),
> +                                ip.getVlanGateway(), ip.getVlanNetmask(),
> ip.getVifMacAddress(), nicNum, newNic);
>
>                  if (result == null) {
>                      results[i++] = ip.getPublicIp() + " - success";
> @@ -2378,8 +2378,6 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                      Rbd rbd = new Rbd(io);
>                      RbdImage image = rbd.open(snapshotDisk.getName(),
> snapshotName);
>
> -                    long startTime = System.currentTimeMillis() / 1000;
> -
>                      File fh = new File(snapshotDestPath);
>                      BufferedOutputStream bos = new
> BufferedOutputStream(new FileOutputStream(fh));
>                      int chunkSize = 4194304;
> @@ -2582,8 +2580,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              } catch (CloudRuntimeException e) {
>                  if (e.getMessage().contains("not found")) {
>                      primary =
> -
>  _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> -                            cmd.getPool().getUserInfo(),
> cmd.getPool().getType());
> +
>  _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> +                                    cmd.getPool().getUserInfo(),
> cmd.getPool().getType());
>                  } else {
>                      return new CreatePrivateTemplateAnswer(cmd, false,
> e.getMessage());
>                  }
> @@ -2609,8 +2607,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  s_logger.debug("Converting RBD disk " + disk.getPath() +
> " into template " + cmd.getUniqueName());
>
>                  QemuImgFile srcFile =
> -                    new
> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
> primary.getSourcePort(), primary.getAuthUserName(),
> -                        primary.getAuthSecret(), disk.getPath()));
> +                        new
> QemuImgFile(KVMPhysicalDisk.RBDStringBuilder(primary.getSourceHost(),
> primary.getSourcePort(), primary.getAuthUserName(),
> +                                primary.getAuthSecret(), disk.getPath()));
>                  srcFile.setFormat(PhysicalDiskFormat.RAW);
>
>                  QemuImgFile destFile = new QemuImgFile(tmpltPath + "/" +
> cmd.getUniqueName() + ".qcow2");
> @@ -2621,7 +2619,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                      q.convert(srcFile, destFile);
>                  } catch (QemuImgException e) {
>                      s_logger.error("Failed to create new template while
> converting " + srcFile.getFileName() + " to " + destFile.getFileName() + "
> the error was: " +
> -                        e.getMessage());
> +                            e.getMessage());
>                  }
>
>                  File templateProp = new File(tmpltPath +
> "/template.properties");
> @@ -2655,7 +2653,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              loc.save();
>
>              return new CreatePrivateTemplateAnswer(cmd, true, null,
> templateInstallFolder + cmd.getUniqueName() + ".qcow2", info.virtualSize,
> info.size,
> -                cmd.getUniqueName(), ImageFormat.QCOW2);
> +                    cmd.getUniqueName(), ImageFormat.QCOW2);
>          } catch (InternalErrorException e) {
>              return new CreatePrivateTemplateAnswer(cmd, false,
> e.toString());
>          } catch (IOException e) {
> @@ -2726,8 +2724,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>
>      protected Answer execute(ModifyStoragePoolCommand cmd) {
>          KVMStoragePool storagepool =
> -            _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> cmd.getPool()
> -                .getUserInfo(), cmd.getPool().getType());
> +
>  _storagePoolMgr.createStoragePool(cmd.getPool().getUuid(),
> cmd.getPool().getHost(), cmd.getPool().getPort(), cmd.getPool().getPath(),
> cmd.getPool()
> +                        .getUserInfo(), cmd.getPool().getType());
>          if (storagepool == null) {
>              return new Answer(cmd, false, " Failed to create storage
> pool");
>          }
> @@ -2751,15 +2749,15 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          }
>
>          boolean result =
> -            add_network_rules(cmd.getVmName(),
> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
> -                cmd.stringifyRules(), vif, brname, cmd.getSecIpsString());
> +                add_network_rules(cmd.getVmName(),
> Long.toString(cmd.getVmId()), cmd.getGuestIp(), cmd.getSignature(),
> Long.toString(cmd.getSeqNum()), cmd.getGuestMac(),
> +                        cmd.stringifyRules(), vif, brname,
> cmd.getSecIpsString());
>
>          if (!result) {
>              s_logger.warn("Failed to program network rules for vm " +
> cmd.getVmName());
>              return new SecurityGroupRuleAnswer(cmd, false, "programming
> network rules failed");
>          } else {
>              s_logger.debug("Programmed network rules for vm " +
> cmd.getVmName() + " guestIp=" + cmd.getGuestIp() + ",ingress numrules=" +
> cmd.getIngressRuleSet().length +
> -                ",egress numrules=" + cmd.getEgressRuleSet().length);
> +                    ",egress numrules=" + cmd.getEgressRuleSet().length);
>              return new SecurityGroupRuleAnswer(cmd);
>          }
>      }
> @@ -2850,8 +2848,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>              KVMStoragePool primary =
> _storagePoolMgr.getStoragePool(cmd.getPooltype(), cmd.getPoolUuid());
>              KVMPhysicalDisk disk =
> primary.getPhysicalDisk(cmd.getVolumePath());
>              attachOrDetachDisk(conn, cmd.getAttach(), cmd.getVmName(),
> disk,
> -                cmd.getDeviceId().intValue(), cmd.getBytesReadRate(),
> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
> -                cmd.getCacheMode());
> +                    cmd.getDeviceId().intValue(), cmd.getBytesReadRate(),
> cmd.getBytesWriteRate(), cmd.getIopsReadRate(), cmd.getIopsWriteRate(),
> +                    cmd.getCacheMode());
>          } catch (LibvirtException e) {
>              return new AttachVolumeAnswer(cmd, e.toString());
>          } catch (InternalErrorException e) {
> @@ -2985,7 +2983,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  description for the instance to be used on the target
> host.
>
>                  This is supported by libvirt-java from version 0.50.0
> -            */
> +             */
>              xmlDesc = dm.getXMLDesc(0).replace(_privateIp,
> cmd.getDestinationIp());
>
>              dconn = new Connect("qemu+tcp://" + cmd.getDestinationIp() +
> "/system");
> @@ -3768,7 +3766,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                              we pass the pool's UUID as the authSecret
>                       */
>
>  disk.defNetworkBasedDisk(physicalDisk.getPath().replace("rbd:", ""),
> pool.getSourceHost(), pool.getSourcePort(), pool.getAuthUserName(),
> -                        pool.getUuid(), devId, diskBusType,
> diskProtocol.RBD);
> +                            pool.getUuid(), devId, diskBusType,
> diskProtocol.RBD);
>                  } else if (pool.getType() == StoragePoolType.CLVM ||
> physicalDisk.getFormat() == PhysicalDiskFormat.RAW) {
>                      disk.defBlockBasedDisk(physicalDisk.getPath(), devId,
> diskBusType);
>                  } else {
> @@ -3864,7 +3862,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      }
>
>      protected synchronized String attachOrDetachISO(Connect conn, String
> vmName, String isoPath, boolean isAttach) throws LibvirtException,
> URISyntaxException,
> -        InternalErrorException {
> +    InternalErrorException {
>          String isoXml = null;
>          if (isoPath != null && isAttach) {
>              int index = isoPath.lastIndexOf("/");
> @@ -3897,8 +3895,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      }
>
>      protected synchronized String attachOrDetachDisk(Connect conn,
> -        boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
> -        int devId, Long bytesReadRate, Long bytesWriteRate, Long
> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
> LibvirtException, InternalErrorException {
> +            boolean attach, String vmName, KVMPhysicalDisk attachingDisk,
> +            int devId, Long bytesReadRate, Long bytesWriteRate, Long
> iopsReadRate, Long iopsWriteRate, String cacheMode) throws
> LibvirtException, InternalErrorException {
>          List<DiskDef> disks = null;
>          Domain dm = null;
>          DiskDef diskdef = null;
> @@ -3925,7 +3923,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>                  diskdef = new DiskDef();
>                  if (attachingPool.getType() == StoragePoolType.RBD) {
>                      diskdef.defNetworkBasedDisk(attachingDisk.getPath(),
> attachingPool.getSourceHost(), attachingPool.getSourcePort(),
> attachingPool.getAuthUserName(),
> -                        attachingPool.getUuid(), devId,
> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
> +                            attachingPool.getUuid(), devId,
> DiskDef.diskBus.VIRTIO, diskProtocol.RBD);
>                  } else if (attachingDisk.getFormat() ==
> PhysicalDiskFormat.QCOW2) {
>                      diskdef.defFileBasedDisk(attachingDisk.getPath(),
> devId, DiskDef.diskBus.VIRTIO, DiskDef.diskFmtType.QCOW2);
>                  } else if (attachingDisk.getFormat() ==
> PhysicalDiskFormat.RAW) {
> @@ -4025,8 +4023,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          final List<Object> info = getHostInfo();
>
>          final StartupRoutingCommand cmd =
> -            new StartupRoutingCommand((Integer)info.get(0),
> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
> (String)info.get(3), _hypervisorType,
> -                RouterPrivateIpStrategy.HostLocal);
> +                new StartupRoutingCommand((Integer)info.get(0),
> (Long)info.get(1), (Long)info.get(2), (Long)info.get(4),
> (String)info.get(3), _hypervisorType,
> +                        RouterPrivateIpStrategy.HostLocal);
>          cmd.setStateChanges(changes);
>          cmd.setCpuSockets((Integer)info.get(5));
>          fillNetworkInformation(cmd);
> @@ -4042,8 +4040,8 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>
>              KVMStoragePool localStoragePool =
> _storagePoolMgr.createStoragePool(_localStorageUUID, "localhost", -1,
> _localStoragePath, "", StoragePoolType.Filesystem);
>              com.cloud.agent.api.StoragePoolInfo pi =
> -                new
> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
> -                    StoragePoolType.Filesystem,
> localStoragePool.getCapacity(), localStoragePool.getAvailable());
> +                    new
> com.cloud.agent.api.StoragePoolInfo(localStoragePool.getUuid(),
> cmd.getPrivateIpAddress(), _localStoragePath, _localStoragePath,
> +                            StoragePoolType.Filesystem,
> localStoragePool.getCapacity(), localStoragePool.getAvailable());
>
>              sscmd = new StartupStorageCommand();
>              sscmd.setPoolInfo(pi);
> @@ -4723,11 +4721,11 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>          }
>          String guestOSName = KVMGuestOsMapper.getGuestOsName(guestOS);
>          if (guestOS.startsWith("Ubuntu") ||
> guestOSName.startsWith("Fedora 13") || guestOSName.startsWith("Fedora 12")
> || guestOSName.startsWith("Fedora 11") ||
> -            guestOSName.startsWith("Fedora 10") ||
> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3")
> || guestOSName.startsWith("CentOS 5.4") ||
> -            guestOSName.startsWith("CentOS 5.5") ||
> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.3") ||
> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
> -            guestOSName.startsWith("Red Hat Enterprise Linux 5.5") ||
> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
> guestOS.startsWith("Debian GNU/Linux") ||
> -            guestOSName.startsWith("Other PV")) {
> +                guestOSName.startsWith("Fedora 10") ||
> guestOSName.startsWith("Fedora 9") || guestOSName.startsWith("CentOS 5.3")
> || guestOSName.startsWith("CentOS 5.4") ||
> +                guestOSName.startsWith("CentOS 5.5") ||
> guestOS.startsWith("CentOS") || guestOS.startsWith("Fedora") ||
> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.3") ||
> guestOSName.startsWith("Red Hat Enterprise Linux 5.4") ||
> +                guestOSName.startsWith("Red Hat Enterprise Linux 5.5") ||
> guestOSName.startsWith("Red Hat Enterprise Linux 6") ||
> guestOS.startsWith("Debian GNU/Linux") ||
> +                guestOSName.startsWith("Other PV")) {
>              return true;
>          } else {
>              return false;
> @@ -5073,7 +5071,7 @@ public class LibvirtComputingResource extends
> ServerResourceBase implements Serv
>      }
>
>      private boolean add_network_rules(String vmName, String vmId, String
> guestIP, String sig, String seq, String mac, String rules, String vif,
> String brname,
> -        String secIps) {
> +            String secIps) {
>          if (!_canBridgeFirewall) {
>              return false;
>          }
>
>