Mtce: Improve AIO DOR handling

The AIO (All-In-One) inactive controller is failed by maintenance in a
DOR (Dead-Office-Recovery) situation ; power off then power on of the
system.

This update scales the AIO DOR timeout to accomodate for the extra time
needed for the compute function manifest to apply.

Change-Id: I3006060fe04285881f95d2084cada40ec1002d1c
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
This commit is contained in:
Eric MacDonald 2018-03-13 11:49:56 -04:00
parent c90cddb408
commit e0d9d60d28
1 changed files with 41 additions and 46 deletions

View File

@ -1248,13 +1248,11 @@ void daemon_service_run ( void )
daemon_latency_monitor (true);
/* DOR Mode Check */
{
int enabled_nodes = mtcInv.enabled_nodes();
if ( enabled_nodes )
{
struct timespec ts ;
clock_gettime (CLOCK_MONOTONIC, &ts );
#ifdef WANT_FIT_TESTING
/* Support low uptime FIT for testing */
if ( daemon_is_file_present ( MTC_CMD_FIT__UPTIME ))
{
@ -1264,6 +1262,7 @@ void daemon_service_run ( void )
ts.tv_sec/60,
ts.tv_sec%60);
}
#endif
if ( ts.tv_sec < MTC_MINS_20 )
{
@ -1293,8 +1292,6 @@ void daemon_service_run ( void )
ilog ("%-12s ---------- ; DOR Recovery ---------------------- -------------------\n", mtcInv.my_hostname.c_str());
mtcTimer_start ( mtcInv.mtcTimer_dor, mtcTimer_handler, timeout );
}
}
}
/* Run Maintenance service forever */
for ( ; ; )
@ -1451,8 +1448,6 @@ void daemon_service_run ( void )
}
}
// timeUtil_sched_sample ( );
daemon_signal_hdlr ();
/* If the timer is no longer active and we are in DOR mode