Buildd-manager fails horribly if the uploader.log is not found after a build upload

Bug #499115 reported by Julian Edwards
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Jelmer Vernooij

Bug Description

In the Medusa-like code that lives in lib/lp/buildmaster/buildergroup.py / buildStatus_OK() it attempts to deal with the Popen of process-upload failing.

However, if the process fails in a way where it has no chance to write uploader.log in the relevant directory, the code at the end of that method fails horribly as it blindly tries to open the log file, because it only checks to see if the directory it lives in exists.

This in turn causes a scan failure in the buildd-manager which completely blocks any more builds from being dispatched. It should fail gracefully instead and write something about not finding the upload log. In fact ideally this Popen crack should be removed entirely and a call to a script hook should be done instead, but that can wait.

Related branches

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

We can trivially fix this by changing the check:

if os.path.exists(upload_final_location):

to:

if os.path.exists(log_filepath):

Changed in soyuz:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Jelmer Vernooij (jelmer)
milestone: none → pending
tags: added: soyuz-build trivial
tags: added: buildd-manager
Jelmer Vernooij (jelmer)
Changed in soyuz:
milestone: pending → 10.02
Changed in soyuz:
milestone: 10.02 → 10.03
Jelmer Vernooij (jelmer)
Changed in soyuz:
status: Triaged → In Progress
Revision history for this message
Ursula Junque (ursinha) wrote : Bug fixed by a commit
Changed in soyuz:
status: In Progress → Fix Committed
tags: added: qa-needstesting
Jelmer Vernooij (jelmer)
tags: added: qa-ok
removed: qa-needstesting
Jelmer Vernooij (jelmer)
Changed in soyuz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.