Hi everyone.

Thanks to everyone on this list, and Pierre's patches in particular, we now have our masters running 0.9.3, with a couple, um, enhancements. In particular, we're using Pierre's patches to enable reconfiguration in the schedulers. My users thank you.

We did see a few oddities upon restarting the masters, though. Quite a few of our builders reported 2 builds running for a builder at the same time. And one builder even had an intervening build between the two that were building.

And now the question.

Back last fall, I inquired as to why our custom build step was failing to produce a correct log (I haven't had a chance to follow up on this particular item since then). Here's code:

class MyCustomStep(ShellCommand):
     name = "errorlog"
     haltOnFailure = 1
     description = ["checking for errors"]
     descriptionDone = ["done checking for errors"]

     OFFprogressMetrics = ('output',)
     # things to track: number of files compiled, number of directories
     # traversed (assuming 'make' is being used)

     def createSummary(self, cmd):
         self.addCompleteLog('stdio_head',cmd.getText()[0:65536])

Pierre's response that synchronous logs don't really work any more is fine, and he offered this instead: first_100_lines = yield self.master.data.get(("logs", log['logid'], "contents"), resultSpec=resultspec.ResultSpec(offset=0, limit=100))

Unfortunately, I haven't been too successful at getting a log id from inside of createSummary(). Is there any easy way to do that? (if anyone knows off the top of their head, it'll save me some work).

My current fix was to change master.cfg have our mail stuff use stdio instead of stdio_head, and have the mail code to cut down the log to 64K there. This didn't quite have the intended effect.

I'd sort of thought that only the logs for the failed steps would be included. I was wrong. Any log in the build named stdio for any step would be included. On the bright side, they're all cut down to 64K or less. On the less-than-bright side, sometimes we get many logs attached (to the point where some emails were getting caught by an email list waiting for moderator approval, as they got too large for the lists' limit).

So it looks like I'm back to spelunking the code to find a log id. My other option (which is really a hack) is to know that stdio_head is only generated in steps named errorlog, and only process those.

Neil Gilmore
grammatech.com

_______________________________________________
users mailing list
users@buildbot.net
https://lists.buildbot.net/mailman/listinfo/users

Reply via email to