StarlingX Bare Metal and Node Management, Hardware Maintenance
Go to file
Eric MacDonald 316032b904 Mtce: Improve non-blocking http request dispatch
Maintenance is seen to intermittently fail Swact requests early
after initial system provisioning, without logging an error
reason, only to always succeed later on.

The issue is difficult to reproduce so this update adds extra
logging to this code path and implements a speculative fix.

The event_base_loop calls' non-zero return code is never being
logged. The libevent documentation states that this API will
return 1 while the target has not yet provided any data.

Theory is, because the call is local, that normally it returns
with data even on the first dispatch case. However, during early
system configuration, when the system is busy, that first dispatch
does not complete immediately like it normally does later on.

Speculation is, instead it returns a 1 stating retry but the
existing code path treats that as a failure.

This update modifies the code to return a PASS if the command
dispatch returns a 1 while the error case of -1 gets enhanced
logging and continues to be treated as a failure.

Test Plan:
PASS: Swact 5 times
PASS: Lock/Unlock Host
PASS: Large System DOR

Related Bug: https://bugs.launchpad.net/starlingx/+bug/1791381
Change-Id: I19b22e07d3224b2e9dd3f3569ecbe9aed7d9402f
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
2018-09-10 19:02:42 +00:00
bsp-files Exclude platform-util-controller from non-controller 2018-09-07 17:41:48 -04:00
installer Fix linters issues and enable tox/zuul linters job as gate 2018-09-05 09:02:25 +08:00
kickstart Rename mwa-* subdirectories to match the git repo name 2018-07-03 16:29:24 -04:00
mtce-common Mtce: Improve non-blocking http request dispatch 2018-09-10 19:02:42 +00:00
mtce-compute Fix linters issues and enable tox/zuul linters job as gate 2018-09-05 09:02:25 +08:00
mtce-control Rename mwa-* subdirectories to match the git repo name 2018-07-03 16:29:24 -04:00
mtce-storage Rename mwa-* subdirectories to match the git repo name 2018-07-03 16:29:24 -04:00
.gitignore Add default test framework 2018-06-11 18:51:02 -05:00
.gitreview Add .gitreview 2018-05-31 07:36:43 -07:00
.zuul.yaml Fix linters issues and enable tox/zuul linters job as gate 2018-09-05 09:02:25 +08:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:36:43 -07:00
LICENSE StarlingX open source release updates 2018-05-31 07:36:43 -07:00
README.rst StarlingX open source release updates 2018-05-31 07:36:43 -07:00
centos_iso_image.inc Split image.inc across git repos 2018-08-15 16:45:56 -04:00
centos_pkg_dirs Split centos-pkg-dirs along git boundaries. 2018-06-20 16:25:33 -04:00
test-requirements.txt Add default test framework 2018-06-11 18:51:02 -05:00
tox.ini Fix linters issues and enable tox/zuul linters job as gate 2018-09-05 09:02:25 +08:00

README.rst

stx-metal

StarlingX Bare Metal Management