New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 818061 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

repair_test fails with "Board <x> doesn't exist"

Project Member Reported by matthewmwang@chromium.org, Mar 2 2018

Issue description

I'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.
 

Comment 1 by nxia@chromium.org, Mar 3 2018

Owner: jrbarnette@chromium.org
 matthewmwang@, can you paste the stack trace ?
Owner: matthewmwang@chromium.org
Status: Assigned (was: Untriaged)
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.

Status: WontFix (was: Assigned)
Ah ok, never mind. That's not what I originally had in mind. Closing this issue.
Cc: englab-sys-cros@google.com
Components: Infra>Client>ChromeOS
Labels: -Pri-3 Pri-1
Owner: ----
Status: Available (was: WontFix)
Summary: repair_test fails with "Board <x> doesn't exist" (was: Board kefka doesn't exist.)
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.

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.
Status: WontFix (was: Available)
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