Remote package building?

Asked by Kendall on 2010-11-09

I know I've brought this up at least one time before, but I do believe it would be a fantastic idea to allow for remote package building above and beyond the builders that presently exist for Launchpad. A lot of people have spare machines and I'm certain that a good many of them would be happy to lend them to the cause of promoting Launchpad and Ubuntu. Essentially it runs deeper than just having more builders on hand, allow me to explain...

A good many projects use Launchpad as a primary source of distributing their code and therefore sometimes mission critical updates. Wait times in the build farm have sometimes reached the point of waiting days for packages to be built. Some of these packages might contain serious updates regarding functionality and/or security. In the "instant gratification" world that many of us live in, catching a bug could potentially mean the difference between the success or failure of any given project. If Launchpad were to enable community donated machines to take a load off of the build farm then updates could be pushed faster and more efficiently. It's not a perfect scenario and the occasional machine would go down, but using a system that could compensate for this and redirect as necessary (as I hope the build farm itself is using) then Launchpad could open itself up to a new level of both effectiveness and community interaction.

Personally, I have seen this be an occasional issue here at Launchpad. I'm the lead developer for the Peppermint OS project, which uses a Launchpad PPA as a primary repository for custom and patched packages specifically for the project. It's been awfully tempting to set up an independent server using reprepro, but the effectiveness of the package building here is unbelievably good (compiling from source based on what's available is incredible versus simply building a package, uploading it and publishing it).

All I'm really saying is that it would be 167 sorts of awesome if you guys had more builders to spread the load. What I'm suggesting is that maybe the community could put forth the processing power to make this a reality and make the whole operation a better and smoother running endeavor.

Kendall Weaver

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
Julian Edwards
Solved:
2010-11-10
Last query:
2010-11-10
Last reply:
2010-11-09

Hi, thanks for your detailed question.

We don't currently have any plans to do this for various reasons (I'll prod one of the admins to explain why). However, I share your pain about the wait times but adding more builders is not currently the answer as there are big gains to be made elsewhere.

We are working very hard to make the build farm more scalable and efficient, and several large improvements have been rolled out or are being rolled out right now. We are keeping detailed stats on the queue sizes and wait times and since the start of our improvements we've noticed a consistently low wait time. The only exception to that is when we've got other operational problems but these are mainly teething problems to do with rolling out the new code.

Please let me know if you get wait times in the order of days again - that should not ever happen, and I typically see an hour at the most for the majority of builds. One more thing you can do is to change your source package urgency when you upload and it will give you a higher build priority. I ask that you don't abuse this though please.

The long term goal may be to add community builders but this will require a lot of work in Launchpad itself to support them.

Hope that helps,
Julian Edwards
Soyuz Team Lead.

LaMont Jones (lamont) said : #2

The security model surrounding the buildds and the interface to them is such that we cannot allow machines beyond the data center to be build daemons. The shortest version of the explanation is simply this: when a person uploads source to their ppa, they have an expectation that the binaries produced are, in fact, the result of a build of their source. Building on arbitrary machines outside the data center makes that expectation significantly less valid.

Kendall (kendalltweaver) said : #3

Thanks a lot for the detailed response. I'm very glad you guys are working to constantly improve the system.