Contents

Implementation Specification for Build Farm Builder Pools

Overview

Overall Summary

Summary: Make pools of builders reserved for usage by different groups of users. This is largely driven by the need to reserve a set of builders for doing daily builds.

Each pool of builders can be reserved exclusively for certain PPAs, or let any builds use them but with the priority given to certain PPAs.

New database tables:

will define the pools and the affinity between PPAs and the pools. The Builder table will gain a "pool" column which is a Reference to BuilderPool. It can be NULL if the builder is not in a pool.

Goal/Deliverables:

Assumptions

A list of assumptions should go here. This should include any assumptions about the users, the workflow, the implementation, the system this will reside on, the hardware requirements, access, etc.. Note that these are assumptions that everyone should believe are "business as usual". If you find yourself writing things which aren't, they are requirements and should be documented in the Implementation section below.

User Interface

This section should cover changes required to the UI, or specific UI features that are required to implement this. It should be a more technical description of what the LEP shows in its UI workflow section.

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. This could include subsections in addition to what is provided in this spec template.

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Schema Changes

What Database changes are you proposing? Do you need a new index created? Proposing a new table? If so, what does it look like?

CREATE TABLE BuilderPolicy (
    id serial PRIMARY KEY,
    title text NOT NULL,
    exclusive bool NOT NULL
);

CREATE TABLE ArchiveBuilderPolicy (
    id serial PRIMARY KEY,
    archive integer NOT NULL REFERENCES Archive,
    policy integer NOT NULL REFERENCES BuilderPolicy
);

ALTER TABLE Builder
    ADD COLUMN builder_policy integer REFERENCES BuilderPolicy;

Migration

Include:

Unresolved issues

In this section list out any issues which are unresolved and will impact or block the implementation of this spec.


CategoryProposal CategoryTemplate

Soyuz/Specs/BuildFarmBuilderPools (last edited 2010-03-16 13:23:15 by julian-edwards)