Merge lp://staging/~julian-edwards/launchpad/cancel-build-bug-173018 into lp://staging/launchpad

Proposed by Julian Edwards
Status: Merged
Approved by: Julian Edwards
Approved revision: no longer in the source branch.
Merged at revision: 14220
Proposed branch: lp://staging/~julian-edwards/launchpad/cancel-build-bug-173018
Merge into: lp://staging/launchpad
Diff against target: 340 lines (+172/-10)
10 files modified
lib/lp/buildmaster/enums.py (+15/-1)
lib/lp/buildmaster/interfaces/buildfarmjob.py (+3/-0)
lib/lp/buildmaster/interfaces/buildqueue.py (+3/-0)
lib/lp/buildmaster/manager.py (+42/-7)
lib/lp/buildmaster/model/buildfarmjob.py (+10/-0)
lib/lp/buildmaster/model/buildqueue.py (+5/-0)
lib/lp/buildmaster/tests/test_buildfarmjob.py (+6/-0)
lib/lp/buildmaster/tests/test_buildqueue.py (+41/-0)
lib/lp/buildmaster/tests/test_manager.py (+43/-2)
lib/lp/soyuz/model/buildfarmbuildjob.py (+4/-0)
To merge this branch: bzr merge lp://staging/~julian-edwards/launchpad/cancel-build-bug-173018
Reviewer Review Type Date Requested Status
Jeroen T. Vermeulen (community) Approve
Review via email: mp+80038@code.staging.launchpad.net

Commit message

[r=jtv][bug=173018][incr] First branch in a pipeline of changes to add build cancellation.

Description of the change

First branch in a pipeline of changes to add build cancellation. This branch adds two new build states:

CANCELLING, CANCELLED

The first represents the state of a build where a user has requested a cancellation, the latter will be set once the build has finally been killed off. It needs to be two-stage because the builds are strictly managed in the buildd-manager but the webapp needs to initiate the build-death.

The branch also adds some code to change a builds's status to CANCELLED. This is intended to be called from the buildd-manager at some point.

To post a comment you must log in.
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Looks good, apart from one or two grammatical errors we discussed on IRC. (I really mean one or two; we can't agree on the exact number. :)

Consider extracting the creation of a BuildQueue (in test_binarypackagebuild_cancel) into a method. Most of the parameters are arbitrary values, and adding it to the store is the kind of detail that shouldn't be allowed to clutter up your test.

Yes, I know there's worse problems in the world.

review: Approve
Revision history for this message
Julian Edwards (julian-edwards) wrote :

Nice idea, thanks.

Revision history for this message
William Grant (wgrant) wrote :

Why do you _makeBuildQueue and makeJob manually? Is BPB.queueBuild() insufficient?

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.