Alona Kaplan has uploaded a new change for review. Change subject: engine: Updating the maintenance_reason on MaintenanceNumberOfVdssCommand ......................................................................
engine: Updating the maintenance_reason on MaintenanceNumberOfVdssCommand SetVdsStatusVdsCommand gets the maintenanceReason as a parameter and stores it in the db. If the reason is not set, a null will be stored. When the maintenance command is executed the reason (if there is one) is passed to SetVdsStatusVdsCommand. Since all the vds status changes are done via SetVdsStatusVdsCommand, when the status of the vds is changed to another status the maintenance reason will be nullified (since other places that executes SetVdsStatusVdsCommand doesn't pass mainternenceReason via the parameters). Change-Id: If1ab2e0b3e2cc154d14282bc38b158b0b4d195fe Bug-Url: https://bugzilla.redhat.com/678977 Signed-off-by: Alona Kaplan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceNumberOfVdssCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MaintenanceNumberOfVdssParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/SetVdsStatusVDSCommandParameters.java M backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/SetVdsStatusVDSCommand.java M frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties 8 files changed, 39 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/38298/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceNumberOfVdssCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceNumberOfVdssCommand.java index 28ef02c..49bf36d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceNumberOfVdssCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceNumberOfVdssCommand.java @@ -101,7 +101,7 @@ if (vds.getStatus() != VDSStatus.PreparingForMaintenance && vds.getStatus() != VDSStatus.NonResponsive && vds.getStatus() != VDSStatus.Down) { SetVdsStatusVDSCommandParameters params = - new SetVdsStatusVDSCommandParameters(vds.getId(), VDSStatus.PreparingForMaintenance); + new SetVdsStatusVDSCommandParameters(vds.getId(), VDSStatus.PreparingForMaintenance, getParameters().getReason()); params.setStopSpmFailureLogged(true); result = runVdsCommand(VDSCommandType.SetVdsStatus, params).getSucceeded(); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java index 2941124..323d68c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java @@ -187,6 +187,7 @@ } } else { if (getSucceeded() && !haMaintenanceFailed) { + addCustomValue("Reason", getVds().getStopReason()); return AuditLogType.USER_VDS_MAINTENANCE; } else if (getSucceeded()) { return AuditLogType.USER_VDS_MAINTENANCE_MANUAL_HA; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MaintenanceNumberOfVdssParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MaintenanceNumberOfVdssParameters.java index eee5a7e..75bbffb 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MaintenanceNumberOfVdssParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/MaintenanceNumberOfVdssParameters.java @@ -20,9 +20,16 @@ */ private boolean keepPolicyPMEnabled = false; + private String reason; + public MaintenanceNumberOfVdssParameters(List<Guid> vdsIdList, boolean isInternal) { + this(vdsIdList, isInternal, ""); + } + + public MaintenanceNumberOfVdssParameters(List<Guid> vdsIdList, boolean isInternal, String reason) { _vdsIdList = vdsIdList; _isInternal = isInternal; + this.reason = reason; } public MaintenanceNumberOfVdssParameters(List<Guid> vdsIdList, boolean isInternal, boolean keepPolicyPMEnabled) { @@ -50,6 +57,14 @@ this.keepPolicyPMEnabled = _keepPolicyPMEnabled; } + public String getReason() { + return reason; + } + + public void setReason(String value) { + reason = value; + } + public MaintenanceNumberOfVdssParameters() { } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/SetVdsStatusVDSCommandParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/SetVdsStatusVDSCommandParameters.java index de28694..2828f76 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/SetVdsStatusVDSCommandParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/SetVdsStatusVDSCommandParameters.java @@ -7,6 +7,7 @@ public class SetVdsStatusVDSCommandParameters extends VdsIdVDSCommandParametersBase { private VDSStatus _status; private NonOperationalReason nonOperationalReason; + private String maintenanceReason; /** * Flag to display SPM stop command failure in audit log @@ -18,6 +19,11 @@ _status = status; nonOperationalReason = NonOperationalReason.NONE; stopSpmFailureLogged = false; + } + + public SetVdsStatusVDSCommandParameters(Guid vdsId, VDSStatus status, String maintenanceReason) { + this(vdsId, status); + this.maintenanceReason = maintenanceReason; } public SetVdsStatusVDSCommandParameters(Guid vdsId, VDSStatus status, NonOperationalReason nonOperationalReason) { @@ -51,12 +57,21 @@ this.stopSpmFailureLogged = stopSpmFailureLogged; } + public String getMaintenanceReason() { + return maintenanceReason; + } + + public void setMaintenanceReason(String maintenanceReason) { + this.maintenanceReason = maintenanceReason; + } + @Override public String toString() { - return String.format("%s, status=%s, nonOperationalReason=%s, stopSpmFailureLogged=%s", + return String.format("%s, status=%s, nonOperationalReason=%s, stopSpmFailureLogged=%s maintenanceReason=%s", super.toString(), getStatus(), getNonOperationalReason(), - isStopSpmFailureLogged()); + isStopSpmFailureLogged(), + getMaintenanceReason()); } } 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 8e2b1c4..d4820e6 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties @@ -328,7 +328,7 @@ USER_SUSPEND_VM_FINISH_FAILURE=Failed to complete suspending of VM ${VmName}. USER_SUSPEND_VM_FINISH_FAILURE_WILL_TRY_AGAIN=Failed to complete suspending of VM ${VmName}, will try again. USER_FAILED_SUSPEND_VM=Failed to suspend VM ${VmName} (Host: ${VdsName}). -USER_VDS_MAINTENANCE=Host ${VdsName} was switched to Maintenance mode by ${UserName}. +USER_VDS_MAINTENANCE=Host ${VdsName} was switched to Maintenance mode by ${UserName} (Reason: ${Reason}). USER_VDS_MAINTENANCE_MANUAL_HA=Host ${VdsName} was switched to Maintenance mode by ${UserName}, but Hosted Engine HA maintenance could not be enabled. Please enable it manually. USER_VDS_MAINTENANCE_MIGRATION_FAILED=Host ${VdsName} cannot change into maintenance mode - not all Vms have been migrated successfully. Consider manual intervention: stopping/migrating Vms: ${failedVms} (User: ${UserName}). USER_EXPORT_VM=VM ${VmName} exported to ${ExportPath} by ${UserName} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java index 6ef8394..c3dee7f 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java @@ -718,6 +718,8 @@ private void moveVDSToMaintenanceIfNeeded() { if (vds.getStatus() == VDSStatus.PreparingForMaintenance) { if (monitoringStrategy.canMoveToMaintenance(vds)) { + VdsDynamic dbVds = DbFacade.getInstance().getVdsDynamicDao().get(vds.getId()); + vds.setStopReason(dbVds.getMaintenanceReason()); vdsManager.setStatus(VDSStatus.Maintenance, vds); saveVdsDynamic = true; saveVdsStatistics = true; diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/SetVdsStatusVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/SetVdsStatusVDSCommand.java index 3a06eca..200bda7 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/SetVdsStatusVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/SetVdsStatusVDSCommand.java @@ -73,5 +73,6 @@ private void updateVdsFromParameters(SetVdsStatusVDSCommandParameters parameters, VDS vds) { vds.getDynamicData().setNonOperationalReason(parameters.getNonOperationalReason()); + vds.getDynamicData().setMaintenanceReason(parameters.getMaintenanceReason()); } } diff --git a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties index 3c5a8de..5efaefc 100644 --- a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties +++ b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties @@ -123,7 +123,7 @@ EventNotificationEntity___GlusterHook=Gluster Hook Events: EventNotificationEntity___GlusterService=Gluster Service: AuditLogType___VDS_FAILURE=Host is non responsive -AuditLogType___USER_VDS_MAINTENANCE=Host was switched to Maintenance Mode +AuditLogType___USER_VDS_MAINTENANCE=Host was switched to Maintenance Mode (Reason: ${Reason}). AuditLogType___USER_VDS_MAINTENANCE_MANUAL_HA=Host was switched to Maintenance Mode, but Hosted Engine HA maintenance mode could not be enabled AuditLogType___USER_VDS_MAINTENANCE_MIGRATION_FAILED=Failed to switch Host to Maintenance mode AuditLogType___VDS_MAINTENANCE=Host was switched to Maintenance Mode -- To view, visit https://gerrit.ovirt.org/38298 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If1ab2e0b3e2cc154d14282bc38b158b0b4d195fe Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
