Build Farm Builder Pools

Make pools of builders reserved for usage by different groups of users.

As a user of daily builds
I want to make sure the builds are done without undue delay
so that so that the latest builds are available promptly

As an Ubuntu developer
I want to make sure that daily builds don't swamp the build farm
so that regular Ubuntu package builds are not delayed

Rationale

Why are we doing this now?

  1. The daily builds project will be coming on line soon and extra hardware will be purchased for its use. We want to make sure that hardware really does get used for daily builds.
  2. The OEM team wants a pool of armel builds for its own use

What value does this give our users? Which users?

Stakeholders

Who really cares about this feature? When did you last talk to them?

Constraints

This feature does not provide:

Workflows

Review existing pools

If a buildd-admin wants to see a list of all the existing pools, they visit /builders/+pools and get a sortable table showing the pools along with the PPAs that are using them. The admin can then click on a pool name to edit it.

builder-pool-list-mockup.png

Note: "exclusive" means that only the archives associated with those pools may use them. If a pool is not exclusive, it means that any other archive can build on it, but at a lower priority such that associated archives will always jump the queue with new builds.

Create a new pool

From the list of pools page, a buildd-admin can create a new pool by visiting /builders/+pools/+new.

builder-pool-register-builder-mockup.png

Once the pool is created, the page redirects to /builders/+pools/<name>.

Edit an existing pool

A buildd-admin can visit this page to edit or view an existing pool. Editing an existing pool will happen if new builder hardware is bought and needs to be added to a pool. This page can be used to add or remove builders from a pool.

builder-pool-edit-mockup.png

The builder:+edit page will also be changed allow a buildd-admin to change its pool via the standard form.

Set pool for archive

An OEM engineer or Buildd-admin visits the Archive:+edit page and sees an enabled widget that allows multi-selection of available (i.e. permissioned) pools.

ppa-admin-builder-pool-mockup.png

Review builders

A buildd-admin visits /builders and clicks on the "pool" column to sort the builders by the pools that they're in. build-farm-mockup.png

Success

We will know we are done when daily builds will only build on their designated builders and don't cause disruption to the other build types on the build farm.

We can measure our success by checking that:

Thoughts?

jml doesn't know what these two mean any more:

Implementation notes

LEP/BuildFarmBuilderPools (last edited 2010-04-28 14:51:21 by julian-edwards)