metal/mtce-common/cgts-mtce-common-1.0/maintenance
Eric MacDonald 7da4eb945f Enable host heartbeat in add handler when not in DOR mode
Two Node System: VMs did not switch to ERROR state after host reboot

A logically failed (rebooted) active controller is not being
administratively failed by maintenance. As a result the host's
offline availability state is not reported to the VIM and the
VMs on that (rebooted) All-in-one host are not evacuated.

This issue only applies to two node systems because of how the heartbeat
enable of an All-in-one host needs to be held off until its compute 
manifests apply in the DOR case so as to avoid maintenance failing the 
peer controller over a DOR.

The challange in maintenance is to distinguish between this spontaneous
failure and a DOR. For All-in-one hosts, DOR mode is active for a 
whopping 600 seconds ; long enough to account for both sets of manifests
to apply.

It's that long delay that is making this silent fault stand out so 
obviously.

This update uses 'active DOR mode' to decide whether or not to enable a
host's heartbeat in the add handler.

To better handle early active controller failure the qualifier for DOR 
mode was reduced from 20 to 15 minutes. Meaning that maintenance DOR 
mode is activated if its host up time is less than 15 minutes ; rather 
than 20 as it was before this update. Note that normally the active 
controller starts maintenance with an uptime of 5-7 minutes.

Story: 2002995
Task: 23009
Change-Id: I749aefef45b9db6e86a2c6b81d131ebeccc68926
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
2018-08-16 20:20:16 +00:00
..
Makefile StarlingX open source release updates 2018-05-31 07:36:43 -07:00
ipmiClient.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcAlarm.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcAlarm.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcBrdMgmt.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcBrdMgmt.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcCmdHdlr.cpp Add 90s delay before locking storage node for upgrade 2018-07-06 09:18:21 -04:00
mtcCompMsg.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcCtrlMsg.cpp Collectd+InfluxDb-RMON Replacement(ALL METRICS) P1 2018-07-03 11:04:27 -04:00
mtcHttpSvr.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcHttpSvr.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcHttpUtil.cpp Mtce calls sm rest api with keystone authentication 2018-08-13 10:14:45 -04:00
mtcHttpUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcInvApi.cpp Mtce: Avoid running subfunction FSM for AIO-DX compute only hosts 2018-06-27 15:32:08 -04:00
mtcInvApi.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcIpmiUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcIpmiUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcKeyApi.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcKeyApi.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcNodeComp.cpp Mtce: Avoid running subfunction FSM for AIO-DX compute only hosts 2018-06-27 15:32:08 -04:00
mtcNodeComp.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcNodeCtrl.cpp Enable host heartbeat in add handler when not in DOR mode 2018-08-16 20:20:16 +00:00
mtcNodeFsm.cpp Collectd+InfluxDb-RMON Replacement(ALL METRICS) P1 2018-07-03 11:04:27 -04:00
mtcNodeFsm.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcNodeHdlrs.cpp Enable host heartbeat in add handler when not in DOR mode 2018-08-16 20:20:16 +00:00
mtcNodeHdlrs.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcNodeMnfa.cpp Mtce: Hosts in MNFA pool are reported to be in Graceful Recovery during wait period 2018-07-20 11:12:51 -04:00
mtcNodeMsg.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcSmgrApi.cpp Mtce: Stop calling 'event_base_loopbreak' for nonblocking http requests 2018-06-27 14:28:27 -04:00
mtcSmgrApi.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcSubfHdlrs.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcThreads.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcThreads.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcVimApi.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcVimApi.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
mtcWorkQueue.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00