Buildd master fails to pick up completion of build-farm job

Bug #545604 reported by Jeroen T. Vermeulen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Jeroen T. Vermeulen

Bug Description

We're sooo close to getting templates generation working from end to end...

We now get as far as the slave doing the job, and seemingly completing it; but the master never quite picks up on this. According to /var/tmp/development-buildd-manager.log the master finds no build_status entry in the slave status.

Related branches

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

From /var/tmp/development-buildd-manager.log:

 Scanning Builders.
 scanActiveBuilders() found 1 active build(s) to check
 Scanning failed with: 'build_status'
 Traceback (most recent call last):
   File "/home/jtv/canonical/lp-sourcedeps/eggs/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/internet/base.py", line 1170, in run
     self.mainLoop()
   File "/home/jtv/canonical/lp-sourcedeps/eggs/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/internet/base.py", line 1179, in mainLoop
     self.runUntilCurrent()
   File "/home/jtv/canonical/lp-sourcedeps/eggs/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/internet/base.py", line 778, in runUntilCurrent
     call.func(*call.args, **call.kw)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/manager.py", line 243, in startService
     d = defer.maybeDeferred(self.scan)
 --- <exception caught here> ---
   File "/home/jtv/canonical/lp-sourcedeps/eggs/Twisted-10.0.0-py2.5-linux-i686.egg/twisted/internet/defer.py", line 117, in maybeDeferred
     result = f(*args, **kw)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/canonical/librarian/db.py", line 38, in retry_transaction_decorator
     return func(*args, **kwargs)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/canonical/database/sqlbase.py", line 728, in reset_store_decorator
     return func(*args, **kwargs)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/canonical/librarian/db.py", line 74, in write_transaction_decorator
     ret = func(*args, **kwargs)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/manager.py", line 336, in scan
     builder_set.pollBuilders(self.logger, transaction)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/model/builder.py", line 649, in pollBuilders
     buildMaster.scanActiveBuilders()
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/master.py", line 189, in scanActiveBuilders
     job.builder.updateBuild(job)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/model/builder.py", line 371, in updateBuild
     self.current_build_behavior.updateBuild(queueItem)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/model/buildfarmjobbehavior.py", line 212, in updateBuild
     method(queueItem, slave_status, logtail, logger)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/translations/model/translationtemplatesbuildbehavior.py", line 97, in updateBuild_WAITING
     build_status = self.extractBuildStatus(slave_status)
   File "/home/jtv/canonical/lp-branches/test-buildfarm/lib/lp/buildmaster/model/buildfarmjobbehavior.py", line 258, in extractBuildStatus
     status_string = slave_status['build_status']
 exceptions.KeyError: 'build_status'

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

The problem is that TranslationTemplatesBuildBehavior.updateBuild_WAITING tries to extractBuildStatus, but in order for that to work, the behavior class first needs a slaveStatus method that returns it, similar to what BinaryPackageBuildBehavior.slaveStatus does.

Revision history for this message
Ursula Junque (ursinha) wrote : Bug fixed by a commit
Changed in rosetta:
status: In Progress → Fix Committed
tags: added: qa-needstesting
Changed in rosetta:
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.