Ticket #301 (new enhancement)

Opened 4 months ago

Last modified 2 months ago

Allow a single buildslave to service multiple buildmasters

Reported by: dustin Assigned to:
Priority: major Milestone: 1.0.0
Component: other Version: 0.7.7
Keywords: Cc: dwlocks, Pike

Description

We run a few different buildmasters -- they're monitoring different repos, and in general are for different teams. But we use the same (large) set of build VMs for both. Currently we run two buildslave instances on each build VM, which is inefficient in a few ways: it's a lot of duplicated data in RAM, since Python bytecode isn't shared the way .so's are; and it means that builds for two different projects can be taking place simultaneously on the same VM.

It would be nice to have the option of pointing a single buildslave at multiple buildmasters, with some sort of locking to only allow it to run a single build at a time.

Change History

06/16/08 04:19:17 changed by bhearsum

Out of curiosity, is there a reason you cannot just combine the two masters?

06/16/08 06:59:15 changed by dustin

Besides being for different projects, they have completely different ChangeSources?, schedulers, etc.

That might be an easier modification to make, though -- let two buildmaster instances run in the same Python process..

(follow-up: ↓ 4 ) 06/17/08 03:21:32 changed by Pike

  • cc changed from dwlocks to dwlocks, Pike.

I'd love to see a way to partition a buildmaster, too. I'd still like to be able to punch little holes between the partitions, just having a sub-bunch of changesources go to a sub-bunch of schedulers would probably suffice for me.

Dustin, would you guys need to have independent master.cfg?

(in reply to: ↑ 3 ) 06/17/08 06:41:56 changed by dustin

Replying to Pike:

Dustin, would you guys need to have independent master.cfg?

Not necessarily -- Python's "import" mechanism could achieve whatever sort of separation we would need.

I'm thinking about how to do this. We'll see what I come up with.

08/20/08 06:33:52 changed by dustin

  • milestone changed from undecided to 1.0.0.