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
