Michael Kublin has uploaded a new change for review. Change subject: engine: Hosts that been switched to 'Maintenance' returns to non-operational status when disconnectStoragePool fails ......................................................................
engine: Hosts that been switched to 'Maintenance' returns to non-operational status when disconnectStoragePool fails The following patch will solve a described problem During VdsManager.OnTimer we recognized that host was switched to Maintaince and tried to disconnect it, when it fails it was moved to Non-Operational. >From now, if the host fails it will left connected but will be marked at DB >as it is in Maintaince Change-Id: I76083f372ed5d9ab124047bcadb03b77e24064f0 Bug-Url: https://bugzilla.redhat.com/874019 Signed-off-by: Michael Kublin <mkub...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java 3 files changed, 10 insertions(+), 13 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/09/10109/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java index 0fe80e0..fc8faee 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java @@ -64,10 +64,12 @@ public class VdsEventListener implements IVdsEventListener { @Override - public void vdsMovedToMaintanance(Guid vdsId) { - VDS vds = DbFacade.getInstance().getVdsDao().get(vdsId); - MaintananceVdsCommand.ProcessStorageOnVdsInactive(vds); - ExecutionHandler.updateSpecificActionJobCompleted(vdsId, VdcActionType.MaintananceVds, true); + public void vdsMovedToMaintanance(VDS vds) { + try { + MaintananceVdsCommand.ProcessStorageOnVdsInactive(vds); + } finally { + ExecutionHandler.updateSpecificActionJobCompleted(vds.getId(), VdcActionType.MaintananceVds, true); + } } @Override diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java index 4c19477..9bc7c15 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java @@ -16,7 +16,7 @@ Guid domainId, Map<String, String> customLogValues); // BLL - void vdsMovedToMaintanance(Guid vdsId); // BLL + void vdsMovedToMaintanance(VDS vds); // BLL void storageDomainNotOperational(Guid storageDomainId, Guid storagePoolId); // BLL diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java index a53b9ec..809c2a8 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java @@ -312,15 +312,10 @@ if (_vds.getstatus() == VDSStatus.Maintenance) { try { - ResourceManager.getInstance().getEventListener().vdsMovedToMaintanance(_vds.getId()); + ResourceManager.getInstance().getEventListener().vdsMovedToMaintanance(_vds); } catch (RuntimeException ex) { - log.error("Host encounter a problem moving to maintenance mode. The Host status will change to Non operational status."); - ResourceManager - .getInstance() - .getEventListener() - .vdsNonOperational(_vds.getId(), _vds.getNonOperationalReason(), true, true, - Guid.Empty); - throw ex; + log.errorFormat("Host encounter a problem moving to maintenance mode, probably error during disconnecting it from pool {0}. The Host will stay in Maintenance", + ex.getMessage()); } } else if (_vds.getstatus() == VDSStatus.NonOperational && _firstStatus != VDSStatus.NonOperational) { -- To view, visit http://gerrit.ovirt.org/10109 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I76083f372ed5d9ab124047bcadb03b77e24064f0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Michael Kublin <mkub...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches