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

Issue 819899 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Bot mirroring requirements in chromium recipes lead to weird noop builders in luci-scheduler.cfg

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

Issue description

Previously on buildbot the CI bots would e.g. fire triggers which then go to /dev/null (e.g. https://ci.chromium.org/buildbot/chromium.gpu.fyi/GPU%20FYI%20Linux%20Builder/1257). 

However on LUCI, triggers actually go to a service (luci-scheduler.appspot.com) which authenticates the triggerer and verifies that the thing it's triggering exists (e.g. https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/GPU%20FYI%20Linux%20Builder/52)

IIUC, the chromium recipe requires that trybots 'match' a main waterfall tester configuration. In order to have e.g. optional GPU trybots, the CI recipe for `GPU FYI Linux Builder` is configured to be the 'parent' of a couple bots which /never existed/ in buildbot. Now that we're migrating this waterfall to LUCI, we see it trying to issue the matching triggers, and then immediately failing because the bots that it's triggering don't (and have never) exist(ed).

The short-term remedy for this is to add a bunch of 'noop' builders to luci-scheduler.cfg... The CI bot will 'trigger' them, luci-scheduler will see that they exist, and then promptly do nothing with the trigger. The better solution would be to reformulate the recipes so that this is not required.
 
Cc: dpranke@chromium.org
Summary: Bot mirroring requirements in chromium recipes lead to weird noop builders in luci-scheduler.cfg (was: Bot mirroring requirements lead to weird noop builders in luci-scheduler.cfg)
kbr and I talked about this a while back. webrtc came up with a clever way to do standalone trybots that I rather like: their trybots are set up to mirror themselves: https://codesearch.chromium.org/chromium/build/scripts/slave/recipe_modules/chromium_tests/trybots.py?rcl=0c6a4853998c9890a1c28f876fb3338c63992699&l=769
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 8 2018

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

commit 0c39b664e696e1042e554dbeb473591656a1f0db
Author: Kenneth Russell <kbr@chromium.org>
Date: Thu Mar 08 03:33:44 2018

No-op out the already-converted "optional" GPU bots.

These exist only to be mirrored into the optional tryservers, but
their existence breaks on LUCI, where the triggers were silently
ignored on Buildbot. The same will have to be done for the other
optional Windows and Android trybots.

Also, let the GPU FYI service account trigger jobs.

TBR=nodir@chromium.org

Bug: 815092, 819899
Change-Id: I263dcfc4e95b99aac5dee9466c341f1c552b145d
Reviewed-on: https://chromium-review.googlesource.com/954587
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541710}
[modify] https://crrev.com/0c39b664e696e1042e554dbeb473591656a1f0db/infra/config/global/luci-scheduler.cfg

Comment 5 by kbr@chromium.org, Mar 8 2018

Cc: jbudorick@chromium.org
> kbr and I talked about this a while back. webrtc came up with a clever way to do
> standalone trybots that I rather like: their trybots are set up to mirror
> themselves.

That feels too clever to me. We should figure out some way to just support non-mirrored trybots directly in the module.
#6: probably true, but I think the clever one is better than the fake bot one.
I also don't think we should do both this and the "dummy" builder approach. We should have at most one clever workaround, but ideally zero workarounds.
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 15 2018

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

commit c9963a068210f11fdfe9ae6ad56497a2ca449e9b
Author: Kenneth Russell <kbr@chromium.org>
Date: Thu Mar 15 02:10:19 2018

Add no-op triggers for optional and ANGLE tryservers.

These are needed with the LUCI configurations. On Buildbot these were
silently ignored.

TBR=iannucci@chromium.org, geofflang@chromium.org
NOTRY=true

Bug: 815092, 819899
Change-Id: I97f62b802e76b2d925590603e90f2d8bb4bab072
Reviewed-on: https://chromium-review.googlesource.com/963799
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543284}
[modify] https://crrev.com/c9963a068210f11fdfe9ae6ad56497a2ca449e9b/infra/config/global/luci-scheduler.cfg

Status: Available (was: Untriaged)
Marking as available as a workaround solution was already found.

Sign in to add a comment