build bot master config error

1.7k Views Asked by At

I installed buildbot and this is my master.cfg:

c = BuildmasterConfig = {}

from buildbot.buildslave import BuildSlave
c['slaves'] = [BuildSlave("windows", "windows32")]

c['slavePortnum'] = 9989

from buildbot.scheduler import Scheduler
c['schedulers'] = []
c['schedulers'].append(Scheduler(
        name="start_scheduler",
        branch=None,
        treeStableTimer=None,
        builderNames=["win32"]
))

from buildbot.process.factory import BuildFactory
from buildbot.steps.shell import ShellCommand
win32 = BuildFactory()
win32.addStep(ShellCommand(command=["touch", "dummfile"]))

from buildbot.config import BuilderConfig

c['builders'] = []
c['builders'].append(BuilderConfig(
        name="win32", # also default name for builddir
        slavenames=["windows"],
        factory=win32
))

When I start buildbot with "buildbot start ." i get this error message:

buildmaster@builder:~/master$ buildbot start .
Following twistd.log until startup finished..
[-] Log opened.
[-] twistd 10.1.0 (/usr/bin/python 2.6.6) starting up.
[-] reactor class: twisted.internet.selectreactor.SelectReactor.
[-] Creating BuildMaster -- buildbot.version: 0.8.3p1
[-] loading configuration from /home/buildmaster/master/master.cfg
[-] error while parsing config file
[-] error during loadConfig
[-] Unhandled Error
 Traceback (most recent call last):
   File "/usr/lib/python2.6/dist-packages/twisted/scripts/_twistd_unix.py",
   line 317, in startApplication
 app.startApplication(application, not self.config['no_save'])
   File "/usr/lib/python2.6/dist-packages/twisted/application/app.py",
   line 648, in startApplication
 service.IService(application).startService()
   File "/usr/lib/python2.6/dist-packages/twisted/application/service.py",
   line 278, in startService
 service.startService()
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 670, in startService
 self.loadTheConfigFile()
 --- <exception caught here> ---
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 703, in loadTheConfigFile
 d = self.loadConfig((F))
   File "/usr/local/lib/python2.6/dist-packages/buildbot/master.py",
   line 727, in loadConfig
 exec f in localDict
   File "/home/buildmaster/master/master.cfg", line 17, in <module>
 from buildbot.buildslave import BuildSlave
   File "/usr/local/lib/python2.6/dist-packages/buildbot/buildslave.py",
   line 27, in <module>
 from buildbot.status.mail import MailNotifier
   File "/usr/local/lib/python2.6/dist-packages/buildbot/status/mail.py",
   line 28, in <module>
 from twisted.mail.smtp import ESMTPSenderFactory
 exceptions.ImportError: No module named mail.smtp

[-] The new config file is unusable, so I'll ignore it.
[-] I will keep using the previous config file instead.

The buildmaster appears to have encountered an error in the master.cfg config
file during startup. It is probably running with an empty configuration right
now. Please inspect and fix master.cfg, then restart the buildmaster.

Can anyone please tell me where the error is? Thanks.

2

There are 2 best solutions below

1
On BEST ANSWER

Looks like you don't have twisted.mail installed.

1
On

You forgot to add the mail subclass from the status class to buildbot

from buildbot.status import mail

Add this and it should work; btw your config file is missing a lot of stuff; usually if you keep the default one that comes with buildbot and modify it you will have no problems; while if you start to cut off things without knowing what they do, is kinda dangerous.

Did you installed the buildbot doing the procedure on the buildbot site? Usually it comes with everything installed, but if you install on windows for example, you could not have either twisted or other basic components to run it, so it will not work correctly.

Hope that this helps!