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

Issue 591117 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Rename builders to use cbuildbot config name.

Project Member Reported by dgarr...@chromium.org, Mar 1 2016

Issue description

Right now, we name builders with friendly names, but having to map from friendly names to config names is sometimes confusing.

 

Comment 1 by d...@chromium.org, Mar 1 2016

Is this really something we want to do? AFAICT the "friendly names" has been the case for lots of years. I'd *love* to rename them to builder names, as it would remove yet more magic from the BuildBot code.

This operation is manually intensive, as preserving history across builder rename will require manually renaming the builder's history directory on the master system. Let's make absolutely sure that this is what we want to do before going through with it.
This is a request that came out of the Chrome Gardening code yellow as a way to reduce confusion (which I think we all agree with).

I hadn't thought about losing history. Is it a total non-starter to just lose it? How far back does it go anyway.... the last 200 builds?

Comment 3 by d...@chromium.org, Mar 1 2016

Losing history might actually be a non-issue. It looks like Past Me already told BuildBot to name history directories after the config rather than the friendly name.
Does loss of history mean "you can't see those logs anymore", or "those logs are still available, but under the old name"?

I don't think a one-time loss of history is a big deal. Especially in the latter case.
Oh, sweet.

Comment 6 by d...@chromium.org, Mar 1 2016

It would effectively mean "you can't see the logs anymore", since even if they still existed on the master, there would be no link to them nor system serving them.

I just did a local test though and it looks like it won't be a problem. I did apparently decouple the builder's state directory name from the builder name.

Comment 7 by d...@chromium.org, Mar 1 2016

CL ready to do this, it will obviously require a master restart to take effect: https://codereview.chromium.org/1757553002

LMK if I have the go-ahead to land.
Let's discuss a bit more first (I'll rope in chromeos infra) but sounds good to me.
Cc: abodenha@chromium.org
Labels: Build-PFQ-CodeYellow
I think that I can safely speak for other gardeners when saying that the "user friendly" names are anything but :)

The primary reason the "user friendly" names cause confusion is when trying to find the associated name in 'cbuildbot --list', where, e.g. "peach_pit (chrome)" actually corresponds to "peach_pit-tot-chrome-pfq-informational".

+abodenha@ FYI

Comment 11 by d...@chromium.org, Mar 1 2016

It is worth noting that BuildBot's URL interface (/builders/<whatever>/builds/1234) uses the display name of the builder as "<whatever>". Consequently, any tooling or links that use hard-coded builder names in URLs (including JSON endpoint hits) will likely break.
That would break links in bugs. This one, for example:

https://uberchromegw.corp.google.com/i/chromeos/builders/pineview%20group%20canary/builds/2157
How painful would it be to set up redirects? FWIW, those escaped paths are also kind of a pain, e.g. https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/Lumpy%20%28chrome%29

Cc: shuqianz@chromium.org sbasi@chromium.org
I say that those links (while useful) have always been temporary. I say we go forward with this, if the deputy (primary and secondary) sign off on it.

Adding deputies.

Comment 15 by d...@chromium.org, Mar 1 2016

Redirects would be fairly painful.
I would agree that old links are not critical to preserve, so long as any
new links (e.g. from the PFQ master to failed builders) are correct.

On Tue, Mar 1, 2016 at 12:48 PM, dnj@chromium.org via Monorail <
monorail@chromium.org> wrote:

Comment 17 by d...@chromium.org, Mar 1 2016

That's a good point - Chromite generates builder links. It would need to be updated to use the config names directly.

(Which is probably a good thing).
Simran just gave the go ahead.

Which becomes a roll out problem since it would be generating invalid links until the waterfall is restarted.

Maybe I should prep a CL that removes config names, and see how much it affects. Before we land the waterfall side of this.

Comment 20 by d...@chromium.org, Mar 1 2016

Yeah, there would definitely be a race.

Worst case, though, we get a round or two of builds with unclickable links with the silver lining that they will become clickable after the restart. I don't think that's too horrible - no data loss or anything. We probably want to CQ the change, though, meaning that this will likely happen to some extent.

