You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2014/01/22 20:28:07 UTC

[42/53] [abbrv] git commit: updated refs/heads/rbac to 33cd1ab

Get rid of compiler warnings and dead code in plugin-hypervisor-vmware


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

Branch: refs/heads/rbac
Commit: 532bf4b19022532a961535ce008d682a05c25e5c
Parents: b20add8
Author: Hugo Trippaers <ht...@schubergphilis.com>
Authored: Wed Jan 22 09:55:38 2014 +0100
Committer: Hugo Trippaers <ht...@schubergphilis.com>
Committed: Wed Jan 22 09:55:38 2014 +0100

----------------------------------------------------------------------
 .../cloud/hypervisor/vmware/LegacyZoneVO.java   |  10 +-
 .../hypervisor/vmware/VmwareCleanupMaid.java    |  11 -
 .../hypervisor/vmware/VmwareDatacenterVO.java   |  16 +-
 .../vmware/VmwareDatacenterZoneMapVO.java       |   2 +
 .../vmware/VmwareServerDiscoverer.java          |  28 +-
 .../vmware/manager/VmwareManagerImpl.java       |  62 +--
 .../manager/VmwareStorageManagerImpl.java       | 170 +++----
 .../vmware/resource/VmwareResource.java         | 476 ++++++++-----------
 .../cloud/network/CiscoNexusVSMDeviceVO.java    |  38 +-
 .../network/element/CiscoNexusVSMElement.java   |   2 -
 .../VmwareSecondaryStorageResourceHandler.java  |  43 +-
 .../vmware/resource/VmwareResourceTest.java     |   2 +-
 .../motion/VmwareStorageMotionStrategyTest.java |  15 +-
 13 files changed, 332 insertions(+), 543 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/LegacyZoneVO.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/LegacyZoneVO.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/LegacyZoneVO.java
index c31dab6..93533bc 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/LegacyZoneVO.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/LegacyZoneVO.java
@@ -27,13 +27,15 @@ import javax.persistence.Table;
 import com.cloud.utils.NumbersUtil;
 
 /**
-* LegacyZoneVO contains id of CloudStack zone containing clusters from multiple VMware vCetners and/or VMware Datacenters.
-*/
+ * LegacyZoneVO contains id of CloudStack zone containing clusters from multiple VMware vCetners and/or VMware Datacenters.
+ */
 
 @Entity
 @Table(name = "legacy_zones")
 public class LegacyZoneVO implements LegacyZone {
 
+    private static final long serialVersionUID = -3979866054555152793L;
+
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "id")
@@ -60,7 +62,7 @@ public class LegacyZoneVO implements LegacyZone {
     @Override
     public boolean equals(Object obj) {
         if (obj instanceof LegacyZoneVO) {
-            return ((LegacyZoneVO)obj).getId() == this.getId();
+            return ((LegacyZoneVO)obj).getId() == getId();
         } else {
             return false;
         }
@@ -70,7 +72,7 @@ public class LegacyZoneVO implements LegacyZone {
     }
 
     public LegacyZoneVO(long zoneId) {
-        this.id = zoneId;
+        id = zoneId;
     }
 
     public LegacyZoneVO(long id, long zoneId) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareCleanupMaid.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareCleanupMaid.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareCleanupMaid.java
index b7746f9..d3b001a 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareCleanupMaid.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareCleanupMaid.java
@@ -16,7 +16,6 @@
 // under the License.
 package com.cloud.hypervisor.vmware;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -98,16 +97,6 @@ public class VmwareCleanupMaid {
         return _checkPoint;
     }
 
-    private synchronized static void addLeftOverVM(VmwareCleanupMaid cleanupMaid) {
-        List<VmwareCleanupMaid> l = s_leftoverDummyVMs.get(cleanupMaid.getVCenterServer());
-        if (l == null) {
-            l = new ArrayList<VmwareCleanupMaid>();
-            s_leftoverDummyVMs.put(cleanupMaid.getVCenterServer(), l);
-        }
-
-        l.add(cleanupMaid);
-    }
-
     public synchronized static void gcLeftOverVMs(VmwareContext context) {
         List<VmwareCleanupMaid> l = s_leftoverDummyVMs.get(context.getServerAddress());
         VmwareManager mgr = context.getStockObject(VmwareManager.CONTEXT_STOCK_NAME);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
index 881b44f..86597b2 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterVO.java
@@ -37,6 +37,8 @@ import com.cloud.utils.db.Encrypt;
 @Table(name = "vmware_data_center")
 public class VmwareDatacenterVO implements VmwareDatacenter {
 
+    private static final long serialVersionUID = -9114941929893819232L;
+
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "id")
@@ -105,11 +107,11 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
     }
 
     public void setVmwareDatacenterName(String name) {
-        this.vmwareDatacenterName = name;
+        vmwareDatacenterName = name;
     }
 
     public void setVcenterHost(String vCenterHost) {
-        this.vcenterHost = vCenterHost;
+        vcenterHost = vCenterHost;
     }
 
     public void setUser(String user) {
@@ -134,17 +136,17 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
     @Override
     public boolean equals(Object obj) {
         if (obj instanceof VmwareDatacenterVO) {
-            return ((VmwareDatacenterVO)obj).getId() == this.getId();
+            return ((VmwareDatacenterVO)obj).getId() == getId();
         } else {
             return false;
         }
     }
 
     public VmwareDatacenterVO(String guid, String name, String vCenterHost, String user, String password) {
-        this.uuid = UUID.randomUUID().toString();
-        this.vmwareDatacenterName = name;
+        uuid = UUID.randomUUID().toString();
+        vmwareDatacenterName = name;
         this.guid = guid;
-        this.vcenterHost = vCenterHost;
+        vcenterHost = vCenterHost;
         this.user = user;
         this.password = password;
     }
@@ -155,7 +157,7 @@ public class VmwareDatacenterVO implements VmwareDatacenter {
     }
 
     public VmwareDatacenterVO() {
-        this.uuid = UUID.randomUUID().toString();
+        uuid = UUID.randomUUID().toString();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterZoneMapVO.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterZoneMapVO.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterZoneMapVO.java
index ae9ccbf..a8d88b4 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterZoneMapVO.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareDatacenterZoneMapVO.java
@@ -32,6 +32,8 @@ import javax.persistence.Table;
 @Table(name = "vmware_data_center_zone_map")
 public class VmwareDatacenterZoneMapVO implements VmwareDatacenterZoneMap {
 
+    private static final long serialVersionUID = -2155826205976479040L;
+
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "id")

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
index ad3620d..3cd7a9f 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
@@ -126,7 +126,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
 
     @Override
     public Map<? extends ServerResource, Map<String, String>>
-        find(long dcId, Long podId, Long clusterId, URI url, String username, String password, List<String> hostTags) throws DiscoveryException {
+    find(long dcId, Long podId, Long clusterId, URI url, String username, String password, List<String> hostTags) throws DiscoveryException {
 
         if (s_logger.isInfoEnabled())
             s_logger.info("Discover host. dc: " + dcId + ", pod: " + podId + ", cluster: " + clusterId + ", uri host: " + url.getHost());
@@ -158,7 +158,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
             if (usernameNotProvided || passwordNotProvided) {
                 // Retrieve credentials associated with VMware DC
                 s_logger.info("Username and/or Password not provided while adding cluster to cloudstack zone. "
-                    + "Hence using both username & password provided while adding VMware DC to CloudStack zone.");
+                        + "Hence using both username & password provided while adding VMware DC to CloudStack zone.");
                 username = vmwareDc.getUser();
                 password = vmwareDc.getPassword();
                 clusterDetails.put("username", username);
@@ -252,7 +252,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
 
             // Process traffic label information provided at zone level and cluster level
             publicTrafficLabelObj =
-                getTrafficInfo(TrafficType.Public, publicTrafficLabel, defaultVirtualSwitchType, paramPublicVswitchType, paramPublicVswitchName, clusterId);
+                    getTrafficInfo(TrafficType.Public, publicTrafficLabel, defaultVirtualSwitchType, paramPublicVswitchType, paramPublicVswitchName, clusterId);
 
             // Configuration Check: A physical network cannot be shared by different types of virtual switches.
             //
@@ -272,7 +272,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
             if (pNetworkListGuestTraffic.contains(pNetworkPublic)) {
                 if (publicTrafficLabelObj.getVirtualSwitchType() != guestTrafficLabelObj.getVirtualSwitchType()) {
                     String msg =
-                        "Both public traffic and guest traffic is over same physical network " + pNetworkPublic +
+                            "Both public traffic and guest traffic is over same physical network " + pNetworkPublic +
                             ". And virtual switch type chosen for each traffic is different" +
                             ". A physical network cannot be shared by different types of virtual switches.";
                     s_logger.error(msg);
@@ -295,7 +295,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
         }
         Pair<Boolean, Long> vsmInfo = new Pair<Boolean, Long>(false, 0L);
         if (nexusDVS && (guestTrafficLabelObj.getVirtualSwitchType() == VirtualSwitchType.NexusDistributedVirtualSwitch) ||
-            ((zoneType == NetworkType.Advanced) && (publicTrafficLabelObj.getVirtualSwitchType() == VirtualSwitchType.NexusDistributedVirtualSwitch))) {
+                ((zoneType == NetworkType.Advanced) && (publicTrafficLabelObj.getVirtualSwitchType() == VirtualSwitchType.NexusDistributedVirtualSwitch))) {
             // Expect Cisco Nexus VSM details only if following 2 condition met
             // 1) The global config parameter vmware.use.nexus.vswitch
             // 2) Atleast 1 traffic type uses Nexus distributed virtual switch as backend.
@@ -335,14 +335,14 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
                     context.registerStockObject("vsmcredentials", vsmCredentials);
                 }
             }
-            List<ManagedObjectReference> morHosts = _vmwareMgr.addHostToPodCluster(context, dcId, podId, clusterId, URLDecoder.decode(url.getPath()));
+            List<ManagedObjectReference> morHosts = _vmwareMgr.addHostToPodCluster(context, dcId, podId, clusterId, URLDecoder.decode(url.getPath(), "UTF-8"));
             if (morHosts == null)
                 s_logger.info("Found 0 hosts.");
             if (privateTrafficLabel != null)
                 context.uregisterStockObject("privateTrafficLabel");
 
             if (morHosts == null) {
-                s_logger.error("Unable to find host or cluster based on url: " + URLDecoder.decode(url.getPath()));
+                s_logger.error("Unable to find host or cluster based on url: " + URLDecoder.decode(url.getPath(), "UTF-8"));
                 return null;
             }
 
@@ -350,7 +350,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
             clusterDetails = _clusterDetailsDao.findDetails(clusterId);
             if (clusterDetails.get("url") != null) {
                 URI uriFromCluster = new URI(UriUtils.encodeURIComponent(clusterDetails.get("url")));
-                morCluster = context.getHostMorByPath(URLDecoder.decode(uriFromCluster.getPath()));
+                morCluster = context.getHostMorByPath(URLDecoder.decode(uriFromCluster.getPath(), "UTF-8"));
 
                 if (morCluster == null || !morCluster.getType().equalsIgnoreCase("ClusterComputeResource")) {
                     s_logger.warn("Cluster url does not point to a valid vSphere cluster, url: " + clusterDetails.get("url"));
@@ -491,13 +491,13 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
 
         if (!vCenterHost.equalsIgnoreCase(url.getHost())) {
             msg =
-                "This cluster " + clusterName + " belongs to vCenter " + url.getHost() + ". But this zone is associated with VMware DC from vCenter " + vCenterHost +
+                    "This cluster " + clusterName + " belongs to vCenter " + url.getHost() + ". But this zone is associated with VMware DC from vCenter " + vCenterHost +
                     ". Make sure the cluster being added belongs to vCenter " + vCenterHost + " and VMware DC " + vmwareDcNameFromDb;
             s_logger.error(msg);
             throw new DiscoveryException(msg);
         } else if (!vmwareDcNameFromDb.equalsIgnoreCase(vmwareDcNameFromApi)) {
             msg =
-                "This cluster " + clusterName + " belongs to VMware DC " + vmwareDcNameFromApi + " .But this zone is associated with VMware DC " + vmwareDcNameFromDb +
+                    "This cluster " + clusterName + " belongs to VMware DC " + vmwareDcNameFromApi + " .But this zone is associated with VMware DC " + vmwareDcNameFromDb +
                     ". Make sure the cluster being added belongs to VMware DC " + vmwareDcNameFromDb + " in vCenter " + vCenterHost;
             s_logger.error(msg);
             throw new DiscoveryException(msg);
@@ -567,8 +567,8 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
         if (tmplt == null) {
             id = _tmpltDao.getNextInSequence(Long.class, "id");
             VMTemplateVO template =
-                VMTemplateVO.createPreHostIso(id, isoName, isoName, ImageFormat.ISO, true, true, TemplateType.PERHOST, null, null, true, 64, Account.ACCOUNT_ID_SYSTEM,
-                    null, "VMware Tools Installer ISO", false, 1, false, HypervisorType.VMware);
+                    VMTemplateVO.createPreHostIso(id, isoName, isoName, ImageFormat.ISO, true, true, TemplateType.PERHOST, null, null, true, 64, Account.ACCOUNT_ID_SYSTEM,
+                            null, "VMware Tools Installer ISO", false, 1, false, HypervisorType.VMware);
             _tmpltDao.persist(template);
         } else {
             id = tmplt.getId();
@@ -627,7 +627,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
     }
 
     private VmwareTrafficLabel getTrafficInfo(TrafficType trafficType, String zoneWideTrafficLabel, VirtualSwitchType defaultVirtualSwitchType, String vSwitchType,
-        String vSwitchName, Long clusterId) {
+            String vSwitchName, Long clusterId) {
         VmwareTrafficLabel trafficLabelObj = null;
         Map<String, String> clusterDetails = null;
         try {
@@ -664,7 +664,7 @@ public class VmwareServerDiscoverer extends DiscovererBase implements Discoverer
     }
 
     private VmwareTrafficLabel getTrafficInfo(TrafficType trafficType, String zoneWideTrafficLabel, Map<String, String> clusterDetails,
-        VirtualSwitchType defVirtualSwitchType) {
+            VirtualSwitchType defVirtualSwitchType) {
         VmwareTrafficLabel trafficLabelObj = null;
         try {
             trafficLabelObj = new VmwareTrafficLabel(zoneWideTrafficLabel, trafficType, defVirtualSwitchType);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
index 96f411e..482e8a6 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
@@ -40,7 +40,6 @@ import org.apache.log4j.Logger;
 
 import com.google.gson.Gson;
 import com.vmware.vim25.AboutInfo;
-import com.vmware.vim25.HostConnectSpec;
 import com.vmware.vim25.ManagedObjectReference;
 
 import org.apache.cloudstack.api.command.admin.zone.AddVmwareDcCmd;
@@ -94,11 +93,9 @@ import com.cloud.hypervisor.vmware.mo.DiskControllerType;
 import com.cloud.hypervisor.vmware.mo.HostFirewallSystemMO;
 import com.cloud.hypervisor.vmware.mo.HostMO;
 import com.cloud.hypervisor.vmware.mo.HypervisorHostHelper;
-import com.cloud.hypervisor.vmware.mo.TaskMO;
 import com.cloud.hypervisor.vmware.mo.VirtualEthernetCardType;
 import com.cloud.hypervisor.vmware.mo.VmwareHostType;
 import com.cloud.hypervisor.vmware.resource.VmwareContextFactory;
-import com.cloud.hypervisor.vmware.util.VmwareClient;
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.cloud.hypervisor.vmware.util.VmwareHelper;
 import com.cloud.network.CiscoNexusVSMDeviceVO;
@@ -400,7 +397,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
 
     @Override
     public List<ManagedObjectReference> addHostToPodCluster(VmwareContext serviceContext, long dcId, Long podId, Long clusterId, String hostInventoryPath)
-        throws Exception {
+            throws Exception {
         ManagedObjectReference mor = null;
         if (serviceContext != null) {
             mor = serviceContext.getHostMorByPath(hostInventoryPath);
@@ -415,7 +412,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
             List<ManagedObjectReference> returnedHostList = new ArrayList<ManagedObjectReference>();
 
             if (mor.getType().equals("ComputeResource")) {
-                List<ManagedObjectReference> hosts = (List<ManagedObjectReference>)serviceContext.getVimClient().getDynamicProperty(mor, "host");
+                List<ManagedObjectReference> hosts = serviceContext.getVimClient().getDynamicProperty(mor, "host");
                 assert (hosts != null && hosts.size() > 0);
 
                 // For ESX host, we need to enable host firewall to allow VNC access
@@ -425,7 +422,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
                 returnedHostList.add(hosts.get(0));
                 return returnedHostList;
             } else if (mor.getType().equals("ClusterComputeResource")) {
-                List<ManagedObjectReference> hosts = (List<ManagedObjectReference>)serviceContext.getVimClient().getDynamicProperty(mor, "host");
+                List<ManagedObjectReference> hosts = serviceContext.getVimClient().getDynamicProperty(mor, "host");
                 assert (hosts != null);
 
                 if (hosts.size() > 0) {
@@ -462,45 +459,6 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
         return null;
     }
 
-    @Deprecated
-    private ManagedObjectReference
-        addHostToVCenterCluster(VmwareContext serviceContext, ManagedObjectReference morCluster, String host, String userName, String password) throws Exception {
-
-        VmwareClient vclient = serviceContext.getVimClient();
-        ManagedObjectReference morHost = vclient.getDecendentMoRef(morCluster, "HostSystem", host);
-        if (morHost == null) {
-            HostConnectSpec hostSpec = new HostConnectSpec();
-            hostSpec.setUserName(userName);
-            hostSpec.setPassword(password);
-            hostSpec.setHostName(host);
-            hostSpec.setForce(true);        // forcely take over the host
-
-            ManagedObjectReference morTask = serviceContext.getService().addHostTask(morCluster, hostSpec, true, null, null);
-            boolean taskResult = vclient.waitForTask(morTask);
-            if (!taskResult) {
-                s_logger.error("Unable to add host " + host + " to vSphere cluster due to " + TaskMO.getTaskFailureInfo(serviceContext, morTask));
-                throw new CloudRuntimeException("Unable to add host " + host + " to vSphere cluster due to " + taskResult);
-            }
-            serviceContext.waitForTaskProgressDone(morTask);
-
-            // init morHost after it has been created
-            morHost = vclient.getDecendentMoRef(morCluster, "HostSystem", host);
-            if (morHost == null) {
-                throw new CloudRuntimeException(
-                    "Successfully added host into vSphere but unable to find it later on?!. Please make sure you are either using IP address or full qualified domain name for host");
-            }
-        }
-
-        // For ESX host, we need to enable host firewall to allow VNC access
-        HostMO hostMo = new HostMO(serviceContext, morHost);
-        HostFirewallSystemMO firewallMo = hostMo.getHostFirewallSystemMO();
-        if (firewallMo != null) {
-            firewallMo.enableRuleset("vncServer");
-            firewallMo.refreshFirewall();
-        }
-        return morHost;
-    }
-
     @Override
     public String getSecondaryStorageStoreUrl(long dcId) {
 
@@ -579,7 +537,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
             return false;
         }
 
-        long startTick = Long.parseLong(tokens[0]);
+        Long.parseLong(tokens[0]);
         long msid = Long.parseLong(tokens[1]);
         long runid = Long.parseLong(tokens[2]);
 
@@ -603,7 +561,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
                         s_logger.info("Worker VM expired, seconds elapsed: " + (System.currentTimeMillis() - startTick) / 1000);
                     return true;
                 }
-        */
+         */
         return false;
     }
 
@@ -631,7 +589,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
                         _configServer.updateKeyPairs();
 
                         s_logger.info("Copy System VM patch ISO file to secondary storage. source ISO: " + srcIso.getAbsolutePath() + ", destination: " +
-                            destIso.getAbsolutePath());
+                                destIso.getAbsolutePath());
                         try {
                             FileUtil.copyfile(srcIso, destIso);
                         } catch (IOException e) {
@@ -1040,7 +998,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
 
         if (vCenterHost == null) {
             throw new InvalidParameterValueException("Missing or invalid parameter name. "
-                + "Please provide valid VMware vCenter server's IP address or fully qualified domain name.");
+                    + "Please provide valid VMware vCenter server's IP address or fully qualified domain name.");
         }
 
         if (zoneId == null) {
@@ -1060,11 +1018,11 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
             VmwareDatacenterVO associatedVmwareDc = _vmwareDcDao.findById(associatedVmwareDcId);
             if (associatedVmwareDc.getVcenterHost().equalsIgnoreCase(vCenterHost) && associatedVmwareDc.getVmwareDatacenterName().equalsIgnoreCase(vmwareDcName)) {
                 s_logger.info("Ignoring API call addVmwareDc, because VMware DC " + vCenterHost + "/" + vmwareDcName +
-                    " is already associated with specified zone with id " + zoneId);
+                        " is already associated with specified zone with id " + zoneId);
                 return associatedVmwareDc;
             } else {
                 throw new CloudRuntimeException("Zone " + zoneId + " is already associated with a VMware datacenter. " +
-                    "Only 1 VMware DC can be associated with a zone.");
+                        "Only 1 VMware DC can be associated with a zone.");
             }
         }
         // Zone validation to check if the zone already has resources.
@@ -1158,8 +1116,6 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
         String userName;
         String password;
         DatacenterMO dcMo = null;
-        Transaction txn;
-
         final VmwareDatacenterZoneMapVO vmwareDcZoneMap = _vmwareDcZoneMapDao.findByZoneId(zoneId);
         // Check if zone is associated with VMware DC
         if (vmwareDcZoneMap == null) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/532bf4b1/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java
index a7089ce..e37bf38 100644
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java
@@ -198,9 +198,6 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
         String installPath = volume.getPath();
         int index = installPath.lastIndexOf(File.separator);
         String volumeUuid = installPath.substring(index + 1);
-        String details = null;
-        boolean success = false;
-
         String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
         //The real volume path
         String volumePath = installPath + File.separator + volumeUuid + ".ova";
@@ -351,8 +348,8 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
                 }
 
                 snapshotBackupUuid =
-                    backupSnapshotToSecondaryStorage(vmMo, accountId, volumeId, cmd.getVolumePath(), snapshotUuid, secondaryStorageUrl, prevSnapshotUuid, prevBackupUuid,
-                        hostService.getWorkerName(context, cmd, 1));
+                        backupSnapshotToSecondaryStorage(vmMo, accountId, volumeId, cmd.getVolumePath(), snapshotUuid, secondaryStorageUrl, prevSnapshotUuid, prevBackupUuid,
+                                hostService.getWorkerName(context, cmd, 1));
 
                 success = (snapshotBackupUuid != null);
                 if (success) {
@@ -407,7 +404,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
             if (vmMo == null) {
                 if (s_logger.isDebugEnabled()) {
                     s_logger.debug("Unable to find the owner VM for CreatePrivateTemplateFromVolumeCommand on host " + hyperHost.getHyperHostName() +
-                        ", try within datacenter");
+                            ", try within datacenter");
                 }
                 vmMo = hyperHost.findVmOnPeerHyperHost(cmd.getVmName());
 
@@ -419,8 +416,8 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
             }
 
             Ternary<String, Long, Long> result =
-                createTemplateFromVolume(vmMo, accountId, templateId, cmd.getUniqueName(), secondaryStoragePoolURL, volumePath,
-                    hostService.getWorkerName(context, cmd, 0));
+                    createTemplateFromVolume(vmMo, accountId, templateId, cmd.getUniqueName(), secondaryStoragePoolURL, volumePath,
+                            hostService.getWorkerName(context, cmd, 0));
 
             return new CreatePrivateTemplateAnswer(cmd, true, null, result.first(), result.third(), result.second(), cmd.getUniqueName(), ImageFormat.OVA);
 
@@ -477,8 +474,8 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
             Pair<String, String> result;
             if (cmd.toSecondaryStorage()) {
                 result =
-                    copyVolumeToSecStorage(hostService, hyperHost, cmd, vmName, volumeId, cmd.getPool().getUuid(), volumePath, secondaryStorageURL,
-                        hostService.getWorkerName(context, cmd, 0));
+                        copyVolumeToSecStorage(hostService, hyperHost, cmd, vmName, volumeId, cmd.getPool().getUuid(), volumePath, secondaryStorageURL,
+                                hostService.getWorkerName(context, cmd, 0));
             } else {
                 StorageFilerTO poolTO = cmd.getPool();
 
@@ -549,10 +546,10 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     // templateName: name in secondary storage
     // templateUuid: will be used at hypervisor layer
     private void copyTemplateFromSecondaryToPrimary(VmwareHypervisorHost hyperHost, DatastoreMO datastoreMo, String secondaryStorageUrl,
-        String templatePathAtSecondaryStorage, String templateName, String templateUuid) throws Exception {
+            String templatePathAtSecondaryStorage, String templateName, String templateUuid) throws Exception {
 
         s_logger.info("Executing copyTemplateFromSecondaryToPrimary. secondaryStorage: " + secondaryStorageUrl + ", templatePathAtSecondaryStorage: " +
-            templatePathAtSecondaryStorage + ", templateName: " + templateName);
+                templatePathAtSecondaryStorage + ", templateName: " + templateName);
 
         String secondaryMountPoint = _mountService.getMountPoint(secondaryStorageUrl);
         s_logger.info("Secondary storage mount point: " + secondaryMountPoint);
@@ -587,7 +584,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
         VirtualMachineMO vmMo = hyperHost.findVmOnHyperHost(vmName);
         if (vmMo == null) {
             String msg =
-                "Failed to import OVA template. secondaryStorage: " + secondaryStorageUrl + ", templatePathAtSecondaryStorage: " + templatePathAtSecondaryStorage +
+                    "Failed to import OVA template. secondaryStorage: " + secondaryStorageUrl + ", templatePathAtSecondaryStorage: " + templatePathAtSecondaryStorage +
                     ", templateName: " + templateName + ", templateUuid: " + templateUuid;
             s_logger.error(msg);
             throw new Exception(msg);
@@ -605,7 +602,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private Ternary<String, Long, Long> createTemplateFromVolume(VirtualMachineMO vmMo, long accountId, long templateId, String templateUniqueName, String secStorageUrl,
-        String volumePath, String workerVmName) throws Exception {
+            String volumePath, String workerVmName) throws Exception {
 
         String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
         String installPath = getTemplateRelativeDirInSecStorage(accountId, templateId);
@@ -670,7 +667,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private Ternary<String, Long, Long> createTemplateFromSnapshot(long accountId, long templateId, String templateUniqueName, String secStorageUrl, long volumeId,
-        String backedUpSnapshotUuid) throws Exception {
+            String backedUpSnapshotUuid) throws Exception {
 
         String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
         String installPath = getTemplateRelativeDirInSecStorage(accountId, templateId);
@@ -854,14 +851,14 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private String createVolumeFromSnapshot(VmwareHypervisorHost hyperHost, DatastoreMO primaryDsMo, String newVolumeName, long accountId, long volumeId,
-        String secStorageUrl, String snapshotBackupUuid) throws Exception {
+            String secStorageUrl, String snapshotBackupUuid) throws Exception {
 
         restoreVolumeFromSecStorage(hyperHost, primaryDsMo, newVolumeName, secStorageUrl, getSnapshotRelativeDirInSecStorage(accountId, volumeId), snapshotBackupUuid);
         return null;
     }
 
     private void restoreVolumeFromSecStorage(VmwareHypervisorHost hyperHost, DatastoreMO primaryDsMo, String newVolumeName, String secStorageUrl, String secStorageDir,
-        String backupName) throws Exception {
+            String backupName) throws Exception {
 
         String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
         String srcOVAFileName = secondaryMountPoint + "/" + secStorageDir + "/" + backupName + "." + ImageFormat.OVA.getFileExtension();
@@ -921,7 +918,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private String backupSnapshotToSecondaryStorage(VirtualMachineMO vmMo, long accountId, long volumeId, String volumePath, String snapshotUuid, String secStorageUrl,
-        String prevSnapshotUuid, String prevBackupUuid, String workerVmName) throws Exception {
+            String prevSnapshotUuid, String prevBackupUuid, String workerVmName) throws Exception {
 
         String backupUuid = UUID.randomUUID().toString();
         exportVolumeToSecondaryStroage(vmMo, volumePath, secStorageUrl, getSnapshotRelativeDirInSecStorage(accountId, volumeId), backupUuid, workerVmName);
@@ -929,7 +926,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private void exportVolumeToSecondaryStroage(VirtualMachineMO vmMo, String volumePath, String secStorageUrl, String secStorageDir, String exportName,
-        String workerVmName) throws Exception {
+            String workerVmName) throws Exception {
 
         String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
         String exportPath = secondaryMountPoint + "/" + secStorageDir + "/" + exportName;
@@ -973,40 +970,8 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
         }
     }
 
-    private String deleteSnapshotOnSecondaryStorge(long accountId, long volumeId, String secStorageUrl, String backupUuid) throws Exception {
-
-        String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl);
-        String snapshotMountRoot = secondaryMountPoint + "/" + getSnapshotRelativeDirInSecStorage(accountId, volumeId);
-        File file = new File(snapshotMountRoot + "/" + backupUuid + ".ovf");
-        if (file.exists()) {
-            File snapshotdir = new File(snapshotMountRoot);
-            File[] ssfiles = snapshotdir.listFiles();
-            // List<String> filenames = new ArrayList<String>();
-            for (int i = 0; i < ssfiles.length; i++) {
-                String vmdkfile = ssfiles[i].getName();
-                if (vmdkfile.toLowerCase().startsWith(backupUuid) && vmdkfile.toLowerCase().endsWith(".vmdk")) {
-                    // filenames.add(vmdkfile);
-                    new File(vmdkfile).delete();
-                }
-            }
-            if (file.delete()) {
-                return null;
-            }
-        } else {
-            File file1 = new File(snapshotMountRoot + "/" + backupUuid + ".ova");
-            if (file1.exists()) {
-                if (file1.delete()) {
-                    return null;
-                }
-            } else {
-                return "Backup file does not exist. backupUuid: " + backupUuid;
-            }
-        }
-        return "Failed to delete snapshot backup file, backupUuid: " + backupUuid;
-    }
-
     private Pair<String, String> copyVolumeToSecStorage(VmwareHostService hostService, VmwareHypervisorHost hyperHost, CopyVolumeCommand cmd, String vmName,
-        long volumeId, String poolId, String volumePath, String secStorageUrl, String workerVmName) throws Exception {
+            long volumeId, String poolId, String volumePath, String secStorageUrl, String workerVmName) throws Exception {
 
         String volumeFolder = String.valueOf(volumeId) + "/";
         VirtualMachineMO workerVm = null;
@@ -1043,7 +1008,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
             vmMo.createSnapshot(exportName, "Temporary snapshot for copy-volume command", false, false);
 
             exportVolumeToSecondaryStroage(vmMo, volumePath, secStorageUrl, "volumes/" + volumeFolder, exportName,
-                hostService.getWorkerName(hyperHost.getContext(), cmd, 1));
+                    hostService.getWorkerName(hyperHost.getContext(), cmd, 1));
             return new Pair<String, String>(volumeFolder, exportName);
 
         } finally {
@@ -1066,7 +1031,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
     }
 
     private Pair<String, String> copyVolumeFromSecStorage(VmwareHypervisorHost hyperHost, long volumeId, DatastoreMO dsMo, String secStorageUrl, String exportName)
-        throws Exception {
+            throws Exception {
 
         String volumeFolder = String.valueOf(volumeId) + "/";
         String newVolume = UUID.randomUUID().toString().replaceAll("-", "");
@@ -1085,69 +1050,54 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
         s_logger.info("getOVAfromMetaFile: " + metafileName);
         try {
             strm = new FileInputStream(ova_metafile);
-            if (null == strm) {
-                String msg = "Cannot read ova meta file.";
+
+            s_logger.info("loading properties from ova meta file: " + metafileName);
+            props = new Properties();
+            props.load(strm);
+            ovaFileName = props.getProperty("ova.filename");
+            s_logger.info("ovafilename: " + ovaFileName);
+            String ovfFileName = props.getProperty("ovf");
+            s_logger.info("ovffilename: " + ovfFileName);
+            int diskNum = Integer.parseInt(props.getProperty("numDisks"));
+            if (diskNum <= 0) {
+                String msg = "VMDK disk file number is 0. Error";
                 s_logger.error(msg);
                 throw new Exception(msg);
             }
-
-            s_logger.info("loading properties from ova meta file: " + metafileName);
-            if (null != ova_metafile) {
-                props = new Properties();
-                props.load(strm);
-                if (props == null) {
-                    s_logger.info("getOVAfromMetaFile: props is null. ");
-                }
+            String[] disks = new String[diskNum];
+            for (int i = 0; i < diskNum; i++) {
+                // String diskNameKey = "disk" + Integer.toString(i+1) + ".name"; // Fang use this
+                String diskNameKey = "disk1.name";
+                disks[i] = props.getProperty(diskNameKey);
+                s_logger.info("diskname " + disks[i]);
             }
-            if (null != props) {
-                ovaFileName = props.getProperty("ova.filename");
-                s_logger.info("ovafilename: " + ovaFileName);
-                String ovfFileName = props.getProperty("ovf");
-                s_logger.info("ovffilename: " + ovfFileName);
-                int diskNum = Integer.parseInt(props.getProperty("numDisks"));
-                if (diskNum <= 0) {
-                    String msg = "VMDK disk file number is 0. Error";
-                    s_logger.error(msg);
-                    throw new Exception(msg);
-                }
-                String[] disks = new String[diskNum];
-                for (int i = 0; i < diskNum; i++) {
-                    // String diskNameKey = "disk" + Integer.toString(i+1) + ".name"; // Fang use this
-                    String diskNameKey = "disk1.name";
-                    disks[i] = props.getProperty(diskNameKey);
-                    s_logger.info("diskname " + disks[i]);
-                }
-                String exportDir = ova_metafile.getParent();
-                s_logger.info("exportDir: " + exportDir);
-                // Important! we need to sync file system before we can safely use tar to work around a linux kernal bug(or feature)
-                s_logger.info("Sync file system before we package OVA..., before tar ");
-                s_logger.info("ova: " + ovaFileName + ", ovf:" + ovfFileName + ", vmdk:" + disks[0] + ".");
-                Script commandSync = new Script(true, "sync", 0, s_logger);
-                commandSync.execute();
-                Script command = new Script(false, "tar", 0, s_logger);
-                command.setWorkDir(exportDir); // Fang: pass this in to the method?
-                command.add("-cf", ovaFileName);
-                command.add(ovfFileName); // OVF file should be the first file in OVA archive
-                for (String diskName : disks) {
-                    command.add(diskName);
-                }
-                command.execute();
-                s_logger.info("Package OVA for template in dir: " + exportDir + "cmd: " + command.toString());
-                // to be safe, physically test existence of the target OVA file
-                if ((new File(exportDir + ovaFileName)).exists()) {
-                    s_logger.info("ova file is created and ready to extract ");
-                    return (ovaFileName);
-                } else {
-                    String msg = exportDir + File.separator + ovaFileName + ".ova is not created as expected";
-                    s_logger.error(msg);
-                    throw new Exception(msg);
-                }
+            String exportDir = ova_metafile.getParent();
+            s_logger.info("exportDir: " + exportDir);
+            // Important! we need to sync file system before we can safely use tar to work around a linux kernal bug(or feature)
+            s_logger.info("Sync file system before we package OVA..., before tar ");
+            s_logger.info("ova: " + ovaFileName + ", ovf:" + ovfFileName + ", vmdk:" + disks[0] + ".");
+            Script commandSync = new Script(true, "sync", 0, s_logger);
+            commandSync.execute();
+            Script command = new Script(false, "tar", 0, s_logger);
+            command.setWorkDir(exportDir); // Fang: pass this in to the method?
+            command.add("-cf", ovaFileName);
+            command.add(ovfFileName); // OVF file should be the first file in OVA archive
+            for (String diskName : disks) {
+                command.add(diskName);
+            }
+            command.execute();
+            s_logger.info("Package OVA for template in dir: " + exportDir + "cmd: " + command.toString());
+            // to be safe, physically test existence of the target OVA file
+            if ((new File(exportDir + ovaFileName)).exists()) {
+                s_logger.info("ova file is created and ready to extract ");
+                return (ovaFileName);
             } else {
-                String msg = "Error reading the ova meta file: " + metafileName;
+                String msg = exportDir + File.separator + ovaFileName + ".ova is not created as expected";
                 s_logger.error(msg);
                 throw new Exception(msg);
             }
         } catch (Exception e) {
+            s_logger.error("Exception in getOVAFromMetafile", e);
             return null;
             // Do something, re-throw the exception
         } finally {
@@ -1252,7 +1202,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
 
             // wait if there are already VM snapshot task running
             ManagedObjectReference taskmgr = context.getServiceContent().getTaskManager();
-            List<ManagedObjectReference> tasks = (ArrayList<ManagedObjectReference>)context.getVimClient().getDynamicProperty(taskmgr, "recentTask");
+            List<ManagedObjectReference> tasks = context.getVimClient().getDynamicProperty(taskmgr, "recentTask");
 
             for (ManagedObjectReference taskMor : tasks) {
                 TaskInfo info = (TaskInfo)(context.getVimClient().getDynamicProperty(taskMor, "info"));
@@ -1465,7 +1415,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
 
             // wait if there are already VM revert task running
             ManagedObjectReference taskmgr = context.getServiceContent().getTaskManager();
-            List<ManagedObjectReference> tasks = (ArrayList<ManagedObjectReference>)context.getVimClient().getDynamicProperty(taskmgr, "recentTask");
+            List<ManagedObjectReference> tasks = context.getVimClient().getDynamicProperty(taskmgr, "recentTask");
 
             for (ManagedObjectReference taskMor : tasks) {
                 TaskInfo info = (TaskInfo)(context.getVimClient().getDynamicProperty(taskMor, "info"));