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

Issue 910646 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

workbranch builds require matching overlay on TOT

Project Member Reported by dgarr...@chromium.org, Nov 30

Issue description

The smaug firmware branch build is unique, because the overlay no longer exists on TOT.

For workbranch builds, this is supposed to be okay, however, it is causing problems in cbuildbot.

https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8928483267190304656

15:41:31: ERROR: <class 'chromite.lib.portage_util.MissingOverlayError'>: board overlay not found: smaug
Traceback (most recent call last):
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/failures_lib.py", line 230, in wrapped_functor
    return functor(*args, **kwargs)
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/cbuildbot/stages/report_stages.py", line 471, in PerformStage
    config['boards'][0], buildroot=build_root)
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/toolchain.py", line 87, in GetToolchainTupleForBoard
    toolchains = GetToolchainsForBoard(board, buildroot)
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/toolchain.py", line 69, in GetToolchainsForBoard
    buildroot=buildroot)
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/portage_util.py", line 216, in FindOverlays
    overlays = _ListOverlays(board=board, buildroot=buildroot)
  File "/b/swarming/w/ir/cache/cbuild/repository/chromite/lib/portage_util.py", line 198, in _ListOverlays
    raise MissingOverlayError('board overlay not found: %s' % board)
MissingOverlayError: board overlay not found: smaug
 
The quick and dirty fix is to restore the overlay after all.

The cleaner solution is to have workbranch builds not look up board information from the infra checkout, since they aren't going to use it anyway. I'm not certain how hard that will be.
Any updates here?
I'm the right person to do the real fix, but I won't be able to get to it for a while.

It's better to do the quick and dirty fix by creating a smaug overlay at TOT for now.
Cc: evanhernandez@chromium.org shapiroc@chromium.org la...@chromium.org chienhua@google.com dtor@chromium.org evanhernandez@google.com dhanyaganesh@google.com vapier@google.com
 Issue 918062  has been merged into this issue.
Owner: evanhernandez@chromium.org
If I can get someone to create the placeholder overlays for: gale, smaug, kitty, and nyan, I'd appreciate it.
Feel free to pass this back after that.
Owner: dgarr...@chromium.org
Status: Started (was: Untriaged)
I took a look at this, and think I have a real fix ready.
Okay. If that doesn't work, I will create the overlays in the AM.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/82b851dfd6665ba6452703654b3f8adbcbc2c565

commit 82b851dfd6665ba6452703654b3f8adbcbc2c565
Author: Don Garrett <dgarrett@google.com>
Date: Tue Jan 08 16:26:30 2019

report_stages: Optionally use workspace for overlays.

BuildReexecutionFinishedStage looks up assorted metadata about the
build. For workspace builds, do this in the workspace directory,
instead of TOT.

BUG= chromium:910646 
TEST=cros tryjob -g <cl> firmware-gale-8281.B-firmwarebranch-tryjob

Change-Id: Ib5ffb3f2ff0ba2d62fd1c94272e14cef0ad345c8
Reviewed-on: https://chromium-review.googlesource.com/1400201
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/82b851dfd6665ba6452703654b3f8adbcbc2c565/cbuildbot/stages/report_stages.py

The original problem is fixed, but there seems to be something similar in the archive logic. I'll look at that today.
Testing this CL now to ensure it fixes the problem:

https://crrev.com/c/1401211
Project Member

Comment 12 by bugdroid1@chromium.org, Jan 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/e7751130858f24f9ab9d2bd1b395f6763bd208f8

commit e7751130858f24f9ab9d2bd1b395f6763bd208f8
Author: Don Garrett <dgarrett@google.com>
Date: Fri Jan 11 17:47:58 2019

generic_stages: Use active buildroot for portage lookups.

GenericStage looks up overlay information for multiple purposes
(especially artifacts.json), and was using the default
buildroot. Workspace builds should do the lookups from the workspace
checkout. Explicitly pass in the buildroot set on the stage, so that
workspace stages will do the right thing.

This affects many unittests, because they were using fake buildroots,
while looking up overlay information from the real checkout. Add a way
to create mock overlays, and use it where needed.

BUG= chromium:910646 
TEST=run_tests
     cros tryjob -g <x> success-build samus-paladin-tryjob \
       firmware-gale-8281.B-firmwarebranch-tryjob

Change-Id: I0a973e68968ee7043ef9dc6029d675c91c5fbfa0
Reviewed-on: https://chromium-review.googlesource.com/1401211
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>

[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/build_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/artifact_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/chrome_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/vm_test_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/generic_stages.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/report_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/generic_stages_unittest.py
[modify] https://crrev.com/e7751130858f24f9ab9d2bd1b395f6763bd208f8/cbuildbot/stages/report_stages.py

Status: Fixed (was: Started)
Fixed!
Great, thanks a lot for the the help!

Sign in to add a comment