<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Puppet Labs</title>
	<atom:link href="http://puppetlabs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://puppetlabs.com</link>
	<description>Puppet Labs: IT Automation Software for System Administrators</description>
	<lastBuildDate>Wed, 16 May 2012 22:05:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>London Extending Puppet using Ruby Training</title>
		<link>http://puppetlabs.com/events/london-extending-puppet-using-ruby-training/</link>
		<comments>http://puppetlabs.com/events/london-extending-puppet-using-ruby-training/#comments</comments>
		<pubDate>Tue, 15 May 2012 18:14:55 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=14207</guid>
		<description><![CDATA[Extending Puppet using Ruby Curriculum (3 Days) This class covers advanced skills for professionals who want to extend the capabilities of the Puppet IT automation solution using Ruby development. (Replaces the former Puppet Developer course.) Prerequisites: To complete the course successfully, attendees need to have at least the equivalent Puppet knowledge of the Puppet 100 [...]]]></description>
			<content:encoded><![CDATA[<h2>Extending Puppet using Ruby Curriculum (3 Days)</h2>
<p>This class covers advanced skills for professionals who want to extend the capabilities of the Puppet IT automation solution using Ruby development.  (Replaces the former Puppet Developer course.) </p>
<p><a href="http://extending-puppet-training-london-sept-2012.eventbrite.com/?ref=ebtnebregn" target="_blank"><img src="http://www.eventbrite.com/custombutton?eid=3091337273" alt="Eventbrite - Extending Puppet using Ruby: London" /></a></p>
<h3>Prerequisites:</h3>
<p>To complete the course successfully, attendees need to have at least the equivalent Puppet knowledge of the Puppet 100 &#8211; Puppet Fundamentals course (completion of Puppet Fundamentals before attending this course is highly recommended). </p>
<h3>Topics covered include:</h3>
<ul>
<li class="bullet">Understanding Fundamental Aspects of Extending the Puppet Framework</li>
<li class="bullet">Custom Resource Type and Provider development</li>
<li class="bullet">Advanced Custom Facts, Functions, Reports</li>
<li class="bullet">Unit Spec Tests for Ruby &#038; Puppet</li>
<li class="bullet">Principles and best practices of extending Puppet</li>
<li class="bullet">Students who wish to extend their Puppet solution, but are not yet familiar with the Ruby programming language, can register to attend a free 1-day primer (first day of class) covering the elements of Ruby for Puppet: Introduction &#038; Advanced Programming Topics.</li>
</ul>
<p>The topics are covered over 3 days + day 1 optional for Ruby primer.  Sessions will mix theory and practice, balancing 30% lecture with 70% hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>$2,995 USD by Aug 25, 2012;  $3,195.00 USD on or after Aug 26, 2012.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/london-extending-puppet-using-ruby-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing lint from the Puppet’s belly button of fluffy automation chaos, or: Using puppet-lint to save yourself from style faux pas</title>
		<link>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/</link>
		<comments>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/#comments</comments>
		<pubDate>Mon, 14 May 2012 20:42:22 +0000</pubDate>
		<dc:creator>Ben Hughes</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Extending Puppet]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[automated testing]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[Puppet Enterprise]]></category>
		<category><![CDATA[puppet-lint]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=14174</guid>
		<description><![CDATA[Wouldn&#8217;t it be nice if you never made a mistake or a typo again? Okay, that&#8217;s a slightly misleading offer. How about just never committing such gaffes in with your code? &#8220;How?&#8221; I hear you cry. With the illustrious Tim Sharpe&#8217;s puppet-lint and some version control derring-do! Following on from Adrien&#8217;s wonderful post on syntax [...]]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t it be nice if you never made a mistake or a typo again? Okay, that&#8217;s a slightly misleading offer. How about just never committing such gaffes in with your code? &#8220;How?&#8221; I hear you cry. With the illustrious Tim Sharpe&#8217;s <a href="https://github.com/rodjek/puppet-lint">puppet-lint</a> and some version control derring-do!</p>
<p>Following on from Adrien&#8217;s wonderful post on <a href="http://puppetlabs.com/blog/verifying-puppet-checking-syntax-and-writing-automated-tests/">syntax checking and writing tests</a>, you have a way of checking the syntax and style guide from the command line. Using this approach, even on a mature (like a fine wine) Puppet code base, you can move towards having beautiful, aligned, ordered manifests—the type of manifests you&#8217;d be happy taking home to meet the family.</p>
<p>Puppet-lint takes the Puppet Labs Style Guide and places it nicely in a command line tool. Think of it as a <a href="http://www.python.org/dev/peps/pep-0008/">programmatic PEP-8</a> for those from a Pythonic world. Now, where this comes in handy is when you&#8217;re using revision control (which is all the time, obviously!), because you can tie the two together. Yes, every time you try and commit your code to your RCS, it checks the files you&#8217;re committing, and makes sure you haven&#8217;t used a tab where there should be a space.</p>
<p>In Puppet Labs&#8217; kickass Operations department, we&#8217;re ever so slightly keen on <a href="http://git-scm.com/">Git</a>, not least due to the wonderful GitHub. RCSHub just doesn&#8217;t cut it for us these days.</p>
<p>With Git, as with many an RCS, you&#8217;re free to define hooks to do weird and wondrous things upon certain actions. This chapter on <a href="http://git-scm.com/book/en/Customizing-Git-Git-Hooks">git hooks</a> from <em>Customizing Git</em>  explains them in detail. If you’re using Subversion, then this <a href="http://svnbook.red-bean.com/en/1.7/svn.ref.reposhooks.pre-commit.html">pre-commit documentation</a> suggests what you can do on the server side to accomplish the same thing.</p>
<p>For this, the pre-commit hook is the one we want to utilise. I first make a bash script to get a list of the files that change in the commit. Then, the hook script goes through them one at a time, seeing if they&#8217;re Puppet manifests by name, and running puppet-lint on them as it goes. If any of the manifests fail linting, it exits there and then I may go fix them at my leisure!</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Requires bash, as it uses the [[ ]] syntax.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># If it's puppet code, lint it up.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># I we don't have puppet-lint, so just exit and leave them be.</span>
<span style="color: #c20cb9; font-weight: bold;">which</span> puppet-lint <span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Variables goes hither</span>
<span style="color: #7a0874; font-weight: bold;">declare</span> <span style="color: #660033;">-a</span> FILES
<span style="color: #007800;">IFS</span>=<span style="color: #ff0000;">&quot;
&quot;</span>
<span style="color: #007800;">FILES</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #660033;">--cached</span> <span style="color: #660033;">--name-only</span> <span style="color: #660033;">--diff-filter</span>=ACM <span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #800000;">${FILES[@]}</span>
<span style="color: #000000; font-weight: bold;">do</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$file</span> =~ \.<span style="color: #000000; font-weight: bold;">*</span>.pp\$ <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
  <span style="color: #000000; font-weight: bold;">then</span>
    puppet-lint <span style="color: #660033;">--with-filename</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$file</span>&quot;</span>
    <span style="color: #007800;">RC</span>=<span style="color: #007800;">$?</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$RC</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
      <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #007800;">$RC</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
  <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<p>I save that file to .git/hooks/pre-commit in my repository, give it a light sprinkling of &#8216;chmod +x&#8217;, a dash of &#8216;gem install puppet-lint&#8217; and I am ready to roll.</p>
<h2>Exhibit A, the Larch</h2>
<p>So let&#8217;s see this bad-boy in use, I hear you cry! Let&#8217;s take a manifest that breaks all of the rules, and see what happens&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">node <span style="color:#996600;">'hubert.humphrey.edu'</span> <span style="color:#006600; font-weight:bold;">&#123;</span>
&nbsp;
	user<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#996600;">&quot;mhunter&quot;</span>:
	   managehome <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>,
	   home <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;/home/mhunter&quot;</span>,
	   comment <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'Mark Hunter'</span>,
	   <span style="color:#9966CC; font-weight:bold;">ensure</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'present'</span>
   <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;"><span class="br0">&#91;</span>enlil:puppetlabs-modules<span class="br0">&#93;</span>% git commit hubert.pp
hubert.pp - WARNING: double quoted string containing no variables on line <span style="">3</span>
hubert.pp - WARNING: double quoted string containing no variables on line <span style="">5</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">5</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">6</span>
hubert.pp - WARNING: =&gt; on line isn't properly aligned for resource on line <span style="">7</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">4</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">5</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">6</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">7</span>
hubert.pp - ERROR: two-space soft tabs not used on line <span style="">8</span>
hubert.pp - ERROR: trailing whitespace found on line <span style="">2</span>
hubert.pp - WARNING: ensure found on line but it's not the first attribute on line <span style="">7</span></pre></div></div>

<p>Woah, that&#8217;s a lot of errors. By default, puppet-lint will let warnings through, but stop dead on errors, and we got them all! I&#8217;ll tidy this manifest up&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">node <span style="color:#996600;">'hubert.humphrey.edu'</span> <span style="color:#006600; font-weight:bold;">&#123;</span>
&nbsp;
  user<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#996600;">'mhunter'</span>:
    <span style="color:#9966CC; font-weight:bold;">ensure</span>     <span style="color:#006600; font-weight:bold;">=&gt;</span> present,
    managehome <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>,
    home       <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'/home/mhunter'</span>,
    comment    <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'Mark Hunter'</span>,
  <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>

<p>Much more readable, and now when I try and commit it, I get:</p>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;"><span class="br0">&#91;</span>enlil:puppetlabs-modules<span class="br0">&#93;</span>% git commit hubert.pp
<span class="br0">&#91;</span>master <span style="">6020331</span><span class="br0">&#93;</span> Add in a new pupil to the school!
 <span style="">1</span> file changed, <span style="">10</span> insertions<span class="br0">&#40;</span>+<span class="br0">&#41;</span>
 create mode <span style="">100644</span> hubert.pp</pre></div></div>

<p>Clean, and the best part is I don&#8217;t have to alter my workflow, I can just carry on editing with Vim, commit my work as normal, and just be kindly reminded when a manifest has things that need tidying up.</p>
<p><em>Learn More</em></p>
<ul>
<li><a href="http://docs.puppetlabs.com/guides/style_guide.html">Puppet Labs style guide</a></li>
<li><a href="https://github.com/rodjek/puppet-lint">puppet-lint</a></li>
<li><a href="http://puppetlabs.com/blog/verifying-puppet-checking-syntax-and-writing-automated-tests/">Verifying Puppet: Checking Syntax and Writing Automated Tests</a></li>
<li><a href="http://geek.jasonhancock.com/2012/04/18/puppet-svn-pre-commit-hook/">Puppet-lint SubVersion commit hook by Jason Hancock</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/using-puppet-lint-to-save-yourself-from-style-faux-pas/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>London Puppet Fundamentals Training</title>
		<link>http://puppetlabs.com/events/london-puppet-fundamentals-training/</link>
		<comments>http://puppetlabs.com/events/london-puppet-fundamentals-training/#comments</comments>
		<pubDate>Fri, 11 May 2012 20:32:38 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/events/london-puppet-fundamentals-training/</guid>
		<description><![CDATA[Puppet Fundamentals Curriculum (3 Days) This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software. (Replaces the former Puppet Master course.) Prerequisites: This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator. [...]]]></description>
			<content:encoded><![CDATA[<h2>Puppet Fundamentals Curriculum (3 Days)</h2>
<p>This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software.  (Replaces the former Puppet Master course.)</p>
<p><a href="http://puppet-fundamentals-training-london-sept-2012.eventbrite.com/?ref=ebtnebregn" target="_blank"><img src="http://www.eventbrite.com/custombutton?eid=3091337273" alt="Eventbrite - Puppet Master Training: London" /></a></p>
<h3>Prerequisites:</h3>
<p>This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator.</p>
<h3>Topics covered include:</h3>
<ul>
<li class="bullet">Developing modules/classes on a system that represent target systems</li>
<li class="bullet">Using Puppet Apply to test and iterate modules</li>
<li class="bullet">Placing modules on the Puppet Master</li>
<li class="bullet">Declaring appropriate classes in node definitions</li>
<li class="bullet">Triggering a Puppet run using the Live Management GUI</li>
<li class="bullet">Collecting and analyzing results in the Enterprise Console</li>
<li class="bullet">Puppet Language Patterns and Best Practices</li>
</ul>
<p>The topics are covered over 3 days. Sessions will mix theory and practice, balancing 50% lecture with 50% hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>$2,395 USD by Sept 3, 2012; $2,595 USD on or after Sept 4, 2012.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/london-puppet-fundamentals-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Puppet Labs Boundary Module</title>
		<link>http://puppetlabs.com/blog/introducing-puppet-labs-boundary-module/</link>
		<comments>http://puppetlabs.com/blog/introducing-puppet-labs-boundary-module/#comments</comments>
		<pubDate>Fri, 11 May 2012 17:52:41 +0000</pubDate>
		<dc:creator>James Turnbull</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Extending Puppet]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[Systems Management]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[puppet forge]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=14064</guid>
		<description><![CDATA[Boundary is a network analysis tool that allows fast analysis and an ultra-fine resolution of data. To achieve this speed and resolution of data, Boundary employs software meters, installed on your application servers, that examine the header information of every packet and securely stream it to the Boundary service once a second. We&#8217;re excited to announce [...]]]></description>
			<content:encoded><![CDATA[<p>Boundary is a network analysis tool that allows fast analysis and an ultra-fine resolution of data. To achieve this speed and resolution of data, Boundary employs software meters, installed on your application servers, that examine the header information of every packet and securely stream it to the Boundary service once a second. We&#8217;re excited to announce our Boundary module to install and manage <a title="Boundary" href="http://www.boundary.com">Boundary</a> network meters, developed in conjunction with the Boundary team and the Puppet community, has reached <a title="Boundary module on the Puppet Forge" href="http://forge.puppetlabs.com/puppetlabs/boundary">v1 and is released onto the Puppet Forge</a>! The module also contains support for sending reports from Puppet to <a title="Boundary" href="http://www.boundary.com">Boundary</a>.</p>
<p>To use the module you need to download it from the Puppet Forge onto your Puppet master using the module tools:</p>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;"># puppet module install puppetlabs-boundary</pre></div></div>

<p>You can then use the module to install and manage the Boundary meters that monitor your network traffic and send the results to Boundary.  To create a new meter you will need your Boundary ID and API key and create a `boundary_meter` resource like so:</p>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">boundary_meter <span class="br0">&#123;</span> &quot;db.example.com&quot;:
  ensure =&gt; present,
  id =&gt; &quot;abcde12345&quot;,
  apikey =&gt; &quot;abcde12345&quot;,
  tags =&gt; <span class="br0">&#91;</span> &quot;production&quot;, &quot;newyork&quot;, &quot;mysql&quot;, &quot;appcluster1&quot; <span class="br0">&#93;</span>,
<span class="br0">&#125;</span></pre></div></div>

<p>This resource will create a meter called &#8220;db.example.com&#8221; and add the tags production, newyork, mysql and appcluster1 (or the tags of your choice).  After you run Puppet you will be able to see your meter in the Boundary console.  We can also easily delete the meter by ensuring it is `absent`.</p>
<p>You can find the <a title="Boundary module on GitHub" href="https://github.com/puppetlabs/puppetlabs-boundary">source code on GitHub</a> and we welcome bug reports, ideas and features from the Puppet community. Thanks to <a title="Joe Williams" href="https://github.com/joewilliams">Joe Williams</a>, <a title="Jeff Hulten" href="https://github.com/jhulten">Jeff Hulten</a>, <a title="Andrew Loe" href="https://github.com/loe">W. Andrew Loe III</a>, <a title="Alessandro Franceschi" href="https://github.com/example42">Alessandro Franceschi</a> and <a title="Scott Smith" href="https://github.com/ohlol">Scott Smith</a> for their contributions to the current module.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/introducing-puppet-labs-boundary-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Columbus Puppet Fundamentals Training</title>
		<link>http://puppetlabs.com/events/columbu-puppet-fundamentals-training/</link>
		<comments>http://puppetlabs.com/events/columbu-puppet-fundamentals-training/#comments</comments>
		<pubDate>Fri, 11 May 2012 17:02:19 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/events/columbu-puppet-fundamentals-training/</guid>
		<description><![CDATA[Puppet Fundamentals Curriculum (3 Days) This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software. (Replaces the former Puppet Master course.) Prerequisites: This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator [...]]]></description>
			<content:encoded><![CDATA[<h2>Puppet Fundamentals Curriculum (3 Days)</h2>
<p>This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software.  (Replaces the former Puppet Master course.)</p>
<p><a href="http://puppet-fundamentals-training-oh-aug-2012.eventbrite.com/?ref=ebtn" target="_blank"  ><img border="0" src="http://www.eventbrite.com/registerbutton?eid=2529744534" alt="Register for Puppet Fundamentals Training: Columbus in Dublin, OH  on Eventbrite" /></a></p>
<h3>Prerequisites:</h3>
<p>This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator</p>
<h3>Topics covered include:</h3>
<ul>
<li class="bullet">Developing modules/classes on a system that represent target systems</li>
<li class="bullet">Using Puppet Apply to test and iterate modules</li>
<li class="bullet">Placing modules on the Puppet Master</li>
<li class="bullet">Declaring appropriate classes in node definitions</li>
<li class="bullet">Triggering a Puppet run using the Live Management GUI</li>
<li class="bullet">Collecting and analyzing results in the Enterprise Console</li>
<li class="bullet">Puppet Language Patterns and Best Practices</li>
</ul>
<p>The topics are covered over 3 days. Sessions will mix theory and practice, balancing lectures with hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>$2,195 by Aug 6, 2012; $2,395 on or after Aug 7, 2012.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/columbu-puppet-fundamentals-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>San Diego Puppet Fundamentals Training</title>
		<link>http://puppetlabs.com/events/sandieg-puppet-fundamentals-training/</link>
		<comments>http://puppetlabs.com/events/sandieg-puppet-fundamentals-training/#comments</comments>
		<pubDate>Fri, 11 May 2012 16:54:53 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/events/sandieg-puppet-fundamentals-training/</guid>
		<description><![CDATA[Puppet Fundamentals Curriculum (3 Days) This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software. (Replaces the former Puppet Master course.) Prerequisites: This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator. [...]]]></description>
			<content:encoded><![CDATA[<h2>Puppet Fundamentals Curriculum (3 Days)</h2>
<p>This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software.  (Replaces the former Puppet Master course.)</p>
<p><a href="http://puppet-fundamentals-training-sd-aug-2012.eventbrite.com/?ref=ebtn" target="_blank"  ><img border="0" src="http://www.eventbrite.com/registerbutton?eid=2529744534" alt="Register for Puppet Fundamentals Training: San Diego in San Diego, PA  on Eventbrite" /></a></p>
<h3>Prerequisites:</h3>
<p>This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator.</p>
<h3>Topics covered include:</h3>
<ul>
<li class="bullet">Developing modules/classes on a system that represent target systems</li>
<li class="bullet">Using Puppet Apply to test and iterate modules</li>
<li class="bullet">Placing modules on the Puppet Master</li>
<li class="bullet">Declaring appropriate classes in node definitions</li>
<li class="bullet">Triggering a Puppet run using the Live Management GUI</li>
<li class="bullet">Collecting and analyzing results in the Enterprise Console</li>
<li class="bullet">Puppet Language Patterns and Best Practices</li>
</ul>
<p>The topics are covered over 3 days. Sessions will mix theory and practice, balancing lectures with hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>$2,195 by July 23, 2012; $2,395 on or after July 24, 2012.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/sandieg-puppet-fundamentals-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Philadelphia Puppet Fundamentals Training</title>
		<link>http://puppetlabs.com/events/philadelphi-puppet-fundamentals-training-2/</link>
		<comments>http://puppetlabs.com/events/philadelphi-puppet-fundamentals-training-2/#comments</comments>
		<pubDate>Fri, 11 May 2012 16:25:37 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/events/philadelphi-puppet-fundamentals-training-2/</guid>
		<description><![CDATA[Puppet Fundamentals Curriculum (3 Days) This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software. (Replaces the former Puppet Master course.) Prerequisites: This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator. [...]]]></description>
			<content:encoded><![CDATA[<h2>Puppet Fundamentals Curriculum (3 Days)</h2>
<p>This training course teaches students a best practice approach to managing their infrastructure using Puppet IT automation software.  (Replaces the former Puppet Master course.)</p>
<p><a href="http://puppet-fundamentals-training-phil-aug-2012.eventbrite.com/?ref=ebtn" target="_blank"  ><img border="0" src="http://www.eventbrite.com/registerbutton?eid=2529744534" alt="Register for Puppet Fundamentals Training: Philadelphia in Philadelphia, PA  on Eventbrite" /></a></p>
<h3>Prerequisites:</h3>
<p>This course has no prerequisites, but to complete the course successfully attendees need to have at least the equivalent experience of a junior Unix/Linux administrator.</p>
<h3>Topics covered include:</h3>
<ul>
<li class="bullet">Developing modules/classes on a system that represent target systems</li>
<li class="bullet">Using Puppet Apply to test and iterate modules</li>
<li class="bullet">Placing modules on the Puppet Master</li>
<li class="bullet">Declaring appropriate classes in node definitions</li>
<li class="bullet">Triggering a Puppet run using the Live Management GUI</li>
<li class="bullet">Collecting and analyzing results in the Enterprise Console</li>
<li class="bullet">Puppet Language Patterns and Best Practices</li>
</ul>
<p>The topics are covered over 3 days. Sessions will mix theory and practice, balancing lectures with hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>$2,195 by July 16, 2012; $2,395 on or after July 17, 2012.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/philadelphi-puppet-fundamentals-training-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing The Marionette Collective 2.0</title>
		<link>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/</link>
		<comments>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/#comments</comments>
		<pubDate>Wed, 09 May 2012 16:52:58 +0000</pubDate>
		<dc:creator>R.I. Pienaar</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Extending Puppet]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[MCollective]]></category>
		<category><![CDATA[product release]]></category>
		<category><![CDATA[mcollective]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet labs]]></category>
		<category><![CDATA[R.I. Pienaar]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13976</guid>
		<description><![CDATA[I am proud to announce the release of the next major production version of The Marionette Collective (MCollective). This release brings together almost a year&#8217;s worth of work and introduces great improvements in security, stability, platform support and new features in the core messaging layer. The major areas of advance are below: Complete messaging protocol [...]]]></description>
			<content:encoded><![CDATA[<p>I am proud to announce the release of the next major production version of The Marionette Collective (MCollective). This release brings together almost a year&#8217;s worth of work and introduces great improvements in security, stability, platform support and new features in the core messaging layer.</p>
<p>The major areas of advance are below:</p>
<ul>
<li>Complete messaging protocol rewrite to enable direct style connectivity that would allow programs to bypass normal discovery instead using their own data sources</li>
<li>An additional more robust messaging paradigm supporting a more assured addressing and delivery scheme</li>
<li>Batched mode allowing users to address machines in small groups thus avoiding thundering herd and enabling more granular changes</li>
<li>A more complete language for expressing discovery that includes and/or/not style queries across the infrastructure</li>
<li>Improved Stomp connection security using normal industry standard Certificate Authority validated TLS</li>
<li>New connector that uses ActiveMQ-specific features for better performance and scalability</li>
<li>Security of the SSL and AES security plugins have been improved for tamper protection by middle men</li>
<li>A message validity period has been introduced to lower the window of message replay attacks</li>
<li>Better error handling and better logging for Stomp connections</li>
<li>JSON output from the ‘rpc’ application</li>
<li>Ability to pipe RPC requests into each other creating a chain of related RPC calls</li>
<li>Better validations, better error handling and better documentation creation from the DDL</li>
<li>Performance improvements in the CLI, more consistently formatted output of received data</li>
<li>A Ruby GEM of the client is now made available on rubygems.org</li>
<li>The rc script for Debian based systems have been improved to prevent duplicate daemons from running</li>
<li>Built in packager for plugins into native OS packages—RedHat and Debian supported</li>
<li>MS Windows Support</li>
</ul>
<p>The full <a href="http://docs.puppetlabs.com/mcollective/releasenotes.html">release notes</a> for this release expands on key areas of the above list and you can download this release from our <a href="http://info.puppetlabs.com/download-puppet-open-source.html">download area</a>, <a href="http://yum.puppetlabs.com/">Yum repository</a> or our <a href="http://apt.puppetlabs.com/">Apt repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/announcing-the-marionette-collective-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Puppet Master Training: Berlin, Germany &#8211; Sponsored by Büro 2.0</title>
		<link>http://puppetlabs.com/events/puppet-master-training-berlin-germany-sponsored-by-buro2-0/</link>
		<comments>http://puppetlabs.com/events/puppet-master-training-berlin-germany-sponsored-by-buro2-0/#comments</comments>
		<pubDate>Tue, 08 May 2012 18:48:59 +0000</pubDate>
		<dc:creator>Heidi</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/events/puppet-master-training-berlin-germany-sponsored-by-wizards-of-foss/</guid>
		<description><![CDATA[Puppet Master Curriculum (3 Days) This training is ideal for those who want a Puppet jumpstart. Newer members at an organization already using Puppet, or experienced sysadmins wanting to bring Puppet into their team will get everything they need to deploy solutions. Prerequisites: Attendees should have at least the equivalent experience of a junior Unix/Linux [...]]]></description>
			<content:encoded><![CDATA[<h2>Puppet Master Curriculum (3 Days)</h2>
<p>This training is ideal for those who want a Puppet jumpstart. Newer members at an organization already using Puppet, or experienced sysadmins wanting to bring Puppet into their team will get everything they need to deploy solutions.</p>
<p><a href="http://www.heinlein-support.de/schulung/puppet?ref=ebtn" target="_blank"  ><img border="0" src="http://www.eventbrite.com/registerbutton?eid=2965290263" alt="Register for Puppet Master Training: Berlin, Germany - Sponsored by Büro 2.0" /></a></p>
<h3>Prerequisites:</h3>
<p>Attendees should have at least the equivalent experience of a junior Unix/Linux administrator.</p>
<h3>Topics covered include:</h3>
<ul>
<li>Architecture &#038; Installation</li>
<li>Configuring Puppet and Puppetmaster</li>
<li>Resource Types and the Resource Abstration Layer</li>
<li>Virtual Resources, Exported Resources and Stored Configs</li>
<li>Meta-parameters, Dependencies and Events</li>
<li>Classes, Modules and Definitions</li>
<li>Tags and Environments</li>
<li>Puppet Language Patterns and Best Practices</li>
</ul>
<p>The topics are covered over 3 days. Sessions will mix theory and practice, balancing lectures with hands-on exercises.  (In order to perform the hands-on exercises, each student needs to bring a WiFi enabled laptop with VMware installed to participate in the labs.)</p>
<h2>Pricing</h2>
<ul>
<li>EUR 1980 (+VAT).</li>
<li>Lodging assistance is available &#8211; http://www.heinlein-support.de/schulung/puppet?ref=ebtn.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/events/puppet-master-training-berlin-germany-sponsored-by-buro2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Puppet Events: New Camps, PuppetConf, and Velocity</title>
		<link>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/</link>
		<comments>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/#comments</comments>
		<pubDate>Tue, 08 May 2012 15:46:24 +0000</pubDate>
		<dc:creator>jose</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences and Workshops]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[General News]]></category>
		<category><![CDATA[Puppet Camp]]></category>
		<category><![CDATA[PuppetConf]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[puppet labs]]></category>

		<guid isPermaLink="false">http://puppetlabs.com/?p=13937</guid>
		<description><![CDATA[Puppet Labs has been a busy place in the last month: we announced PuppetConf and released the very first seats for the Puppet Professional Certification Program (more details coming soon), we also announced our support for OpenStack and we announced PuppetDB, affectionately known around the office as project Greyskull. As we move ahead into May [...]]]></description>
			<content:encoded><![CDATA[<p>Puppet Labs has been a busy place in the last month: we announced <a href="http://www.puppetconf.com">PuppetConf</a> and released the very first seats for the Puppet Professional Certification Program (more details coming soon), we also announced our support for <a href="http://puppetlabs.com/solutions/openstack/">OpenStack</a> and we announced PuppetDB, affectionately known around the office as project Greyskull. As we move ahead into May and June we hope to see you at some of the following events:</p>
<p>May 19 &#8211; <a href="http://puppetcampla.eventbrite.com">Puppet Camp Los Angeles</a>: Senior Developer Deepak Giridharagopal will introduce PuppetDB, and the Puppet projects team lead Daniel Pittman will share the Puppet roadmap for 2012.</p>
<p>May 21 &#8211; Find us at <a href="http://www.emcworld.com/">EMC world</a>, we&#8217;ll be around and looking to find you. Follow us <a href="http://www.twitter.com/puppetlabs">@puppetlabs</a> to find out where we are.</p>
<p>We&#8217;ve announced new Puppet Camps for June and July:</p>
<ul>
<li><a href="http://puppetcampsea.eventbrite.com">Southeast Asia</a> in Kuala Lumpur on June 5th</li>
<li><a href="http://puppetcampsydney.eventbrite.com">Sydney</a> on June 8th (tickets are almost gone!)</li>
<li><a href="http://www.puppetlabs.com/puppetcamp">District of Columbia</a> on June 19th
<li>
<li>Puppet Camp <a href="http://puppetcampboston.eventbrite.com/">Boston</a> on June 22</li>
<li><a href="http://puppetcampchicago.eventbrite.com">Chicago</a> on July 23rd</li>
<p>And don&#8217;t forget about our previously announced our European camps in <a href="http://puppetcampdublin.eventbrite.com">Dublin</a>, Ireland on July 6th and <a href="http://puppetcamp-geneva-at-lsmconf.eventbrite.com">Geneva</a>, Switzerland on July 11th.</p>
<p>After the end of July we&#8217;ll be working to produce an epic <a href="http://www.puppetconf.com">PuppetConf</a> in San Francisco on September 27th and 28th. Register now to guarantee a seat. Like many of our Puppet Camps, PuppetConf is sure to sell out.</p>
<p>We&#8217;re also happy to offer you a 10% discount to <a href="http://www.velocityconf.com">Velocity</a> on June 25-28. Just use code PUPPETLABS when you register and then come find us at booth #517 and check out presentations from <a href="http://velocityconf.com/velocity2012/public/schedule/detail/23203">James Turnbull</a> and <a href="http://velocityconf.com/velocity2012/public/schedule/detail/23639">Luke Kanies</a> at Velocity.</p>
<p><a href="http://velocityconf.com/velocity2012"><img src="http://puppetlabs.com/wp-content/uploads/2012/05/468x60.png" alt="" title="Velocity Conf" width="468" height="60" class="aligncenter size-full wp-image-13946" /></a></p>
<p>We&#8217;re looking forward to connecting with you this summer.</p>
]]></content:encoded>
			<wfw:commentRss>http://puppetlabs.com/blog/upcoming-puppet-events-new-camps-puppetconf-and-velocity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

