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
