[Buildbot-devel] BuildBot for Desired State Configuration

Pierre Tardy tardyp at gmail.com
Mon Feb 23 17:19:21 UTC 2015

Le Mon Feb 23 2015 at 10:02:29 AM, Samuli Seppänen <samuli at openvpn.net> a
écrit :

>   I have been searching for a simple way to execute commands against all
> of my BuildBot slaves to perform on demand maintenance to the boxes. Maybe
> I need to rotate and SSH key, run Windows Update, or install a program.
> Since I administer Windows and Linux buildslaves (mostly Windows), I can’t
> use a single technology to do this with, or if I could, it’s extremely
> frustrating to configure, especially on windows. I was thinking that I
> could setup a builder one each of the buildslaves that would run scripts to
> do maintenance/configuration on the machine, and to protect those builders
> I could only let them be forced after an authorized user logs in and they’d
> only be show in a special category, so they wouldn’t appear on the normal
> waterfall page everyone sees. I know there’s a lot of tools out there for
> configuring systems like Puppet or Powershell DSC, but I was wondering, has
> anyone has ever tried to do it with BuildBot as the delivery mechanism, and
> custom scripts for the actual configuration?
> Thanks,
> Jeremy Cornett
> Hi,
> You could probably maintain buildslave state using buildbot if you were
> really motivated. That said, it's definitely the right tool for the job.
> I'm almost certain you'd have to spend more time hacking your custom
> solution together than if you learned a proper cross-platform state-based
> configuration management platform such as Chef or Puppet. The Powershell
> DSC is out of the question if you want to maintain non-Windows systems,
> plus it's in quite immature afaik.

I have the same experience. We had a complex init script that tried to be
smart at installing slave dependancies, all went so much simple when we
switched to a simple Ansible script.

There are 2 options:
Embrace Puppet, Chef, or Ansible (choose your poison^W medicine), and
manage your machines properly.
Have a SetupSlave step in front of all your builders that runs on every
build, and runs an Ansible Cookbook.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20150223/6585dbb7/attachment.html>

More information about the devel mailing list