metal/mtce-common/cgts-mtce-common-1.0/common
Eric MacDonald 08e66abb1b Mtce: Implement all token fetches as non-blocking operations.
Fetching a keystone token is seen to take a long time When the system
is overloaded. Such delay, due to overload, is most often seen over a
Swact in All-In-One Duplex (AIO-DX) configuration.

Any blocking call that takes a long time to complete can cause a process
stall. If that stall is sufficiently long then the command will either
finish on or before the timeout. The timeout is currently set to 15
seconds which is comparable to the SM monitored audit timeout.

Although rare, then race condition does exist and if there are 2
timeouts within 2 minutes then SM fails the process and triggers a
swact.

Rather than tune the timeouts, this update implements a more robust
fix by making all token fetches ; both 'initial token get' and
'runtime token refresh' as non-blocking.

The change applies to both mtcAgent and hwmond ; both of which need
to get and manage their own authentication token.

Change-Id: I2730b76ae78daec4b9edeaff5c1ca614b75ab52c
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
2018-06-27 15:00:23 -04:00
..
Makefile StarlingX open source release updates 2018-05-31 07:36:43 -07:00
alarmUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
alarmUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
fitCodes.h Mtce: Implement all token fetches as non-blocking operations. 2018-06-27 15:00:23 -04:00
fsync.c StarlingX open source release updates 2018-05-31 07:36:43 -07:00
hostClass.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
hostClass.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
hostUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
hostUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
httpUtil.cpp Mtce: Implement all token fetches as non-blocking operations. 2018-06-27 15:00:23 -04:00
httpUtil.h Mtce: Implement all token fetches as non-blocking operations. 2018-06-27 15:00:23 -04:00
ipmiUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
ipmiUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
jsonUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
jsonUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
keyClass.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
keyClass.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
logMacros.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
msgClass.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
msgClass.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nlEvent.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nlEvent.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeBase.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeBase.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeClass.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeClass.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeCmds.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeEvent.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeEvent.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeMacro.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeTimers.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeTimers.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
nodeUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pgdbClass.cpp.OBS StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pgdbClass.h.OBS StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pgdbUtil.cpp.OBS StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pingUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
pingUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
regexUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
regexUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
returnCodes.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
threadUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
threadUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
timeUtil.cpp StarlingX open source release updates 2018-05-31 07:36:43 -07:00
timeUtil.h StarlingX open source release updates 2018-05-31 07:36:43 -07:00
tokenUtil.cpp Mtce: Implement all token fetches as non-blocking operations. 2018-06-27 15:00:23 -04:00
tokenUtil.h Mtce: Implement all token fetches as non-blocking operations. 2018-06-27 15:00:23 -04:00