User:Catlee/SchedulerDB: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 11: Line 11:
|-
|-
| Builds should happen after a checkin
| Builds should happen after a checkin
|
| {{done|}}
|
|
|-
|-
| Nightly en-US build should trigger repacks after build is done
| Nightly en-US build should trigger repacks after build is done
|
| {{done|}}
|
|
|-
|-
| Change to locale repo should trigger a single repack
| Change to locale repo should trigger a single repack
|
| {{done|}}
|
|
|-
|-
| Nightly builds should get fired
| Nightly builds should get fired
|
| {{done|}}
|
|
|-
|-
Line 31: Line 31:
|-
|-
| Queued changes / builds are restored after restarting buildbot master
| Queued changes / builds are restored after restarting buildbot master
| {{done|}}
|
|
|-
| Multiple masters can share the same database for the same builders
| {{done|}}
|
|
|-
|-
| Multiple masters can share the same database for the same builders
| Test that sendchanges between masters is working
| {{done|}}
|
|-
| Test that nomerge changes aren't getting merged (e.g. talos runs, unittest runs, l10n repacks)
| {{done|}}
|
|-
| Test that builds that get abandoned because of a failed master get re-run
| {{done|}}
|
|-
| Test that new buildbot code can work with old master
|
|
|
|
|-
|-
| Test that sendchanges between masters is working
| Test that builds,repacks produced are valid
|
|
|
|
|-
|-
| Test that nomerge changes aren't getting merged (e.g. talos runs, unittest runs, l10n repacks)
| Test mobile master code
|
|
|
|
Line 49: Line 65:
= Timeline =
= Timeline =


* Week of March 1st
== Build ==
** deploy new python, twisted toolchain on staging master, talos staging master
* March 1st-April 6th
** deploy new python, twisted toolchain on staging master
** deploy current buildbot tip on staging master and slaves, start testing current patches (see test cases to exercise above)
** deploy current buildbot tip on staging master and slaves, start testing current patches (see test cases to exercise above)


* Week of March 8th
* ??? Buildbot 0.8.0 release or choosing some stable revision prior to release
** deploy current buildbot tip on talos staging master and slaves, start testing current patches
** not all issues blocking 0.8.0 release affect us


* TBD Buildbot 0.8.0 release or backporting of db features to 0.7.12+
* April 5-7 Deploy buildbot 0.8.0 on staging build/unittest master
** would only backport to 0.7.12 if 0.8.0 takes too long to release


* TBD Python / twisted upgrade on slaves
* April 12 Deploy buildbot, python, twisted onto production build masters and slaves
** Not strictly necessary to do, but feels right thing to do.
** pm01, pm03 to start.  pm01 will be the 'scheduler' master, and possibly handle one builder pod as well.
** has the potential to break builds (if e.g. part of build doesn't work with python 2.6). If needed, we could isolate build tools from system tools.
** One low-traffic branch to start.  Places?
** Will need to steal slaves from other masters.  Could impact wait times.
** Slave upgrade isn't strictly necessary to do, but feels right thing to do.
*** has the potential to break builds (if e.g. part of build doesn't work with python 2.6). If needed, we could isolate build tools from system tools.


* TBD Deployment of buildbot onto production build masters and slaves
== Talos ==
** Python / twisted upgrade on production build masters (going to python 2.6.4, twisted 9.0.0 or 9.0.1). 
* TBD
** deploy new python, twisted toolchain on talos staging master
** deploy current buildbot tip on talos staging master and slaves, start testing current patches
** blocked on access to staging env?


* TBD Deployment of buildbot onto production talos masters and slaves
* TBD Deploy buildbot 0.8.0 on staging talos master
 
* TBD Deploy buildbot onto production talos masters and slaves
** Python / twisted upgrade on production talos masters (going to python 2.6.4, twisted 9.0.0 or 9.0.1).
** Python / twisted upgrade on production talos masters (going to python 2.6.4, twisted 9.0.0 or 9.0.1).


Line 74: Line 98:


* Talos can be handled later if required.  Its scheduling is pretty straightforward.  It's also a good piece to test in parallel with the build bits.
* Talos can be handled later if required.  Its scheduling is pretty straightforward.  It's also a good piece to test in parallel with the build bits.
* Release configs can be handled later as well.  We're going to be rolling out onto a few branches at first.  Until all the current masters are moved over, releases can be done on the old masters.

Latest revision as of 19:46, 8 April 2010

Road to great justice for schedulerdb!

Test cases

Description Manually tested? Automated test in place? Notes
Builds should happen after a checkin [DONE]
Nightly en-US build should trigger repacks after build is done [DONE]
Change to locale repo should trigger a single repack [DONE]
Nightly builds should get fired [DONE]
Release l10n repacks should get fired
Queued changes / builds are restored after restarting buildbot master [DONE]
Multiple masters can share the same database for the same builders [DONE]
Test that sendchanges between masters is working [DONE]
Test that nomerge changes aren't getting merged (e.g. talos runs, unittest runs, l10n repacks) [DONE]
Test that builds that get abandoned because of a failed master get re-run [DONE]
Test that new buildbot code can work with old master
Test that builds,repacks produced are valid
Test mobile master code

Timeline

Build

  • March 1st-April 6th
    • deploy new python, twisted toolchain on staging master
    • deploy current buildbot tip on staging master and slaves, start testing current patches (see test cases to exercise above)
  • ??? Buildbot 0.8.0 release or choosing some stable revision prior to release
    • not all issues blocking 0.8.0 release affect us
  • April 5-7 Deploy buildbot 0.8.0 on staging build/unittest master
  • April 12 Deploy buildbot, python, twisted onto production build masters and slaves
    • pm01, pm03 to start. pm01 will be the 'scheduler' master, and possibly handle one builder pod as well.
    • One low-traffic branch to start. Places?
    • Will need to steal slaves from other masters. Could impact wait times.
    • Slave upgrade isn't strictly necessary to do, but feels right thing to do.
      • has the potential to break builds (if e.g. part of build doesn't work with python 2.6). If needed, we could isolate build tools from system tools.

Talos

  • TBD
    • deploy new python, twisted toolchain on talos staging master
    • deploy current buildbot tip on talos staging master and slaves, start testing current patches
    • blocked on access to staging env?
  • TBD Deploy buildbot 0.8.0 on staging talos master
  • TBD Deploy buildbot onto production talos masters and slaves
    • Python / twisted upgrade on production talos masters (going to python 2.6.4, twisted 9.0.0 or 9.0.1).

Notes

  • The current try server code doesn't need to be touched, since all that code is going to be integrated into the main configs, which should "just work".
  • Talos can be handled later if required. Its scheduling is pretty straightforward. It's also a good piece to test in parallel with the build bits.
  • Release configs can be handled later as well. We're going to be rolling out onto a few branches at first. Until all the current masters are moved over, releases can be done on the old masters.