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

Issue 794675 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 765749
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Add ChromeOS builds to staging environments

Project Member Reported by dgarr...@chromium.org, Dec 13 2017

Issue description

Are there any staging environments used for integration testing of new CrOps infrastructure?

If so, can we get a ChromeOS builder or two added to these environments?
 
Owner: no...@chromium.org
It seems like a reasonable way to catch integration problems before production as we put swarming into production.

Comment 2 by no...@chromium.org, Dec 14 2017

Status: Assigned (was: Untriaged)
the packages and their versions that we push to build machines, including build bootstrapper, python, git, are defined in so called "swarming_task_template". We have 2 of them:

prod: https://chrome-internal.googlesource.com/infradata/config/+/master/configs/cr-buildbucket/swarming_task_template.json
canary: https://chrome-internal.googlesource.com/infradata/config/+/master/configs/cr-buildbucket/swarming_task_template_canary.json

by default (bucket setting) 10% of LUCI builds use the canary template, so if you see that builds sometimes fail for unclear reasons, that may be because the build was canary ("canary" attr of buildbucket build is true).

Currently we have very limited alerting on canary being broken:  bug 721571 .

related: bug 695511 (milo: clearly communicate that a build is canary)

--

there is also dev versions of servers, e.g. cr-buildbucket-dev and luci-scheduler-dev. Those use HEAD versions of our packages. Jobs must be configured manually on dev servers. We and Fuchsia did so: https://luci-scheduler-dev.appspot.com/

consider doing so too
Cc: nxia@chromium.org
So, it's not a dedicated staging environment, instead production builds are randomly opted in at a low percentage?
Or.... (and this sounds better to me), when we get a staging version of our environment working, we can opt in to HEAD and test your new stuff as well.

The only downside, is that CrOps developers get no direct feedback until after they've committed changes that break us.

We are different enough that this scares me.
Components: -Infra Infra>Client>ChromeOS

Comment 6 by no...@chromium.org, Dec 22 2017

Cc: iannucci@chromium.org
> So, it's not a dedicated staging environment, instead production builds are randomly opted in at a low percentage?

correct. Note that when scheduling a buildbucket build, you force canary. I guess that's how you can ensure that critical builds won't break when canary is promoted to prod. +iannucci who was thinking about related things.



Exactly what is added to the buildbucket request to opt in?

Comment 8 by no...@chromium.org, Jan 8 2018

set "canary_preference" of a build request to "CANARY"
also see put() API in go/buildbucket-design

Comment 9 by no...@chromium.org, May 19 2018

Cc: no...@chromium.org
Owner: dgarr...@chromium.org
I’m not sure what’s expected from foundation team here 

Comment 10 by nxia@chromium.org, Jun 8 2018

Cc: -nxia@chromium.org
Mergedinto: 765749
Status: Duplicate (was: Assigned)
Duping against the bug to setup a controlled way to do canary infra builds for ChromeOS.

Sign in to add a comment