Change in ovirt-engine[master]: core: handle HE VM hosting host fencing

Code Review gerrit at ovirt.org
Tue Aug 22 08:15:07 UTC 2017


>From Eli Mesika <emesika at redhat.com>:

Eli Mesika has submitted this change and it was merged. ( https://gerrit.ovirt.org/79882 )

Change subject: core: handle HE VM hosting host fencing
......................................................................


core: handle HE VM hosting host fencing

The non-responding host is in a fencing flow while the engine VM is
restarted on another machine, the fencing flow did only the <stop>
step from the fencing flow and then the engine VM goes down.
Since in the engine start we look only for host with <non-responding> status ,
this host which is actually in <down> status will not be started.

Proposed solution is to add a is_in_fencing_flow boolean column to vds_dynamic

1) The flag is set at the start of hard fencing flow (stop command) and reset
   at the end of the hard fencing flow (start command) when the origin
   of those command comes from non-responding host and not manual fencing

2) In the non-responding treatment that occurs on engine start we will take
   in account also hosts that have the is_in_fencing_flow
   and reset the is_in_fencing_flow flag

3) when the host is UP either by a successful start command or by Host Monitoring,
   the is_in_fencing_flow should be rest as well

This will ensure that engine will try to fence hosts that were stuck in the middle
of a fencing flow as a result of engine restart

Change-Id: I8761b52b5ffb4e10875a5b235a4cfc8de6664cf9
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1440101
Signed-off-by: emesika <emesika at redhat.com>
---
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/FenceVdsBaseCommand.java
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/RestartVdsCommand.java
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/VdsNotRespondingTreatmentCommand.java
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/startup/recovery/RecoveryStartupBean.java
M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDS.java
M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java
M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDaoImpl.java
M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDynamicDaoImpl.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java
M packaging/dbscripts/create_views.sql
A packaging/dbscripts/upgrade/04_02_0480_add_vm_dynamic_in_fence_flow.sql
M packaging/dbscripts/vds_sp.sql
13 files changed, 105 insertions(+), 28 deletions(-)

Approvals:
  Martin Peřina: Looks good to me, approved
  Eli Mesika: Verified
  Jenkins CI: Passed CI tests



-- 
To view, visit https://gerrit.ovirt.org/79882
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8761b52b5ffb4e10875a5b235a4cfc8de6664cf9
Gerrit-PatchSet: 9
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emesika at redhat.com>
Gerrit-Reviewer: Eli Mesika <emesika at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Peřina <mperina at redhat.com>
Gerrit-Reviewer: Moti Asayag <masayag at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>


More information about the Engine-commits mailing list