3 title: Using with Puppet
6 [FactsRLFacter]: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/FactsFacterYAML
7 [PluginSync]: http://docs.reductivelabs.com/guides/plugins_in_modules.html
8 [AgentPuppetd]: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentPuppetd
9 [AgentPuppetca]: http://github.com/puppetlabs/mcollective-plugins/tree/master/agent/puppetca/
10 [AgentPuppetRal]: http://github.com/puppetlabs/mcollective-plugins/tree/master/agent/puppetral/
11 [PuppetCommander]: http://github.com/puppetlabs/mcollective-plugins/tree/master/agent/puppetd/commander/
12 [RapidRuns]: http://www.devco.net/archives/2010/08/05/rapid_puppet_runs_with_mcollective.php
13 [EC2Bootstrap]: http://www.devco.net/archives/2010/07/14/bootstrapping_puppet_on_ec2_with_mcollective.php
14 [PuppetRalBlog]: http://www.devco.net/archives/2010/07/07/puppet_resources_on_demand.php
15 [SchedulingPuppet]: http://www.devco.net/archives/2010/03/17/scheduling_puppet_with_mcollective.php
16 [ManagingPuppetd]: http://www.devco.net/archives/2009/11/30/managing_puppetd_with_mcollective.php
17 [CloudBootstrap]: http://vuksan.com/blog/2010/07/28/bootstraping-your-cloud-environment-with-puppet-and-mcollective/
18 [ServiceAgent]: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentService
19 [PackageAgent]: http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentPackage
20 [Facter2YAML]: http://www.semicomplete.com/blog/geekery/puppet-facts-into-mcollective.html
22 If you're a Puppet user you are supported in both facts and classes filters.
24 There are a number of community plugins related to Puppet:
26 * Manage the Puppetd, request runs, enable and disable - [AgentPuppetd]
27 * Manage the Puppet CA, sign, list and revoke certificates - [AgentPuppetca]
28 * Use the Puppet Ral to create resources on demand, a distributed *ralsh* - [AgentPuppetRal]
29 * Schedule your puppetd's controlling concurrency and resource usage - [PuppetCommander]
30 * The [ServiceAgent] and [PackageAgent] use the Puppet RAL to function on many operating systems
32 There are also several blog posts related to Puppet and MCollective:
34 * Running puppet on a number of nodes as quick as possible - [RapidRuns]
35 * Bootstrapping a Puppet + EC2 environment with Puppet - [EC2Bootstrap]
36 * Using the Puppet RAL with MCollective - [PuppetRalBlog]
37 * General scheduling of Puppet Runs - [SchedulingPuppet]
38 * Managing Puppetd - [ManagingPuppetd]
39 * Bootstrapping your cloud environment - [CloudBootstrap]
42 There is a [community plugin to enable Facter][FactsRLFacter] as a fact source.
44 So you can use the facts provided by Facter in filters, reports etc.
46 {% highlight console %}
47 $ mco find --with-fact lsbdistrelease=5.4
50 This includes facts pushed out with [Plugin Sync][PluginSync].
52 A less resource intensive approach has can be found [here][Facter2YAML], it converts the Puppet scope into a YAML file that the YAML fact source then loads. This is both less resource intensive and much faster.
55 Puppet provides a list of classes applied to a node by default in */var/puppet/state/classes.txt* or */var/lib/puppet/state/classes.txt* (depending on which Puppet version you are using. The latter is true for 0.25.5 onwards) , we'll use this data with *--with-class* filters.
57 You should configure MCollective to use this file by putting the following in your *server.cfg*
61 classesfile = /var/lib/puppet/classes.txt
64 or if using Puppet 0.23.0 and onwards
67 classesfile = /var/lib/puppet/state/classes.txt
70 You can now use your classes lists in filters:
72 {% highlight console %}
73 $ mco find --with-class /apache/