photo of Cosimo Streppone

Random hacking

Assume nothing. Code defensively. Keep it simple, stupid!

Puppet, Fabric and a Perl alternative?

, , , , ,

Some time later this month I'm going to write more extensively about a project that I've been working on, not continuously, but for the last couple of months. It is about small and medium scale projects configuration management and deployment.

For configuration management I evaluated several products like bcfg2, puppet, cfengine and lcfg, and I finally chose puppet.

For "the last mile", as I call it, the alternatives that I considered were fabric, capistrano, ControlTier and TheNewShinyWheel(tm)

So I settled on puppet + fabric. Puppet is a Ruby system, while Fabric is Python code. None of them is particularly fast, actually Puppet is slow, and Fabric is acceptable. The main problem I'm confronting with, after having learnt how to use these tools, is that Fabric does not support parallel processing of tasks.

This is a severe limitation for us. This was a pilot project. If it works well, it could be applied to many other deployment tasks. That could also mean that a single deployment has to send code or files to tens of servers, and you don't want to do that sequentially waiting for each task to complete.

At the moment, this is impossible to do with Fabric. There is an experimental fork in the works that might support parallel execution, by adding a @parallel task decorator, but it still requires work and a good dose of testing.

During my survey I looked for mature Perl-based deployment tools, but I failed at finding them. While Fabric is nice, I might be tempted to reconsider my choice. Any suggestions?

Undefined symbol: modperl_xs_sv2request_rec at /usr/lib/perl/5.10/DynaLoader.pm line 193Wiimote Perl hacks

Comments

Anonymous Sunday, May 16, 2010 1:46:27 PM

cnhackTNT writes: You should try SSH::Batch :-)

Anonymous Monday, May 17, 2010 6:40:07 AM

Anonymous writes: Goolge uses slack( http://code.google.com/p/slack/ ) Google gets Slack with software updates http://bit.ly/d8kLOD

Cosimo Strepponecstrep Tuesday, May 18, 2010 7:42:40 AM

Thanks for the suggestions, I'm taking a look now.

Anonymous Tuesday, May 18, 2010 3:43:14 PM

draegtun writes: This stackoverflow question/answer may help a little bit? http://stackoverflow.com/questions/1832101/is-there-a-perl-or-lua-alternative-to-capistrano/1832739#1832739 /I3az/ PS. App::PPBuild as disappeared off CPAN now! But it should still be on BackPAN

Anonymous Tuesday, May 18, 2010 3:48:03 PM

Anonymous writes: A simple approach to this problem is slaughter: http://www.steve.org.uk/Software/slaughter/

Cosimo Strepponecstrep Tuesday, May 18, 2010 3:51:36 PM

And Net::SSH2 too maybe. Thanks,

Anonymous Sunday, July 17, 2011 1:09:02 PM

Анонімний writes: I guess that to receive the personal loans from banks you ought to have a great reason. Nevertheless, one time I've got a commercial loan, just because I was willing to buy a house.

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies