Merge lp:~julian-edwards/launchpad/build-sched-bug-478691 into lp:launchpad
Proposed by
Julian Edwards
Status: | Merged |
---|---|
Approved by: | Brad Crittenden |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~julian-edwards/launchpad/build-sched-bug-478691 |
Merge into: | lp:launchpad |
Diff against target: |
246 lines (+153/-50) 2 files modified
lib/lp/soyuz/model/builder.py (+33/-16) lib/lp/soyuz/tests/test_builder.py (+120/-34) |
To merge this branch: | bzr merge lp:~julian-edwards/launchpad/build-sched-bug-478691 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Francis J. Lacoste (community) | release-critical | Approve | |
Brad Crittenden (community) | code | Approve | |
Review via email:
|
To post a comment you must log in.
= Summary =
Fix findBuildCandidate so that instead of only allowing one builder per arch
for each PPA, it allows up to 80% of the available builders for that arch.
== Proposed fix == /bugs.edge. launchpad. net/soyuz/ +bug/478691
As per https:/
To alleviate the problem of daily build PPAs from monopolising the build darm,
a change was made last cycle to allow PPAs' builds to only occupy at most one
builder of each architecture type. Unfortunately, this has proven to not only
prevent the daily builds from completing within 24 hours, it also leaves the
build farm under-utilised.
== Pre-implementation notes ==
I've spoken to some of the daily PPA owners (see the bug comments) and we've
decided to change the calculation slightly so that instead of only being able
to occupy one builder of each architecture at a time, it now only dispatches
the build if it would take the usage to 80% or more of available builders of
that arch.
== Implementation details ==
This was just a change to the big SQL query done in findBuildCandidate. I
also made the tests a little more generic in case we need to tweak this again
(we *will* need to tweak it again!).
== Tests ==
bin/test -cvv test_builder
== Demo and Q/A ==
Can't really Q/A this as we don't have multiple builders available in dogfood.
:(
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: soyuz/model/ builder. py soyuz/tests/ test_builder. py
lib/lp/
lib/lp/