Yair Zaslavsky has uploaded a new change for review.

Change subject: [WIP] core: Add event for free MAC failure
......................................................................

[WIP] core: Add event for free MAC failure

This patch performs two issues:
a. Fixing inconsistency in handling MacPoolManager.freeMac
(in some cases - the exception is caught and ignored, in some cases -
not - this is behavior is incorrect).
b. Intoruding event to mark failure in free mac (similar to the event log
of mac address already in use)

Bug-Url: https://bugzilla.redhat.com/885441
Change-Id: Ibaa3d9eb23016b4866e5cfa39f919378e09fdf2d
signed-off-by: Yair Zaslavsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MacPoolManager.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
M 
backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
5 files changed, 10 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/97/10197/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
index 0bc109b..53095ff 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
@@ -233,10 +233,7 @@
     @Override
     public void rollback() {
         super.rollback();
-        try {
-            MacPoolManager.getInstance().freeMac(getMacAddress());
-        } catch (java.lang.Exception e) {
-        }
+        MacPoolManager.getInstance().freeMac(getMacAddress());
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MacPoolManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MacPoolManager.java
index fcb2305..3baa2e4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MacPoolManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MacPoolManager.java
@@ -172,6 +172,12 @@
                 throw new 
VdcBLLException(VdcBllErrors.MAC_POOL_NOT_INITIALIZED);
             }
             internalFreeLock(mac);
+        } catch (Exception ex) {
+            log.debug("Failed to free MAC address",ex);
+            log.errorFormat("Failed to free MAC address {0}. Exception message 
is {1}", mac, ex.getMessage());
+            AuditLogableBase logable = new AuditLogableBase();
+            logable.AddCustomValue("MACAddr",mac);
+            AuditLogDirector.log(logable, 
AuditLogType.FAILED_TO_FREE_MAC_ADDRESS);
         } finally {
             mLocObj.writeLock().unlock();
         }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
index 5f61344..3dec0a3 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
@@ -451,6 +451,7 @@
     MAC_ADDRESS_IS_IN_USE(833),
     CERTIFICATE_FILE_NOT_FOUND(817),
     RUN_VM_FAILED(818),
+    FAILED_TO_FREE_MAC_ADDRESS(837),
     // CBC
     VDS_REGISTER_ERROR_UPDATING_HOST(819),
     VDS_REGISTER_ERROR_UPDATING_HOST_ALL_TAKEN(820),
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
index af49918..bbd8a9f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
@@ -670,6 +670,7 @@
         mSeverities.put(AuditLogType.NETWORK_COMMINT_NETWORK_CHANGES_FAILED, 
AuditLogSeverity.NORMAL);
         mSeverities.put(AuditLogType.MAC_POOL_EMPTY, AuditLogSeverity.WARNING);
         mSeverities.put(AuditLogType.MAC_ADDRESS_IS_IN_USE, 
AuditLogSeverity.WARNING);
+        mSeverities.put(AuditLogType.FAILED_TO_FREE_MAC_ADDRESS, 
AuditLogSeverity.WARNING);
         mSeverities.put(AuditLogType.BRIDGED_NETWORK_OVER_MULTIPLE_INTERFACES, 
AuditLogSeverity.WARNING);
         mSeverities.put(AuditLogType.VDS_NETWORKS_OUT_OF_SYNC, 
AuditLogSeverity.WARNING);
         mSeverities.put(AuditLogType.NETWORK_ACTIVATE_VM_INTERFACE_SUCCESS, 
AuditLogSeverity.NORMAL);
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
index bd70a45..bb5d6df 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
@@ -322,6 +322,7 @@
 USER_VM_POOL_MAX_SUBSEQUENT_FAILURES_REACHED=Not all VMs where successfully 
created in VM Pool ${VmPoolName}.
 MAC_POOL_EMPTY=No MAC addresses left in the MAC Address Pool.
 MAC_ADDRESS_IS_IN_USE=VM ${VmName}: Mac Address ${MACAddr} is in use.
+FAILED_TO_FREE_MAC_ADDRESS=Failed to free MAC Address ${MACAddr}. 
 USER_PASSWORD_CHANGED=Password changed successfully for ${UserName}
 USER_PASSWORD_CHANGE_FAILED=Failed to change password. (User: ${UserName})
 USER_CLEAR_UNKNOWN_VMS=All VMs' status on Non-Responsive Host ${VdsName} were 
changed to 'Down' by ${UserName}


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

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

Reply via email to