Muli Salem has uploaded a new change for review.

Change subject: engine: Rollback Mac Allocation in AddVmInterface
......................................................................

engine: Rollback Mac Allocation in AddVmInterface

This patch makes sure that the Mac address is
released in case user requested to add and activate
nic, but activation of nic failed.

Change-Id: Ic982eba73663b8ee47524ea3814f7255ec7a1a1c
Bug-Url: https://bugzilla.redhat.com/889797
Signed-off-by: Muli Salem <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
1 file changed, 12 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/04/10604/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
index a04c456..1f12d45 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/vm/AddVmInterfaceCommand.java
@@ -77,11 +77,19 @@
             }
         });
 
-        boolean succeeded = true;
-        if (getParameters().getInterface().isPlugged()) {
-            succeeded = 
activateOrDeactivateNic(getParameters().getInterface().getId(), 
PlugAction.PLUG);
+        boolean succeeded = false;
+        try {
+            if (getParameters().getInterface().isPlugged()) {
+                succeeded = 
activateOrDeactivateNic(getParameters().getInterface().getId(), 
PlugAction.PLUG);
+            } else {
+                succeeded = true;
+            }
+        } finally {
+            setSucceeded(succeeded);
+            if (!succeeded) {
+                MacPoolManager.getInstance().freeMac(getMacAddress());
+            }
         }
-        setSucceeded(succeeded);
     }
 
     private void addInterfaceDeviceToDb() {
@@ -219,12 +227,6 @@
     @Override
     public AuditLogType getAuditLogTypeValue() {
         return getSucceeded() ? AuditLogType.NETWORK_ADD_VM_INTERFACE : 
AuditLogType.NETWORK_ADD_VM_INTERFACE_FAILED;
-    }
-
-    @Override
-    public void rollback() {
-        super.rollback();
-        MacPoolManager.getInstance().freeMac(getMacAddress());
     }
 
     /**


--
To view, visit http://gerrit.ovirt.org/10604
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic982eba73663b8ee47524ea3814f7255ec7a1a1c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Muli Salem <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to