Puppet 3.0.0-rc7 is a feature release candidate for the 3.x series of Puppet.
Downloads are available at:
* Source http://downloads.puppetlabs.com/puppet/puppet-3.0.0-rc7.tar.gz
RPMs are available at http://yum.puppetlabs.com
Debs are available at http://apt.puppetlabs.com
Gems are available via rubygems at
https://rubygems.org/downloads/puppet-3.0.0.rc7.gem
or by using `gem install --pre puppet`
Mac packages are available at
http://downloads.puppetlabs.com/mac/puppet-3.0.0-rc7.dmg
Windows packages are available at
http://downloads.puppetlabs.com/windows/puppet-3.0.0-rc7.msi
See the Verifying Puppet Download section at:
http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet
Please report feedback via the Puppet Labs Redmine site, using an
affected puppet version of 3.0.0-rc7:
http://projects.puppetlabs.com/projects/puppet/
Puppet 3.0.0-rc7 (Telly) Release Notes
====================================
# Overview
Puppet 3.0, code name Telly, is the first major release to Puppet
since June 2011. With the help of our amazing community contributors,
we''ve built a Release Candidate that merits a "dot-oh". We
need your
help to make that happen. As you know, Puppet supports numerous
configurations and operating systems. Because of that, we need smart
folks like you to validate that it''s working in your environment.
Here''s how you can help:
1. Download Puppet 3.0
2. Read this changelog to identify any config changes you''ll need to
make
3. File bugs in the [Puppet Redmine issue tracker][1]
4. [Let us know][2] when you''re headed to production
[1]: http://projects.puppetlabs.com/projects/puppet
[2]: mailto:eric0@puppetlabs.com
# Summary of Changes
This is not an exhaustive summary, but rather an editorialized list of
the biggest changes. See the Git changelog for the full monty.
Numbers in parentheses like `(#7788)` indicate a Redmine ticket at
http://projects.puppetlabs.com/issues/7788
Notation like `(puppet/pull/998)` indicate a github pull request at
https://github.com/puppetlabs/puppet/pull/998
## Cool New Stuff
* Performance Improvements - substantial improvements to performance,
particularly around catalog compilation. Agent now uses JSON for
catalog cache, which can be dramatically faster for large catalogs
(#16058, #2892)
* Data Bindings - hiera will be automatically consulted for values of
parameterized classes so you don''t need the parser functions. (#11608)
* Improved OS/Platform Support - Full Ruby 1.9 support; vastly
improved Windows package support; yumrepo now supports ssl options
(#3324); better upstart support; better Solaris zone, package and
service support;
* Loading Plugins from Rubygems - you can now install and use puppet
extension code (faces, types, providers) via rubygems. (#7788)
* Server Auto-Discovery - Puppet agents can use SRV records in DNS to
find CA, master, report, and file servers (#3669)
* Semantic Versioning - With 3.0.0, Puppet Labs makes a commitment to
follow the Semantic Versioning guidelines outlined on semver.org.
Public, documented APIs won''t break until 4.0; minor-version 3.x
releases will add new features while retaining compatibility, and
tiny-version 3.0.x releases will be bugfix-only.
## DSL/Config Changes
* Variable Scoping - Dynamic scoping has been removed.
http://docs.puppetlabs.com/guides/scope_and_puppet.html
* Auth.conf differentiates between names and IPs - There''s a new
`allow_ip` keyword in auth.conf if you want to permit IP addresses.
(PR991)
* `unless` is available as a synonym for `if !` (#7762)
* Pluginsync now defaults to true - Yep, it''s true. (#5521)
* Updated `config.ru` syntax -- When running the master under Rack,
make sure you update your config.ru to follow the example from
ext/rack/files/config.ru in the source distribution. (#15337)
* Passing `undef` as a parameter to a defined type or parameterised
class will override the default with `undef`, rather than behave like
you didn''t pass anything at all (#16221)
## Changed Code Behavior
* External Node Classifier and Environments - If there''s a conflict
between the environment requested by a client and what''s set in the
external node classifier, the ENC wins. (#3910)
* When running puppet as root, the system-wide `confdir` and `vardir`
settings will be used. When running as a non-root user, `confdir` will
be `~/.puppet/` and `vardir` will be `~/.puppet/var`, which now relies
on $HOME being set in your environment. (#16137, /puppet/pull/1080)
* When you pass an `undef` into a parameterised class or defined type,
the receiver will actually see it as an `undef` now; previously it was
ignored. This provides greater consistency with normal (non-parameter)
resources, but code that relied on the old behavior will need to
change. (#16221)
## Important Deprecations
* Puppet 3.0 does not support running under Ruby 1.8.5. The main OS
platform which still ships with 1.8.5 is RHEL5 and while we love RHEL
and its derivatives (CentOS, Oracle Enterprise Linux, Scientific,
etc), we can''t maintain backwards compatiblity to 1.8.5. So
we''ve
backported the RHEL6 packages to provide drop-in replacements for the
system Ruby packages (1.8.7-p370) -- these are available at
http://yum.puppetlabs.com/el/5/devel/ now and will move into the
''deps'' repository along with the Telly final release. (#15734)
* As part of a Google Summer of Code project, we have a completely
rewritten Ruby DSL. Some of it is backwards-compatible, but other
things have changed pretty dramatically; we think it''ll be a great
improvement for those who want to write Puppet code directly in Ruby.
Check out this blog post for details of the changes:
http://puppetlabs.com/blog/gsoc-project-ruby-dsl-for-puppet/
Puppet 3.0.0-rc7 Changelog
=========================
Andrew Parker (6):
89cde8d (Maint) Create a test for the puppet backend
d896651 (#15756) Call functions correctly in tests
a5929c7 (#15756) Do not allow functions called without Array
d4b44a3 (#15756) Test behavior of function loading not mocks
f42548e (#15756) Call include function correctly
5e3fbca (Maint) Remove fragile test
Craig Dunn (1):
a735052 added volcanes patch to allow calling_module and
calling_class to be evaluated in scope
Daniel Pittman (43):
8fa6575 Make SELinux internal helper functions private.
13cb623 (#8714) Don''t follow symlinks in SELinux FS detection
5ac681f AST Scope variable names must be strings.
c5aa286 Clean up the Hiera Puppet integration.
a67977b Use Pathname.realpath instead of writing it...
c528368 (#16027) Restore function context to backtraces
81c8afa Skip symbolic link demanding test on Windows
0e7fc8d Update copyright years in LICENSE
f0ef301 (#16330) Update ZAML to latest upstream.
ac76836 (#16327) Fix fact terminus configuration cache handling
4b64049 (#16327) Continue agent run when node terminus find fails
312b467 Git ignore an .rvmrc file in the root of the project
fe1f4a2 (#4680) Reject CA network operations when master CA is disabled
a0287bf Implement a JSON file terminus to mirror YAML.
141c83b Add catalog JSON terminus to improve performance.
c0e5f4d Implement Symbol#intern when it is missing.
fbd5105 Use `intern` rather than `symbolize` it Puppet::Type
4d4a75a zaml: statically determine the to_ascii8bit implementation.
fd8343a zaml: unify on a single definition of `to_zaml` for Symbol
8173a6e Avoid object creation/destruction when possible.
aca7959 type: memoize key_attributes for types.
9176f5c tagging: document why fixing this horror is hard.
54c4f0a lexer: remove some unused stats collection
397dfa8 monkey_patch: cache Symbol to_proc result.
89e0f14 type: support implicit "identity" transformation
912ed34 FileCollection is a memory loss, not a memory win.
275c94d Eliminate remaining uses of FileCollection.
58f6ca1 parser/files: use a cheaper test for "is this path
absolute?"
20efe94 util: don''t rebuild regexp every time we invoke
absolute_file?
9099a42 zaml: don''t sort object attributes for output
e70273b whit: cache the `to_s` result.
33c127b zaml: speed micro-optimization for Time output
b54f8cd log_paths: memoize the entire value, not just part of it.
314c3da file_serving: avoid rewriting paths if possible.
f60e402 tagging: use a static regexp rather than rebuilding it
69315c2 Implement `Fixnum#ord` for Ruby 1.8.5
eea1ef5 (#15190) Avoid deprecated iconv on Ruby 1.9
83defc0 zaml: rework strings for correctness and speed
4f6289b zaml: add whitespace for readability.
fbca3b0 zaml: avoid calling emit when we don''t have anything to
output
67e5957 zaml: don''t use backreferences on strings
68dea3d zaml: handle multi-line map keys and array values correctly.
5e7cce5 Disable ActiveSupport::Dependencies hooks.
Deepak Giridharagopal (3):
f991171 (#15768) Deprecate ActiveRecord-based storeconfigs terminuses
4819479 (#15678) Deprecate ActiveRecord-based inventory service terminuses
b11b124 (#15768) Deprecate puppet queue
Eric Sorenson (1):
3d8cb2b (#16184) Improve example auth.conf
Gary Larizza (2):
894a7a4 Fail if a lookup key isn''t passed
927de1f Add test coverage for hiera_hash()
Henrik Lindberg (4):
e5c31df (#15735) Deprecate puppet kick, and agent --listen.
f4e229e (#16189) Make --run_mode a global option and not a setting
106509a Fix issue with chown failing in test.
4e7e4ba (Maint) Add tests of passing undef as parameter.
Hunter Haugen (3):
bd1d1be Adding hiera_hash() Puppet function
15cd26d Adding hiera_hash for CHANGES.txt
632457e Rubygems is not required to use hiera
Jeff McCune (17):
4b68af3 (minor) tweaks to modules README
def41d5 Add watchr script
d840325 (Maint) Use PuppetlabsSpec::PuppetSeams.parser_scope
88c5f9a (Maint) Fix mock error with hiera module
7ac4a54 (Maint) Fix missing spec_helper lines in some tests
43910f2 (Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}
84b4d11 (Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}
315ebad (#2888) Add settings catalog info to README_DEVELOPER
61a34d3 (#2888) Fix race condition with puppetdlockfile
4b2a888 (#3757) Rename agent_pidfile to agent_catalog_run_lockfile
3fc3209 (Maint) Improve error message when catalog run is in progress
c572c78 (Maint) Make puppet module install --confdir=foo
puppetlabs-stdlib work
ada77c5 (Maint) Add test coverage for --confdir=/tmp/puppet patch
fb845bb (#7316) Load applications from the modulepath
df7a72f (Maint) Fix spec failures with Puppet::Face[]
8a44663 Revert "Merge branch
''fix/3.x/7316_load_faces_from_modulepath'' into 3.x"
edb535e Revert "Merge branch
''fix/3.x/fix_puppet_face_failures'' into 3.x"
Josh Cooper (11):
d36fe25 Maint: Fix mismatched expect-should
5a38d50 (#12630) Run puppet agent as a service
c0e2a6f (#13027) Guard against invalid runinterval values
68c61fa (#16347) Replace \x92 character with apostrophe
e84f448 (#16347) Qualify references to windows-pr gem
4a0f0d3 Maint: Clear global state between tests
2eec886 Maint: Clear memory instances
a4174e2 Maint: Clear parsedfile target and default_target
a126820 Maint: Don''t overwrite outer sum variable
b71ed32 Maint: Ensure manages_password_age feature is set
e45961f Maint: Fix intermittently failing spec test
Kelsey Hightower (8):
48bfccb (#14461) Remove Puppet parser functions
a042de4 Revert "(#14461) Remove Puppet parser functions"
01e9122 (maint) Follow Puppet Labs style guide + code cleanup
95d7058 (maint) parser functions do not require hiera.yaml
8a49eab (maint) Add acceptance tests
bdb8563 (#15184) Refactor parser functions
9ab901f (maint) Hiera Puppet now has a LICENSE file
44bc7cb (#15105) Update README YAML examples
Ken Barber (1):
2df319a (#14124) Load rake tasks directly to fix tests for Ruby 1.9.x
Matthaus Litteken (28):
cb721c5 Add mac packaging to hiera-puppet
64b7375 Move conf to ext directory
4101d02 Add debian packaging for hiera-puppet
470c5c8 Add Redhat packaging to hiera-puppet
5adc454 Add package task to tasks
1138e65 Updating CHANGELOG for hiera-puppet 1.0.0rc1
378a1a2 Tweak debian packaging
9c23e9d Remove puppetlabs_spec_helper require from root Rakefile
8e4e76a (maint) Replace .should on blocks with .to
2fa4251 Update hiera-puppet package tasks
c686adb Update debian package task to handle orig version
properly and use the correct directory name when building.
416f098 Update hiera-puppet hiera dependency to ~> 1.0
1b2a5d1 Update CHANGELOG for 1.0.0rc2
0fbdd62 (#15291) Add Vendor tag to Hiera-Puppet spec file
fd3fe17 Add hiera_puppet.rb to debian, redhat packages, fix gem
version dependency
962453f Updating CHANGELOG for 1.0.0rc3
62492ba Updating CHANGELOG for 1.0.0, changing hiera dependency to ~>
1.0
8fa77b4 Moving windows service into the ext directory.
bccf5af Update packaging to account for hiera-puppet merge
b716dc7 (#16144) Update puppet spec file for fedora 17 and systemd changes
8dc46ba Update puppet.spec.erb to correct rpmlint issues
12933af Update puppet.spec, bump required ruby to 1.8.7
0c4dadd Remove sbin references from install.rb
0f0fe3d Replace Config::CONFIG with RbConfig::CONFIG
be2816d Add --ruby flag to install.rb
9351940 Update debian ruby dependencies to include 1.9
668e314 Remove svn specific code from install.rb
5b2adc9 Updating lib/puppet/version.rb for 3.0.0-rc7
Michael Stahnke (1):
97e6c3b Ready repository for release process
Moses Mendoza (4):
9fa0497 remove non-applicable artifacts in packaging
a1c4467 Fixup apple package plist for use with packaging repo
c23a64a Remove CHANGELOG file
9f01586 Remove references to CHANGELOG in packaging
Nan Liu (1):
eb800e4 (#12037) hiera-puppet should support hash values.
Nick Fagerlund (1):
8ca3640 Update docs w/ new default logoutput value from ticket #10907
Niels Abspoel (1):
3e2fde6 systemd unit files added on own branch for pull request
to satisfy issue 16144 : https://projects.puppetlabs.com/issues/16144
Patrick Carlisle (11):
dbdda00 (#12122) Use nil as default answer in lookup
7a458a4 (#14841) Give useful error for array or hash lookup failure
d76a9d8 (#14841) Add test for hiera_hash parser function
b166328 (#14841) Add test coverage for remaining hiera parser functions
934c4a8 Fix for windows paths in hiera-puppet specs
e942e01 Clean up acceptance tests merged from hiera-puppet
5f707a4 Set ca_location in ca face
a1b9f7c (#13435) Use digest algorithm from CSR for fingerprint
97c8b0c (#13435) Use new digest code when generating a CSR
50aeb87 (#13435) Convert digest to string in cert interface
4b96227 (#13435) Use SHA256 for puppet agent --fingerprint
Peter Meier (1):
30b7294 false vs. nil - supporting false as default value
R.I.Pienaar (20):
59e8e88 First working hiera() function and a logger that logs
using puppet notice/debug
ae5b084 Add a hash like wrapper around puppet scope
3df4007 Add a puppet backend that impliments Nigels design
ffda5bb Add README
b92ac2c Add a debug statement
f4cd24d Add tests and fix bugs found with tests
4a00e43 Add more tests, fix more bugs
759fd06 Rename tests dir to unit dir for consistancy with other projects
1b6866e Improve sample config and mention installation pains
bfef859 Add a example setup Fix some unfriendly behavior wrt
class names that don''t resolve using scope
583f24c Fix formating and make clearer
59ae8a3 Improve example
459ed6f Add apache 2 lic
c3dd67f Add array search support
3d082e4 Fix spec failure
c4adfac Add a hiera_include() function and update example
ea3ca2d Add a hiera_array() function and fix args parsing
27f3b10 Update changes
4e9e880 Release 0.2.0
5abdb9e Add tests to scope for calling_class and calling_module handling
Will Hopper (2):
4b0d2d3 Update Debian packaging rake task to correctly create
the orig.tar.gz
5e516ee Update Debian packaging rake task to correctly create
the orig.tar.gz
rahul (23):
ef4503e (acceptance) use facter to find the system name and fqdn
35db367 (acceptance) Add documentation to the test cases.
2aa5e96 (acceptance) solaris : update package name for cron
692b7b2 (acceptance) Move feature tests to ''resources''
57e77fc (acceptance) provide more rubust service script and fix smf
57d8ce5 (acceptance) fix zones: ensure that we pass a vallid
interface name, fix name typo, sizes
5f1fac6 (acceptance) utils: cleanup - refactor zone utils so
that we check before cleanup
bf29be6 (acceptnace) disable two tests that fails in solaris temporarily.
c321ace (acceptance) disable zone tests that require installation
747a324 (#16239) mock of facter :operatingsystem pending
120cc0e (packaging) adds ips support for shipping and signing
79753ec (#16425) ensure that first time install of speciifc version works
c802552 (#16120) ips package provider gets feature holdable.
f96262a (#16120) ips package provider gets feature holdable.
669e6db (#16430) acceptance: refactor zone tests
51f4d6b (#16430) acceptance: refactor cron tests
edaccc8 (#16430) acceptance: refactor package ips
0fde9c1 (#16430) refactor smf tests
3cce0f0 (#16430) refactor zfs tests
44de9bc (#16430) refactor zpool test cases.
7dabf63 (maint) convert user_role_add_spec to the new format of
writing test cases.
d72381c (maint) use described_class.new for getting the provider instance.
d889c3b (maint) add hiera to ext/envpuppet path and libpath
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Hi Matthaus, Would it be possible to publish el6 RPMs for Ruby 1.9 which have 1.9.1 as the library version? The current 3.0.0 RPMs use 1.8. It looks like the RedHat spec file is already set up to handle this. Thanks! Jos -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-dev/-/SW4ByJNHMZMJ. To post to this group, send email to puppet-dev@googlegroups.com. To unsubscribe from this group, send email to puppet-dev+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
Eric Sorenson
2012-Oct-01 19:12 UTC
[Puppet Users] Re: [Puppet-dev] Announce: Puppet 3.0.0-rc7 Available
Hi Jos -- Looks like the rpm specifies ''ruby(abi) >= 1.8'' so it should be OK out of the box for 1.9.x -- what''s the error you''re seeing? On Sep 25, 2012, at 10:49 AM, Jos Backus wrote:> Hi Matthaus, > > Would it be possible to publish el6 RPMs for Ruby 1.9 which have 1.9.1 as the library version? The current 3.0.0 RPMs use 1.8. It looks like the RedHat spec file is already set up to handle this. > > Thanks!Eric Sorenson - eric.sorenson@puppetlabs.com -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Matthaus Owens
2012-Oct-01 20:49 UTC
Re: [Puppet Users] Re: [Puppet-dev] Announce: Puppet 3.0.0-rc7 Available
The builds of puppet require ruby, but are built with ruby 1.8, so they put all of puppet''s lib in the sitelibdir of the ruby they were built with, so they go in /usr/lib/ruby/site_ruby/1.8 . For EL, we support whatever ruby distros have available and what is in epel. If there is ever a ruby 1.9 package in those repos, we will certainly look at building puppet 3.x to support it. In the meantime, you can rebuild the puppet 3.0.0 source rpm against your ruby package and as long as it defines the sitelibdir to be in your ruby 1.9''s load path, it should work just fine. You would also need to rebuild the facter and hiera rpms in the same way for puppet to find them in its load path. On Mon, Oct 1, 2012 at 12:12 PM, Eric Sorenson <eric.sorenson@puppetlabs.com> wrote:> Hi Jos -- Looks like the rpm specifies ''ruby(abi) >= 1.8'' so it should be OK out of the box for 1.9.x -- what''s the error you''re seeing? > > > On Sep 25, 2012, at 10:49 AM, Jos Backus wrote: > >> Hi Matthaus, >> >> Would it be possible to publish el6 RPMs for Ruby 1.9 which have 1.9.1 as the library version? The current 3.0.0 RPMs use 1.8. It looks like the RedHat spec file is already set up to handle this. >> >> Thanks! > > Eric Sorenson - eric.sorenson@puppetlabs.com > > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. >-- Matthaus Owens Release Manager, Puppet Labs -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jeff McCune
2012-Oct-01 23:36 UTC
Re: [Puppet Users] Re: [Puppet-dev] Announce: Puppet 3.0.0-rc7 Available
On Mon, Oct 1, 2012 at 1:49 PM, Matthaus Owens <matthaus@puppetlabs.com> wrote:> The builds of puppet require ruby, but are built with ruby 1.8, so > they put all of puppet''s lib in the sitelibdir of the ruby they were > built with, so they go in /usr/lib/ruby/site_ruby/1.8 . For EL, we > support whatever ruby distros have available and what is in epel. If > there is ever a ruby 1.9 package in those repos, we will certainly > look at building puppet 3.x to support it. In the meantime, you can > rebuild the puppet 3.0.0 source rpm against your ruby package and as > long as it defines the sitelibdir to be in your ruby 1.9''s load path, > it should work just fine. You would also need to rebuild the facter > and hiera rpms in the same way for puppet to find them in its load > path.Is it a viable option to change the official RPM''s to install Puppet into a location that could be shared by multiple ruby interpreters? Perhaps as a gem where two different ruby installations share a common element along the GEM_PATH? -Jeff -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Matthaus Owens
2012-Oct-01 23:53 UTC
Re: [Puppet Users] Re: [Puppet-dev] Announce: Puppet 3.0.0-rc7 Available
If there were a standard shared location, that would be an option. Debian has moved along those lines (a shared vendor_ruby that both ruby 1.8 and ruby 1.9 load from), but for EL and Fedora currently, that doesn''t exist. And without knowing which ruby 1.9 is being built against, it is impossible to guess what the libdir layout would look like. On Mon, Oct 1, 2012 at 4:36 PM, Jeff McCune <jeff@puppetlabs.com> wrote:> On Mon, Oct 1, 2012 at 1:49 PM, Matthaus Owens <matthaus@puppetlabs.com> wrote: >> The builds of puppet require ruby, but are built with ruby 1.8, so >> they put all of puppet''s lib in the sitelibdir of the ruby they were >> built with, so they go in /usr/lib/ruby/site_ruby/1.8 . For EL, we >> support whatever ruby distros have available and what is in epel. If >> there is ever a ruby 1.9 package in those repos, we will certainly >> look at building puppet 3.x to support it. In the meantime, you can >> rebuild the puppet 3.0.0 source rpm against your ruby package and as >> long as it defines the sitelibdir to be in your ruby 1.9''s load path, >> it should work just fine. You would also need to rebuild the facter >> and hiera rpms in the same way for puppet to find them in its load >> path. > > Is it a viable option to change the official RPM''s to install Puppet > into a location that could be shared by multiple ruby interpreters? > Perhaps as a gem where two different ruby installations share a common > element along the GEM_PATH? > > -Jeff-- Matthaus Owens Release Manager, Puppet Labs -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.