If you wanted to prevent this, we could pass a master schema ID from master to cbuildbot and have cbuildbot choose how to generate links based on the schema version. This isn't a bad idea in general, but would take some time, and probably isn't worth it for this specific event.
Status: dnj (was: Untriaged)
I was just chatting with +jparent@, and she mentioned that we should probably send out an email to chrome-infrastructure-team@ (and maybe chromeos-infra-eng@?) as an FYI/heads-up in case this breaks anything else (e.g. sheriff-o-matic which we are starting to populate with chromeos builders). It seems OK to fix any problems as they come up, but a heads-up is always a good thing :)

dnj@ - assigning to you since you already put together a CL :)

Owner: d...@chromium.org
Status: Assigned (was: dnj)
Cc: jparent@chromium.org

Comment 24 by d...@chromium.org, Mar 1 2016

Owner: dgarr...@chromium.org
Actually handing to dgarrett@ since he's working up the Chromite side of this. Please pass to me when we're ready for the BuildBot part.
I'm confused. Chromite-generated urls are done programatically based on the builder name that was passed in to the run. Chromite-generated urls should be fine prior to the restart, and after the restart. (but links from pre-restart will be broken after the restart)

Comment 26 by d...@chromium.org, Mar 1 2016

Is that true for master lists? Chromite emits links to builders that failed, so those builder names wouldn't have been passed to the master builder. Are the slave builders registering their builder names with the database that the master uses?
Yes, the slaves register themselves with cidb, including the name of their builder. This is what the master uses to construct the url to the slave build.
Excellent!
Also... looking at the chromite side, I was thinking that the 'Description' field matched the friendly builder names, but that's obviously not true.

In combination with that Aviv just said, I don't think we need any other chromite changes for this.

Comment 30 by d...@chromium.org, Mar 2 2016

Owner: d...@chromium.org
Okay. We're getting to go a good drain/restart window, want to flip the switch here?
Let's do it.
Project Member

Comment 32 by bugdroid1@chromium.org, Mar 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/44bff35f736334573a94463d0a0ed15f2f9ba6d9

commit 44bff35f736334573a94463d0a0ed15f2f9ba6d9
Author: dnj@chromium.org <dnj@chromium.org>
Date: Wed Mar 02 01:01:15 2016

CrOS: Builder names == target config names.

BUG= chromium:591117 
TEST=None

Review URL: https://codereview.chromium.org/1757553002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299039 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/44bff35f736334573a94463d0a0ed15f2f9ba6d9/scripts/master/cros/builder_config.py

Comment 33 by d...@chromium.org, Mar 2 2016

Status: Started (was: Assigned)
PSA sent.

Comment 35 by d...@chromium.org, Mar 2 2016

Looks like we hit a round of builders failing b/c their names changed. I've kicked off a restart, will hit once the current canary run finishes.
Project Member

Comment 36 by bugdroid1@chromium.org, Mar 2 2016

Project Member

Comment 37 by bugdroid1@chromium.org, Mar 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/b749d12e388dc1c1f469f92bfbc3ecdf6b5aefd5

commit b749d12e388dc1c1f469f92bfbc3ecdf6b5aefd5
Author: dnj@chromium.org <dnj@chromium.org>
Date: Wed Mar 02 01:09:52 2016

CrOS: Update Chromite pin.

Update ChromeOS Chromite pins.
- [master]
  ae46034b4c736d33dc7def9967265f125f195fea =>
     0b18a845107ad0ab34368bfe616d8767c48bd996

BUG= chromium:591117 
TBR=bpastene@chromium.org

Review URL: https://codereview.chromium.org/1753063002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299040 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/b749d12e388dc1c1f469f92bfbc3ecdf6b5aefd5/scripts/common/cros_chromite_pins.json

Project Member

Comment 38 by bugdroid1@chromium.org, Mar 2 2016

Comment 39 by d...@chromium.org, Mar 2 2016

Owner: dgarr...@chromium.org
This is complete. Passing back to dgarrett@ for follow-up and verification.
So far, inter-waterfall links appear to be working.

Waiting for a full set of builds to finish so we can see if master->slave links work.

Comment 42 by d...@chromium.org, Mar 2 2016

chromeos.chrome is a bit more work, as it isn't part of the new configuration scheme and several builders are actually not directly tied to a specific instantiation of a cbuildbot target.

