repair_test fails with "Board <x> doesn't exist" |
|||||
Issue descriptionI've installed lab-tools according to go/lab-tool. Upon running repair_test kefka chromeos2-row4-rack8-host16, I get the error "Board kefka doesn't exist." I've tried this with other boards and other hosts but the tool cannot recognize any board.
,
Mar 5 2018
The `repair_test` command requires adjustments to the local
DNS search order. Instructions are here:
https://sites.google.com/a/google.com/chromeos/for-team-members/infrastructure/cros-domain-access
However, before we dive too deep into how to make this work
for you, could you say what it is you're trying to accomplish?
The `repair_test` command has a very specific purpose: To
force a device to reinstall from USB. Even then, the usage is
restricted.
,
Mar 5 2018
Ah ok, never mind. That's not what I originally had in mind. Closing this issue.
,
Mar 6 2018
ITOT this is a real bug...
I'm engaged in testing changes to the repair_test command, and I
see the same error. Here's a complete transcript:
$ repair_test -n banjo chromeos6-row1-rack6-host5
Board banjo doesn't exist.
This isn't caused by the DNS search order, nor is it any other user error.
The problem doesn't seem even to originate in the `repair_test` code at
all.
I'm investigating, but not necessarily owning this bug.
,
Mar 6 2018
I've located the code that prints the message. It _does_ originate
from repair_test. The specific file is commandline.py, here's the
function:
def _validate_board(board):
"""Return whether a given board exists in Google storage.
For purposes of this function, a board exists if it has a
"LATEST-master" file in its release builder's directory.
N.B. For convenience, this function prints an error message
on stderr in certain failure cases. This is currently useful
for argument processing, but isn't really ideal if the callers
were to get more complicated.
@param board The board to be tested for existence.
@return Return a true value iff the board exists.
"""
# In this case, the board doesn't exist, but we don't want
# an error message.
if board is None:
return False
# Check Google storage; report failures on stderr.
if _build_path_exists(board, 'LATEST-master'):
return True
else:
sys.stderr.write('Board %s doesn\'t exist.\n' % board)
return False
The `_build_path_exists()` function is a wrapper around `gsutil`
commands. Either something regarding `gsutil` has changed recently,
or we've stopped creating the LATEST-master file in each builder's root.
,
Mar 6 2018
OK. This _is_ user error, more or less. The problem for me (and presumably for the OP) is caused by not having `gsutil` in $PATH. This happened to me because the particular host I tested on wasn't my usual desktop (where I _do_ have gsutil properly installed). A better error message would have helped here, but I think that's not this bug, so let's just go back to WontFix. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by nxia@chromium.org
, Mar 3 2018