New issue
Advanced search Search tips

Issue 887065 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 27
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Split UpdateChroot out of SetupBoard

Project Member Reported by dgarr...@chromium.org, Sep 19

Issue description

The SetupBoard stage is doing UpdateChroot. The UpdateChroot is sometimes expensive, but because of the stage that runs it, numerous people get confused and think SetupBoard is expensive.

 
Owner: dgarr...@chromium.org
Why do we want the update to be it's own stage, instead of part of the InitSDK stage?
it provides better visibility as to which stage is doing what and to make sure we don't keep mixing/conflating issues.  like how SetupBoard was doing Update+Setup, we'd like to keep InitSDK sep from UpdateSDK so we better know where the variability in timings comes from.

look at it this way: if we were exposing metrics everywhere instead of using the legoland charts, we'd 100% have a probe between the init&update sdk steps.
Status: Started (was: Untriaged)
Owner: saklein@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 20

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

commit 4b2a7df8d66326227bc122b9eaa93211ebcf7238
Author: Alex Klein <saklein@chromium.org>
Date: Tue Nov 20 07:43:50 2018

UpdateSDKStage: Add UpdateSDK stage to execute main update

In order to better capture stage performance metrics, do the
update_chroot work in a new stage run prior to SetupBoard.
Setup for a complete break out of update_chroot from SetupBoard.

The new stage will update the chroot using the default 'sdk'
target value rather than passing a board. It will update all
"standard" boards, but will break those that have toolchains
not part of the sdk (usepkg_toolchain=False is allowed).

BUG= chromium:887065 
TEST=run_tests (needs tryjobs against many types of builds)
     cros tryjob --cbuildbot chromite-pre-cq
     cros tryjob --cbuildbot daisy-paladin-pre-cq

Change-Id: I560120a82347bb21384424bcc8aa182695202021
Reviewed-on: https://chromium-review.googlesource.com/1239573
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/stages/build_stages_unittest.py
[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/builders/fuzzer_builders.py
[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/builders/simple_builders.py
[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/stages/build_stages.py
[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/builders/clang_tidy_builders.py
[modify] https://crrev.com/4b2a7df8d66326227bc122b9eaa93211ebcf7238/cbuildbot/builders/test_builders.py

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 20

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

commit 2d6ba0ac57b861556689e72df9798bd39355c60a
Author: Alex Klein <saklein@chromium.org>
Date: Tue Nov 20 07:43:50 2018

SetupBoardStage: remove update_chroot call

The update_chroot call was simply to ensure cros_setup_toolchains was
executed properly. Instead, call it directly and drop the update_chroot
call. More completely isolates the functionality and allows better
attribution of the work executed to each stage.

BUG= chromium:887065 
TEST=run_tests

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

[modify] https://crrev.com/2d6ba0ac57b861556689e72df9798bd39355c60a/cbuildbot/stages/build_stages_unittest.py
[modify] https://crrev.com/2d6ba0ac57b861556689e72df9798bd39355c60a/cbuildbot/stages/build_stages.py
[modify] https://crrev.com/2d6ba0ac57b861556689e72df9798bd39355c60a/cbuildbot/commands.py

Status: Fixed (was: Started)

Sign in to add a comment