[users at bb.net] 0.8.12: master.getBuilderNames( tags=xxx ) throws an exception

Stephen Davis buildbot at soundgeek.org
Mon Mar 14 00:56:11 UTC 2016

I'm trying to do something similar to the Console page (grouping by tags) in an HtmlResource subclass and my code is throwing an exception inside master.py:

I create a list representing a tag and then call status.getBuilderNames( tags=[tag] ) on a <buildbot.status.builder.BuilderStatus instance at 0x10954f2d8>.  It throws the exception you see below.  I just upgraded my master from 0.8.8 to 0.8.12 so is there something in the Builder objects that could cause this problem?  The only upgrade warning I've got left is:

2016-03-13 15:19:32-0700 [-] /Users/buildbot/master/master.cfg:261: exceptions.DeprecationWarning: buildbot.steps.source.SVN was deprecated in Buildbot 0.8.9: The slave-side SVN step is deprecated and will be removed in a future version.  Please switch to the corresponding master-side step.

web.Server Traceback (most recent call last):
exceptions.AttributeError: Builder instance has no attribute 'matchesAnyTag'
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py:134 in maybeDeferred
133    try:
134        result = f(*args, **kw)
135    except:
/Library/Python/2.7/site-packages/buildbot-0.8.12-py2.7.egg/buildbot/status/web/base.py:391 in <lambda>
390            if allowed or path_always_viewable(request):
391                return defer.maybeDeferred(lambda: self.content(request, ctx))
392            else:
MonitorStatusResource.py:59 in content
58 for category in categories:
59 names = status.getBuilderNames( tags=[category] )
60 builders[category] = []
/Library/Python/2.7/site-packages/buildbot-0.8.12-py2.7.egg/buildbot/status/master.py:244 in getBuilderNames
243            bldr = self.botmaster.builders[name]
244            if bldr.matchesAnyTag(tags):
245                l.append(name)
exceptions.AttributeError: Builder instance has no attribute 'matchesAnyTag'


    def getBuilderNames(self, tags=None, categories=None):
        if categories is not None:
            # Categories is deprecated; pretend they said "tags".
            tags = categories

        if tags is None:
            return util.naturalSort(self.botmaster.builderNames)  # don't let them break it

        l = []
        # respect addition order
        for name in self.botmaster.builderNames:
            bldr = self.botmaster.builders[name]
            if bldr.matchesAnyTag(tags):	<-- HERE
        return util.naturalSort(l)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildbot.net/pipermail/users/attachments/20160313/d489f054/attachment.html>

More information about the users mailing list