New issue
Advanced search Search tips

Issue 873260 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Remove chrome_binhost_only

Project Member Reported by dgarr...@chromium.org, Aug 10

Issue description

For build performance reasons, we require most builders to use binary prebuilts for Chrome. We have two mechanisms to enforce this.

A) binhost test, which ensures the Chrome PFQ generates enough prebuilts.
B) The build config value "chrome_binhost_only" which propagates through the build system and causing an error if a Chrome ebuild doesn't have the necessary prebuilt.

We can now build Chrome in 40 minutes on all builders, instead of the 2 hours needed when this was initially setup.

We have disabled chrome_binhost_only on most builders for a long time now (only the two full paladin builders currently have it enabled).

I believe that relying only on the binhost test, and allowing builds from source to cover edge cases (mostly transitional edge cases) should be sufficient going forward.

Based on that, I'd like to remove the "chrome_binhost_only" config value, all plumbing through cbuildbot needed to support it, and the ebuild behaviors associated with it.

This is in the name of removing one more bit of complexity.
 
Components: -Infra>Client>ChromeOS>CI Infra>Client>ChromeOS>Build
Owner: vapier@chromium.org
Passing to vapier@ to see if there are any objections to this plan as long as binhost test remains in place.
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 14

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

commit a2f48ac5546bb239cb9afb0ca83abd3863fbce72
Author: Don Garrett <dgarrett@google.com>
Date: Tue Aug 14 19:19:55 2018

chromeos_config: Disable chrome_binhost_only globally.

chrome_binhost_only requires that a given builder is only allowed to
use a binary prebuilt for Chrome. Chrome now builds in about 40
minutes, as compared to the 2 hours required when this
chrome_binhost_only was firs introduced, so building from source is a
problem, but not as bad as it used to be.

This means that the increased complexity in rolling out some ebuild
changes isn't worth this trade off.

This should be followed up by removing support for chrome_binhost_only
through the whole call stack.

BUG= chromium:873260 
TEST=run_tests

Change-Id: I6ddf5fd70dccd4bb3b070eb06c5bd261a33ce830
Reviewed-on: https://chromium-review.googlesource.com/1170396
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Mike Nichols <mikenichols@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/a2f48ac5546bb239cb9afb0ca83abd3863fbce72/config/chromeos_config.py
[modify] https://crrev.com/a2f48ac5546bb239cb9afb0ca83abd3863fbce72/config/config_dump.json

Cc: vapier@chromium.org dgarr...@chromium.org
Labels: OS-Chrome
Owner: dgarr...@chromium.org
Status: Started (was: Untriaged)
as long as the bots don't become long tails in the CQ timing wise, OK

so i'd say leave the bug open so we can come back in a few days and check the runtimes for the bots
As long as we are happy with this, I plan to keep the bug open, and remove that build config setting along with all the option piping to support it.

This leaves us totally dependent on binhost test to avoid compiling chrome when we don't want too, but removes a concept from our code.
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosutils/+/66fde9321fd6660e8ba76cf9d6c6ca4127ed303e

commit 66fde9321fd6660e8ba76cf9d6c6ca4127ed303e
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 18 21:03:29 2018

setup_board: Remove --chrome_binhost_only.

Remove --chrome_binhost_only from setup_board and build_packages. It
was only used by build_packages for the implicit setup_board
invocation.

BUG= chromium:873260 
TEST=None
CQ-DEPEND=CL:1226180

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

[modify] https://crrev.com/66fde9321fd6660e8ba76cf9d6c6ca4127ed303e/setup_board
[modify] https://crrev.com/66fde9321fd6660e8ba76cf9d6c6ca4127ed303e/build_packages

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 18

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

commit 883dc7963a805e95dd91dae640f5d59ddbafc126
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 18 21:03:28 2018

config_lib: Remove chrome_binhost_only option.

Remove this build config option, and all places it is called. This
means that we will never pass --chrome_binhost_only to setup_board or
build_packages. Since the build config value was never set, this will
not ever change our actual build behavior.

BUG= chromium:873260 
TEST=run_tests

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

[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/cbuildbot/commands.py
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/cbuildbot/stages/sdk_stages.py
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/config/config_dump.json
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/lib/config_lib.py
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/cbuildbot/stages/workspace_stages.py
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/cbuildbot/stages/build_stages.py
[modify] https://crrev.com/883dc7963a805e95dd91dae640f5d59ddbafc126/cbuildbot/commands_unittest.py

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 18

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

commit e7b2aeec94a2677f73f1037c53d7597356d7203c
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 18 21:03:30 2018

cros_sysroot_utils: Remove --chrome-only.

Remove the --chrome-only argument only used by setup-board if
--chrome-binhost-only is set.

BUG= chromium:873260 
TEST=run_tests
CQ-DEPEND=CL:1227572

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

[modify] https://crrev.com/e7b2aeec94a2677f73f1037c53d7597356d7203c/scripts/cros_sysroot_utils.py
[modify] https://crrev.com/e7b2aeec94a2677f73f1037c53d7597356d7203c/lib/sysroot_lib.py

Status: Fixed (was: Started)

Sign in to add a comment