Closed Bug 696161 Opened 13 years ago Closed 13 years ago

create simplified talos buildbot for a-team usage

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

Details

Attachments

(2 files, 2 obsolete files)

A few of us got together to talk about improving the process by which Talos improvements happen. One of the things that came out of that is that it would be helpful to the ateam if they had a simpler Buildbot that could run arbitrary talos tests. I did some hacking on this, and I think I have something that works. It requires a little bit of modification to existing code, and a subclassed TalosFactory. Further explanation to be provided with the patches.
Attached patch create RuntimeTalos factory (obsolete) — Splinter Review
I originally tried to make this idea work by just modifying TalosFactory. The thing that makes that hard is that we need to allow for a variable amount of pagesets, plugins, and talos addons -- at runtime. AFAICT this is fundamentally incompatible with our existing usage making those decisions at config-time. The doStepIf I'm using to make that decision (doStepIf step: self._propertyIsSet(step, 'plugin')), will cause our existing talos factories not to install any plugins.

With that said, here's an overview of the changes:
- Split up plugin/pageset/addon downloads, to avoid overriding all of addSetupSteps()
- Wrap anything that uses supportUrlBase in a WithProperties
- Make add-on downloading (that is, *Firefox* add-on downloading), conditional on the addonUrl property being set.
- Create RuntimeTalosFactory that sets up all of: plugins, pageset, talosAddOns, and supportUrlBase to be settable with properties
- Support WithProperties in URLs in DownloadFile
- Allow extra parameters to be passed to PerfConfigurator through the 'configurationOptions' property.
Attachment #568478 - Flags: feedback?(rail)
Attachment #568478 - Flags: feedback?(catlee)
Attached patch simple talos buildbot config (obsolete) — Splinter Review
This is an extremely simple consumer of RuntimeTalosFactory. It's got one builder per platform, which is capable of running any type of Talos job given the correct properties. I plan to document it better, but wanted some feedback first. Here's some sample sendchanges:
firefox addon test: buildbot sendchange -m localhost:9118 -u bhearsum -p 'configurationOptions:--activeTests,ts,--noShutdown,--sampleConfig,addon.config' -p 'supportUrlBase:http://build.mozilla.org/talos' --branch=win7 -p 'addonUrl:/pub/mozilla.org/addons/722/noscript-2.1.5-fn+sm+fx.xpi' -p'extraTalosArgs:--amo' http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/firefox-10.0a1.en-US.win32.zip

tp: buildbot sendchange -m localhost:9118 -u bhearsum -p 'configurationOptions:--activeTests,tp5,--mozAfterPaint' -p 'supportUrlBase:http://build.mozilla.org/talos' --branch=snowleopard --revision=ec7577dec4fc --property buildid:20111017080143 --property pgo_build:False --property builduid:6594214c3546463c8a56f853a9d32415 -p 'pageset1:zips/tp5.zip' http://stage.mozilla.org/pub/mozilla.org/firefox/releases/7.0.1/mac/en-US/Firefox%207.0.1.dmg

There's a couple minor caveats here:
- releaseTester has to be uncommented to test EXEs, which is only done as part of firefox addon testing. Because TalosFactory will only unpack an exe OR a different file, we can't keep this on all the time. I tried integrating the exe unpacking logic into DownloadFile, and failed.
- We need to pull in this Buildbot patch to make passing URLs as sendchange properties works: https://github.com/buildbot/buildbot/commit/7d0ff3269bc8332159cda19eebf18e6da5fbce62
Attachment #568479 - Flags: feedback?(rail)
Attachment #568479 - Flags: feedback?(catlee)
cc-ing Aki, as I know he was working with ctalbert, jmaher on this same problem also, but I dont know state of that work, or what bug# is tracking aki's work.
(In reply to John O'Duinn [:joduinn] from comment #3)
> cc-ing Aki, as I know he was working with ctalbert, jmaher on this same
> problem also, but I dont know state of that work, or what bug# is tracking
> aki's work.

Yeah, this isn't meant to replace or undermine Aki's work -- merely a quick and dirty thing for the meantime.
Attachment #568478 - Flags: feedback?(catlee) → feedback+
Attachment #568479 - Flags: feedback?(catlee) → feedback+
Attachment #568478 - Flags: feedback?(rail) → feedback+
Comment on attachment 568479 [details] [diff] [review]
simple talos buildbot config

Looks good as well.
Attachment #568479 - Flags: feedback?(rail) → feedback+
Sorry, I should've posted these updates sooner. This is a tiny change to the buildbotcustom patch, renaming 'addonN' to 'talosAddonN', for clarity.
Attachment #568478 - Attachment is obsolete: true
Attachment #568479 - Attachment is obsolete: true
Attachment #571058 - Flags: review?(rail)
This patch addons documentation to the simple talos master.
Attachment #571060 - Flags: review?(rail)
Attachment #571058 - Flags: review?(rail) → review+
Attachment #571060 - Flags: review?(rail) → review+
Attachment #571058 - Flags: checked-in+
Attachment #571060 - Flags: checked-in+
This made it to production today.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
(In reply to Ben Hearsum [:bhearsum] from comment #8)
> This made it to production today.

Awesome, thanks Ben!!

Joel, should we open a bug to track landing this in our staging environment?  How do you want to handle that?
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: