On Mon, 24 Oct 2011 08:13:31 -0500, RS (Richard) wrote:
If we can get distributed building working though, I might be
willing
to upgrade my service a bit.
For a short-term solution, this would need a little bit of development of
the Plague build service.
The server (the "builder manager") can handle remote builders, which go
offline temporarily. It pings them regularly for a sign of life, but it
doesn't do any appropriate scheduling of build jobs to distribute the load
equally to all available builders. The builder with the most free build
slots is considered the most powerful and wins. The number of free build
slots is the only criterion. How many slots a builder offers is not
configurable, but hardcoded depending on number of CPUs. That would need
to change, too.
Experimenting with many more builders distributed to contributors'
machines would have made a lot of sense years ago. Though, it could be
that development in that area would have competed with koji. The Plague
builders as used by RPM Fusion (and as had been used by Fedora Extras) are
"passive", which means they must be reachable from the outside. The
"active" builders, which would query the server themselves and could hide
behind a tightened up firewall, have been a feature of the unreleased
Plague 0.5.0 development version only.
Also to consider: Would each builder work with its own repository config?
For example, using mostly default mock configs with mirrorlist pointing
at the repos? Or would the project create an own central mirror for all
needed repos and have builders use that one? If not, what technique is
used (and probably not implemented yet) to have builders wait for certain
required packages to become available in a repo (similar to koji wait-repo)?