Not logged in - Log In / Register


Overall Summary

Summary: When processing completed uploads, the buildd manager puts the binary package in the upload queue. calls (using Popen) and then does post-upload processing that sets on the build: the buildlog, the builder used, its dependencies, date built and build duration. It also post-processes upload failures and sets the upload log.

The processing should take place entirely in the upload processor so that the buildd-manager can throw the binary package in the queue and forget about it, this reducing the latency when scanning the build farm.

Goal/Deliverables: The initial deliverable will allow the buildd-manager to not have to run process-upload itself.

Release Note


Use cases


User Interface

High-level implementation points

lib/lp/buildmaster/ has a method buildStatus_OK() that's called when the build finishes OK. It is responsible for calling Popen() on and then calls storeBuildInfo() to update the build record. It also deals with upload failures by inspecting what process-upload did. (!)

We can refactor storeBuildInfo() into the build class itself. Other types of failures in the buildd-manager still need to use it so it can't be completely ripped out and put in process-upload.

Finally, process-upload should deal with the binary upload failures itself so the buildd-manager doesn't have to inspect what p-u did.

Implementation Plan

Code Changes

Schema Changes





Unresolved issues

CategoryProposal CategoryTemplate

Soyuz/Specs/BuilddManagerUploadDecoupling (last edited 2009-10-22 17:02:20 by julian-edwards)