chromeos_release has already been updated.

Comment 44 by d...@chromium.org, Mar 2 2016

The "chromeos_release" link there is weird to me. All "chromeos_release" builders have their branches appended as a suffix. For example:

https://uberchromegw.corp.google.com/i/chromeos_release/builders/auron-release-group%20release-R50-7978.B

That link is more in-line with "chromeos" waterfall, which is de facto tip-of-tree. Changing "chromeos_release" to "chromeos" actually yields a working link:
https://uberchromegw.corp.google.com/i/chromeos/builders/beltino-a-release-group/builds/1947

In this case, I don't think this name change had that impact, as a builder name change within a waterfall should not affect one waterfall being confused with another. Then again, I don't know where Goldeneye generates this link from.

Comment 45 by ihf@chromium.org, Mar 2 2016

Filed b/27444383 for the goldeneye team.
Cc: leecy@chromium.org
In order to fix GoldenEye links we needed to update our assumption of ToT builder names having "(canary)" in them. But since we know the bot config name, we could use it instead of the builder name in order to not break old links (which we guess it'd be cool for users). So we have some questions:

  1. Can we assume all builders in "chromeos" have the same name as their config? If we use that instead we can provide back-compat.
  2. Are "chromeos_release" and "chromeos.branch" affected by this change? Maybe not now, but after the next branch point?
  3. Can we safely assume branch builders will always have the branch name appended at the end of their name? We deduct it from there since we have no way to ingest it (https://bugs.chromium.org/p/chromium/issues/detail?id=407876).

Thank you!

Comment 47 by d...@chromium.org, Mar 2 2016

1) Yes. All translation has been removed.
2) Yes and yes. "chromiumos" is also affected. NOTE: (1) is not true for all of these, as some still have their branch names appended, but they all will begin their config.
3) That seems reasonable.
Question: Can these builders also be renamed?

https://build.chromium.org/p/chromiumos.chromium/builders

These get a lot more verbose, e.g.:
X86 (chromium) -> x86-generic-tot-chromium-pfq-informational

But I still think is -much- more helpful than the "user friendly" name which is pretty meaningless.

Comment 50 by d...@chromium.org, Mar 3 2016

RE #48: Okay done.

Comment 51 by d...@chromium.org, Mar 3 2016

Also did this for chromeos.chrome where applicable.
Status: Fixed (was: Started)

Comment 53 by ihf@chromium.org, Mar 3 2016

I am trying to find binary pfq artifacts. Are they supposed to be here?
** BUILD ARTIFACTS FOR THIS BUILD CAN BE FOUND AT:
**  nyan: https://storage.cloud.google.com/chromeos-image-archive/nyan-chrome-pfq/R51-8001.0.0-rc1/index.html
@@@STEP_LINK@Artifacts[nyan]: nyan-chrome-pfq/R51-8001.0.0-rc1@https://storage.cloud.google.com/chromeos-image-archive/nyan-chrome-pfq/R51-8001.0.0-rc1/index.html@@@
I believe that's from a build that failed very early on, and so didn't upload anything.

Comment 55 by d...@chromium.org, Mar 3 2016

RE #53, looking at the bucket:  https://storage.cloud.google.com/chromeos-image-archive/nyan-chrome-pfq

All of the artifacts are already there. This implies that the artifact upload has always used the config name. Therefore, it is unlikely that this builder rename has affected artifact upload paths at all.

Comment 56 by ihf@chromium.org, Mar 3 2016

Thanks for checking. I also had the feeling that it may have not uploaded due to how early it failed.
Project Member

Comment 57 by bugdroid1@chromium.org, Mar 22 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=84650

------------------------------------------------------------------
r84650 | dnj@google.com | 2016-03-02T01:11:00.180920Z

-----------------------------------------------------------------
Project Member

Comment 58 by bugdroid1@chromium.org, Mar 22 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=84690

------------------------------------------------------------------
r84690 | dnj@google.com | 2016-03-03T00:57:27.883054Z

-----------------------------------------------------------------
Labels: VerifyIn-51
Components: Infra>Client>ChromeOS
Labels: -Infra-ChromeOS
Status: Verified (was: Fixed)
Bulk verified

Sign in to add a comment