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

Issue 820252 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

pre-cq gap for arc boards

Project Member Reported by pprabhu@chromium.org, Mar 8 2018

Issue description

https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/942781 caused BuildPackages failure in the CQ that should have been caught in the pre-cq

Worse, the messaging on the CQ master's HandleChanges (http://shortn/_QUpQ5MR6ra) suggests that this CL was not landed because poppy-paladin didn't pass (was self-destructed), and that CQ master couldn't find any changes to blame for the actual BuildPackages failures.


Did we just get lucky with this change. i.e., poppy-paladin could have succeeded in a past run, and then we would have landed this change.

The ask here is: 
(1) Are we incorrectly detecting the relevant boards for this change.
(2) What pre-cqs could have saved these builders. There's a large number of builders that failed, so we can consider adding / swapping a pre-cq config from the default set.
 
The CL in question depends on https://crrev.com/c/936141.

Looking at the history for both CLs, I seem them failing in build_packages repeatedly while in the PreCQ. They were resubmitted until they passed.

Why did they eventually pass? Does the CL cause build time flake, instead of consistent build time failure?

Labels: -Chase-Pending Chase
Owner: dgarr...@chromium.org
Status: Assigned (was: Untriaged)
Cc: linben@chromium.org jcliang@chromium.org
 Issue 819318  has been merged into this issue.
Status: Started (was: Assigned)
To examine this week.
I'm confused by this, we have both arc and arcnext boards in the PreCQ:

    # Betty is the designated board to run vmtest on N.
    'betty-pre-cq',                   # vm board                       vmtest
    'cyan-no-vmtest-pre-cq',          # braswell     kernel 3.18
    'daisy_spring-no-vmtest-pre-cq',  # arm32        kernel 3.8
    'kevin-arcnext-no-vmtest-pre-cq', # arm64        kernel 4.4        arcnext
    'nyan_blaze-no-vmtest-pre-cq',    # arm32        kernel 3.10
    'reef-no-vmtest-pre-cq',          # apollolake   kernel 4.4        vulkan
    'samus-no-vmtest-pre-cq',         # broadwell    kernel 3.14
    'whirlwind-no-vmtest-pre-cq',     # brillo
    'zako-no-vmtest-pre-cq',          # haswell      kernel 3.8

Cc: domlasko...@chromium.org
Asking the current ARC Constable for advice.

What are the substantial differences between the boards used by our PreCQ builders, and the paladin builders mentioned above, ie:

  poppy-paladin
  eve-arcnext-paladin
  rainier-paladin
  scarlet-paladin

For example, are all of the paladins ARM and non of the PreCQ builders ARM?
domlaskowski@ has promised feedback tomorrow.
Edited from a conversation with domlaskowski:

i don't see any obvious differences, e.g. the paladins are a mix of x86/ARM boards with N and P containers
taking a closer look at the compile failures...
hmm, looking at the blamed CL, we might be building different image types for containers, i.e. user/userdebug/eng

looks like we're building conditionally on the cheets_{user,userdebug} USE flags

Do you know where those flags are defined? IE: Is it per build config? Or per board? Or something else?

not entierly sure, but it looks like the ebuilds for the N and P containers use cheets_user by default, and some boards override that

e.g. boards using 64-bit container:
https://chrome-internal.git.corp.google.com/chromeos/overlays/project-cheets-private/+/master/profiles/android/amd64/make.defaults#10
or some explicit board variants:
https://chrome-internal.git.corp.google.com/chromeos/overlays/overlay-caroline-userdebug-private/+/c0cdb14b5ad4f8096b70f23350aa91c09e43cea4/profiles/base/make.defaults#10


Labels: -Chase OS-iOS
After reading through ebuilds, I believe thse are the boards currently using cheets_userdebug, and which so need extra coverage.

novato-compile-only-pre-cq
caroline-compile-only-pre-cq
eve-compile-only-pre-cq

I'm currently running tryjobs against the compile-only pre-cq builders for them to confirm they build, and to try to confirm the useflag usage.

http://cros-goldeneye/chromeos/healthmonitoring/buildDetails?buildbucketId=8950776505193609120
http://cros-goldeneye/chromeos/healthmonitoring/buildDetails?buildbucketId=8950776504184376208
http://cros-goldeneye/chromeos/healthmonitoring/buildDetails?buildbucketId=8950776502411987840


Cc: levarum@chromium.org
Build logs are showing different use flags than I was predicting from reading ebuilds, based on examining BuildPackages logs.

Existing PreCQ:
  samus:          cheets_user
  kevin-arcnext:  cheets_user

Candidates:
  novato:      cheets_userdebug
  caronline:   cheets_user
  eve:         cheets_user_64
  eve-arcnext: cheets_user_64
  poppy:       cheets_user
  rainier:     cheets_user
  scarlet:     cheets_user

Novato isn't on the CQ at all, so I believe the missing coverage is for "cheets_uesr_64".

My proposal is to remove "kevin-arcnext-novmtest-pre-cq" and add "eve-arcnext-no-vmtest-pre-cq" to the default list.

That doesn't cover all four arc/arcnext and cheets_user/cheets_user_64 combinations, but will also keep our builder load consistent with today.

Running a question sanity build before adding something to the list of default PreCQ builders.

http://cros-goldeneye/chromeos/healthmonitoring/buildDetails?buildbucketId=8950766498151516784
That proposal would leave us with no arm64 in the PreCQ.

So, changing the proposal to leaving kevin-archnext alone and adding "eve-no-vmtest-pre-cq". 

Better coverage, but heavier load.
Project Member

Comment 17 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7017df438ed3652f4095a51536b11f715bd04fcb

commit 7017df438ed3652f4095a51536b11f715bd04fcb
Author: chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Mar 30 06:23:43 2018

Roll src/third_party/chromite/ 33146a204..36a9c890b (5 commits)

https://chromium.googlesource.com/chromiumos/chromite.git/+log/33146a20418a..36a9c890b979

$ git log 33146a204..36a9c890b --date=short --no-merges --format='%ad %ae %s'
2018-03-29 yunlian Add USE=thinlto for AMD64 release buidlers only.
2018-03-29 vapier gs: update to 4.30
2018-03-29 yunlian chromeos-config: remove USE=thinlto from terra and caroline-release
2018-03-27 smbarber chromeos_config: add tael to external waterfall
2018-03-28 dgarrett precq: Add eve-no-vmtest-pre-cq.

Created with:
  roll-dep src/third_party/chromite
BUG= chromium:827217 ,chromium:None,chromium:707803,chromium:824615,chromium:820252


The AutoRoll server is located here: https://chromite-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=chrome-os-gardeners@chromium.org

Change-Id: I83683cdbd852c5097195bb0689107322912eeb7f
Reviewed-on: https://chromium-review.googlesource.com/987452
Reviewed-by: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#547117}
[modify] https://crrev.com/7017df438ed3652f4095a51536b11f715bd04fcb/DEPS

Status: Fixed (was: Started)

Sign in to add a comment