SVN agent for Mcollective

eth0 Most people that work with puppet use a VCS : subversion, git, CVS, mercurial… Pick yours. My company uses subversion and each cmmit to the repository needs to be pulled by the master. Since I have two masters, I also want them to be synchronized. Once again it’s mcollective that comes to the rescue. I wrote a very simple agent (a 5 minutes work, to be improved) that can update a specified path. Grab it here. Once it is deployed you can use a post commit hook that calls it.

Example of mine

[ Read more... ]

Facter Part 1: Facter 101

nan, 07/09/2010 | Source: Puppet Labs

With the release of facter 1.5.8, it is a great opportunity to revisit this utility and review how it works in conjunction with Puppet. This is a multi-part blog post that will progressively dive deeper into facter and writing custom facts for puppet. Facter is a standalone tool based on Ruby that provides system information in “key => value” pairs:

# facter
architecture => i386
...
ipaddress => 172.16.182.129
is_virtual => true
kernel => Linux
kernelmajversion =>
[ Read more... ]

5 Reasons to Attend Puppet Camp

jose, 01/09/2010 | Source: Puppet Labs



As I tore off the first month of my over-sized school-year calendar I was reminded of my first week at Puppet Labs. I woke up early, made breakfast, and caught a bus into downtown arriving 30 minutes early only to be reminded that I didn’t yet have a key to the office. I plopped down in front of the door to wait for someone else to arrive, and opened my notebook to review the topics for my first official meeting with my new boss. Scrawled in my notebook are limited, and partially illegible jottings I

[ Read more... ]

Puppet Tips&Tricks: Variable variables

Tim Stoop, 01/09/2010 | Source: Kumina bv

Sometimes you want to use variable variables, for instance when you want to iterate over all the ipaddress_* facts that facter found. Using something like ${ipaddress_$if} doesn’t work, though. Inline_template to the rescue! Volcane on IRC suggested the following solution, which works great:

$ifs = split($interfaces,",")

define do_this {
	$mule = "ipaddress_${name}"
	$donkey = inline_template("<%= scope.lookupvar(mule) %>")

	notify { "Found interface $donkey":; }
}

do_this { $ifs:; }

This

[ Read more... ]

- Whats going with Foreman development?

Ohad Levy, 22/08/2010 | Source: The Foreman: Blogs

For those of you who think that Foreman development has slowed down a bit, you are probably right....

But not to worry, I'll be up to speed in no time (ok.. Maybe a few more weeks :))

Keep on the bugs / feature requests coming, we'll cut out a new version soon.

Thanks,
Ohad

Using puppet’s logging facility

Dan, 13/08/2010 | Source: Bode's Blog

When I am writing code that works together with puppet, I often want to just use Puppet’s logging facility.

I can use puppet’s logging to log to syslog with the following code.

require puppet
Puppet.parse_config
Puppet::Util::Log.level = :info
Puppet::Util::Log.newdestination(:syslog)
Puppet.warning('dude!!!')
Puppet.warning('sweet!!)'

Puppet Camp 2010 – San Francisco now open

james.turnbull, 10/08/2010 | Source: Puppet Camp

Tickets for Puppet Camp in San Francisco are now available here!

Rapid Puppet runs with MCollective

R.I. Pienaar, 05/08/2010 | Source: R.I.Pienaar - www.devco.net

The typical Puppet use case is to run the daemon every 30 minutes or so and just let it manage your machines. Sometimes though you want to be able to run it on all your machines as quick as your puppet master can handle.

This is tricky as you generally do not have a way to cap the concurrency and it’s hard to orchestrate that. I’ve extended the MCollective Puppet Agent to do this for you so you can do a rapid run at roll out time and then go back to the more conservative slow pace once your

[ Read more... ]

GlassFish 3.0.1 on Debian Lenny, Puppet style

Tim Stoop, 05/08/2010 | Source: Kumina bv

Recently, I found a way to make the GlassFish supplied pkg(5) tool run using Debian’s python interpreter and associated libs. I also spent a while trying to package it in a sane way, but I’m afraid I lack the knowledge of Java and Debian package internals to do this properly (I’ve requested the package, though). But in the meantime we still need a nice way to setup GlassFish on a Debian Lenny machine. So I’ve turned to puppet, as usual.

You can find the module here:

[ Read more... ]

Case Studies: Clickability & MorphLabs

Hal Newton, 30/07/2010 | Source: Puppet Labs

We are always eager to share the experiences our customers have using Puppet to automate their infrastructure. We recently added two more case studies.

From the start, we saw Puppet as a key enabler of the

[ Read more... ]