Hi Adam,

On Mon Jan 14, 2013 at 19:41:48 -0500, Adam Moskowitz wrote:
> Is anyone using continuous build or continuous integration tools --
> stuff like Jenkins or Bamboo or CruiseControl [1] -- for sysadmin tasks?
> If so, can you say what kinds of tasks you're doing with these tools?

I'm one of a band of merry sysadmins who use BuildBot to provision 
servers.

Over time, we started provisioning so many of the darned things by hand 
that, one day, we decided to invest in (almost) completely robotising 
our provisioning process.  We have had Kickstart (and CFEngine, later 
Puppet) from Day One, but Kickstart couldn't power our machines on by 
itself.  Neither could it click through the monotonous forms on our 
asset management and billing systems, or help us satisfy our 
documentation requirements.  All up, dull auxiliary tasks were consuming 
hours of operator time a pop!

Fast forward.  Our entire provisioning process was automated end-to-end.  
New problem:  it only takes a single misbehaving mirror or a subtle 
problem in a change to a firewall configuration to trip up a robot [1].  
When performing or supervising this work by hand, people don't tend to 
dwell on little hiccups:  they get fixed and we move on.  For the first 
time, we understood the significant risk our volatile environment was 
placing on our automation goals.

The problem was largely solved by replicating a subset of our live 
infrastructure (DNS nameservers and resolvers; DHCP+TFTP servers; proxy 
servers; Puppetmasters; backup servers; availability, performance and 
intrusion monitoring systems; etc.) to a mostly isolated test 
environment.  BuildBot pushes make-believe server orders with varying 
desired specifications through this test environment 24 hours a day 
looking for failure points that we are not already monitoring.  
Minute-by-minute changes from our configuration management system get 
applied here, too, so we can proactively address changes that have 
introduced subtle unwanted side effects on the provisioning process.

Don't just chuck your code into the CI wringer; chuck in your whole 
distributed operating environment, too. :)

1: http://what-if.xkcd.com/5/
_______________________________________________
Discuss mailing list
[email protected]
https://lists.lopsa.org/cgi-bin/mailman/listinfo/discuss
This list provided by the League of Professional System Administrators
 http://lopsa.org/

Reply via email to