This tutorial will show you how to combine Ansible and Puppet to manage a
dynamic set of servers on the Catalyst Cloud. This way you get the beautifully
simple orchestration of Ansible, combined with the vast library of modules
available with Puppet.

We also copy our local modules directory into the Puppet Master’s modulepath.
For now, there is very little in there other than an empty manifest for
roles::puppetmaster, but this is where you could keep your army of Puppet
modules for whatever.

# using copy is incredibly slow for large sets of files, so we tar it up from# local before extracting it in /etc/puppet-name:Create tardelegate_to:localhostshell:echo $PWD ; tar -czf /tmp/puppet-modules.tar.gz modulesargs:chdir=./-name:Extract puppet manifestsunarchive:dest=/etc/puppet src=/tmp/puppet-modules.tar.gz copy=yesbecome:yes

We also have a very crude external node classifier. It uses a property that
each server is created with to decide which top-level Puppet class to apply: