cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From saks...@apache.org
Subject git commit: updated refs/heads/master to 4821bff
Date Thu, 18 Dec 2014 12:25:10 GMT
Repository: cloudstack
Updated Branches:
  refs/heads/master f4133a7f7 -> 4821bfffe


CLOUDSTACK-8091: Stale entry exists for a VM NIC even after an exception while adding a new
nic to vm


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

Branch: refs/heads/master
Commit: 4821bfffe2813ffb43761246e75cc7cf73291d27
Parents: f4133a7
Author: Saksham Srivastava <saksham.srivastava@citrix.com>
Authored: Thu Dec 18 17:45:10 2014 +0530
Committer: Saksham Srivastava <saksham.srivastava@citrix.com>
Committed: Thu Dec 18 17:45:34 2014 +0530

----------------------------------------------------------------------
 server/src/com/cloud/vm/UserVmManagerImpl.java | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4821bfff/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 6de86a6..674a4c1 100644
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -1051,16 +1051,27 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager,
Vir
         }
 
         NicProfile guestNic = null;
+        boolean cleanUp = true;
 
         try {
             guestNic = _itMgr.addVmToNetwork(vmInstance, network, profile);
+            cleanUp = false;
         } catch (ResourceUnavailableException e) {
             throw new CloudRuntimeException("Unable to add NIC to " + vmInstance + ": " +
e);
         } catch (InsufficientCapacityException e) {
             throw new CloudRuntimeException("Insufficient capacity when adding NIC to " +
vmInstance + ": " + e);
         } catch (ConcurrentOperationException e) {
             throw new CloudRuntimeException("Concurrent operations on adding NIC to " + vmInstance
+ ": " + e);
+        } finally {
+            if(cleanUp) {
+                try {
+                    _itMgr.removeVmFromNetwork(vmInstance, network, null);
+                } catch (ResourceUnavailableException e) {
+                    throw new CloudRuntimeException("Error while cleaning up NIC " + e);
+                }
+            }
         }
+
         if (guestNic == null) {
             throw new CloudRuntimeException("Unable to add NIC to " + vmInstance);
         }


Mime
View raw message