From c27075e9e15d114ceec1f51a2882ef3700652c0c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 19 Aug 2020 16:28:27 -0700 Subject: [PATCH] ci/bare-metal: Retry booting chezas instead of failing when !POWER_GOOD If we get this error, we can just try rebooting again and see if it comes up then. The POWER_GOOD failures are clustered in time, but it's better to retry a few times in a row in one job (which has its own 60min timeout) than to spuriously fail someone's pipeline. Part-of: --- .gitlab-ci/bare-metal/cros_servo_run.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci/bare-metal/cros_servo_run.py b/.gitlab-ci/bare-metal/cros_servo_run.py index 0c43419854f..976371d18af 100755 --- a/.gitlab-ci/bare-metal/cros_servo_run.py +++ b/.gitlab-ci/bare-metal/cros_servo_run.py @@ -55,8 +55,12 @@ class CrosServoRun: for line in self.cpu_ser.lines(): if re.match("---. end Kernel panic", line): return 1 + + # The Cheza boards have issues with failing to bring up power to + # the system sometimes, possibly dependent on ambient temperature + # in the farm. if re.match("POWER_GOOD not seen in time", line): - return 1 + return 2 result = re.match("bare-metal result: (\S*)", line) if result: @@ -76,7 +80,10 @@ def main(): servo = CrosServoRun(args.cpu, args.ec) - retval = servo.run() + while True: + retval = servo.run() + if retval != 2: + break # power down the CPU on the device servo.ec_write("power off\n") -- 2.30.2