Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tb3 -- using tinderboxes efficiently

tb3 -- using tinderboxes efficiently

There is ongoing work in making our tinderboxes less archaic and more useful. This talk gives an overview of progress to far and a prospect on what is to come.
tb3 is a new implementation for tinderbox coordination. A blog entry[1] already explained the basic idea.

tb3 can:

coordinate multiple tinderboxes working on the same build scenario or branch
coordinate one tinderbox working on multiple build scenarios or multiple branches
make tinderboxes bisect without loosing sight of the head of a branch
especially help tests and builds that are painfully slow

It should also enable:

better bibisect repo generation
covers the scope of simple "does it build"-tinderboxing and unittesting up to "blackbox" integration and system testing (we need your tests now!)
in the long run, should be integrated with all our communication channels (IRC, mailing list, RSS feeds etc. -- each with messages appropriate for that medium)

[1] http://http//skyfromme.wordpress.com/2013/08/03/tb3-more-efficient-tinderboxing/

Bjoern Michaelsen

October 25, 2013
Tweet

More Decks by Bjoern Michaelsen

Other Decks in Technology

Transcript

  1. 2 tb3: using tinderboxes efficiently Agenda Status quo Scoring Trusting

    the client or not? Keeping owners in control Django Web UI Missing Bits
  2. 4 tb3: using tinderboxes efficiently Status Quo: no coordination bazillion

    mails “Are we there yet?”/”Is it fixed yet?” three linux tinderboxes might all test the same build … … while other commits remain completely untested.
  3. 5 tb3: using tinderboxes efficiently Stop right now! Stop right

    there I gotta know right now before we go any further … Let me sleep on it and I’ll give you an answer in the morning – Paradise by the Dashboard Light, Bat out of Hell, Meat Loaf We would love to bisect a breaker ASAP! esp. on very slow platforms But: We dont want to stop watching the head of the branch.
  4. 6 tb3: using tinderboxes efficiently Why scoring? Generic: a build

    scenario Adaptable: By weighting Comparable: describes relative urgency thereby allows assigning and distributing resources: to multiple platforms to multiple strategies: bisecting/building head/gerrit verification to multiple branches: release branch and master
  5. 11 tb3: using tinderboxes efficiently Coordination: never trust the client

    (mostly) (mostly) comparable results the strictness of this might differ by platform (mostly) reliable reporting (mostly) reliable turnaround times
  6. 12 tb3: using tinderboxes efficiently Keeping the choice with the

    tinderbox owner Scores are just proposals Picking up the scores is no obligation to build a proposal Thus: tinderbox owners can do fancy reweighting voodoo of scores tinderbox owners can track multiple scenarios and build what is most urgent tinderbox owners can report one result to multiple platforms
  7. 17 tb3: using tinderboxes efficiently Django: Missing bits RSS feeds

    IRC bots/twitter feeds log uploads Web UI de-uglification gitweb/cgit integration gerrit builder integration client side plumbing/production machine setup
  8. 18 tb3: using tinderboxes efficiently Conclusion tb3 allows to: Coordinate

    multiple builders working on the same scenario/branch Coordinate one tinderbox to work on multiple branches and scenarios as needed Make tinderboxes bisect without loosing track of the head of a branch Esp. helps with tests and builds that are painfully slow