James Turnbull
2009-Aug-04 01:52 UTC
[Puppet Users] ANNOUNCE: 0.25.0 Release Candidate 1 is out!
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is the rc1 release of Puppet 0.25.0. It is available at: http://reductivelabs.com/downloads/puppet/puppet-0.25.0rc1.tar.gz This is not production ready code (almost though!) - it is a release candidate for testing. The release candidate is fully feature complete. The proposed Windows support did not make it into 0.25.0 due to time constraints. Please test and report issues with the release candidate. We aim to get the full release out before the end of the month. Please log any issues found during testing at: http://projects.reductivelabs.com/projects/puppet/issues/new Please select the Affected Version as 0.25.0rc1. Please email any other specific questions, comments or feedback to the puppet-user list. What''s Changed? - --------------- There are substantial changes in Puppet 0.25.0 and more changes to come in the future. Most of the changes in 0.25.0 are internal refactoring rather than behavioural. The 0.25.0 release should be fully backwards compatible behaviourally with the 0.24.x branch. This means a 0.25.0 master will be able to manage 0.24.x clients. You will need, however, to upgrade both your master and your clients to take advantage of all the new features and the substantial gains in performance offered by 0.25.0. The principal change is the introduction of Indirected REST to replace XML-RPC as the underlying Puppet communications mechanism. This is a staged change with some functions migrated in this release and some in the next release. In the first stage of the Indirected REST implementation the following functions have been migrated: - - Certificates - - Catalogue - - Reports - - Files In 0.26.0 (the next release) the following remaining functions will be migrated: - - Filebucket - - Resource handler - - Runner handler - - Status handler The new REST implementation also comes with authorisation configuration in a similar style to the namespaceauth used for XML-RPC. This new authorisation is managed through the auth.conf file (there is an example file in the conf directory of the tarball). This does not yet fully replace the namespaceauth.conf file but will when the remaining handlers are migrated to REST. It works in a similar way to the namespaceauth.conf file and the example file contains additional documentation. As a result of the introduction of REST and other changes you should see substantial performance improvements in this release. These particularly include improvements in: - - File serving - - The performance of large graphs with lots of edges - - Stored configuration (see also Puppet Queuing below) Other new features include (this is not a complete list - please see the Roadmap for all tickets closed in this release): New Language Features - --------------------- Regular expression matching is now possible in node definitions. node /web|db/ { include blah } node /^(foo|bar)\.example\.com$/ { include blah } Puppet now also allows regular expressions in if statements with the use of the =~ (match) and !~ (not match) operators. if $uname =~ /Linux|Debian/ { ... } Also available are ephemeral variables ($0 to $9) in the current scope which contain regex captures: if $uname =~ /(Linux|Debian)/ { notice("this is a $1 system") } Similar functionality is available in case and selector statements: $var = "foobar" case $var { "foo": { notify { "got a foo": } } /(.*)bar$/: { notify{ "hey we got a $1": } } } $val = $test ? { /^match.*$/ => "matched", default => "default" } New functions - ------------- There are three new functions: require - Similar to the include function but creates a dependency on the required class in the current class. This means the required class will be loaded before the current class is processed. split - allows you to split strings and arrays versioncmp - allows you to compare versions Command Line Compile & Apply - ---------------------------- Puppet now has the capability to compile a catalogue and output it in JSON from the Puppet master. You can do this via the --compile command line option. # puppetmasterd --compile nodename Corresponding with this feature is the ability to apply a JSON configuration from the puppet binary using the --apply option. # puppet --apply cataloguefile Or you can use - to read the JSON in from standard input. Puppet will then compile and apply the configuration. Thin Stored Configuration - ------------------------- 0.25.0 also introduces the concept of "thin" stored configurations. This is a version of stored configuration that only stores the facts and exported resources in the database. This will perform better than full stored configuration but because not all resources are available this may not suit all purposes. Thin stored configurations are initiated by setting the thin_storeconfigs option on the Puppet master or on the puppetmasterd command line using --thin_storedconfigs. Puppet Queuing - --------------- There is a new binary called puppetqd that supports queuing for stored configurations. You can read about how it works and how to implement it at: http://reductivelabs.com/trac/puppet/wiki/UsingStoredConfiguration Further documentation is in the README.queuing file in the tarball. Application Controller - ---------------------- All the logic has been moved out of the binary commands and added to an Application Controller. You can see the controller code at lib/puppet/application.rb and the logic for each application at lib/puppet/application/binaryname.rb. Binary Location Move - -------------------- To bring Puppet more in line with general packaging standards the puppetd, puppetca, puppetrun, puppetmasterd, and puppetqd binaries now reside in the sbin directory rather than the bin directory when installed from the source package. Other features - -------------- You can find a full list of the tickets closed thus far for version 0.25.0 is at: http://projects.reductivelabs.com/versions/show/3 Regards James Turnbull - -- Author of: * Pro Linux Systems Administration (http://tinyurl.com/linuxadmin) * Pulling Strings with Puppet (http://tinyurl.com/pupbook) * Pro Nagios 2.0 (http://tinyurl.com/pronagios) * Hardening Linux (http://tinyurl.com/hardeninglinux) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkp3lFAACgkQ9hTGvAxC30A8EgCg092yK/YjzcYXsiLjU2nwk84D okwAoI2sKqrOrHgjIi0hdK2EYjXlhykk =ZD0W -----END PGP SIGNATURE----- --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Nigel Kersten
2009-Aug-04 03:29 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
On Mon, Aug 3, 2009 at 6:52 PM, James Turnbull<james@lovedthanlost.net> wrote:> > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > This is the rc1 release of Puppet 0.25.0. > > It is available at: > > http://reductivelabs.com/downloads/puppet/puppet-0.25.0rc1.tar.gzAnd there''s a Mac pkg up here: https://sites.google.com/a/explanatorygap.net/puppet/Home/puppet_0.25.0-rc1.pkg.tar.bz2 This should cleanly upgrade from puppet 0.24.x to puppet 0.25.0-rc1. Please test.> > This is not production ready code (almost though!) - it is a release > candidate for testing. > > The release candidate is fully feature complete. The proposed Windows > support did not make it into 0.25.0 due to time constraints. > > Please test and report issues with the release > candidate. We aim to get the full release out before the end of the month. > > Please log any issues found during testing at: > > http://projects.reductivelabs.com/projects/puppet/issues/new > > Please select the Affected Version as 0.25.0rc1. > > Please email any other specific questions, comments or feedback to > the puppet-user list. > > What''s Changed? > - --------------- > > There are substantial changes in Puppet 0.25.0 and more changes to > come in the future. Most of the changes in 0.25.0 are internal > refactoring rather than behavioural. The 0.25.0 release should be > fully backwards compatible behaviourally with the 0.24.x branch. > > This means a 0.25.0 master will be able to manage 0.24.x clients. > You will need, however, to upgrade both your master and your clients > to take advantage of all the new features and the substantial gains > in performance offered by 0.25.0. > > The principal change is the introduction of Indirected REST to > replace XML-RPC as the underlying Puppet communications mechanism. > This is a staged change with some functions migrated in this release > and some in the next release. In the first stage of the Indirected > REST implementation the following functions have been migrated: > > - - Certificates > - - Catalogue > - - Reports > - - Files > > In 0.26.0 (the next release) the following remaining functions will > be migrated: > > - - Filebucket > - - Resource handler > - - Runner handler > - - Status handler > > The new REST implementation also comes with authorisation > configuration in a similar style to the namespaceauth used for > XML-RPC. This new authorisation is managed through the auth.conf > file (there is an example file in the conf directory of the > tarball). This does not yet fully replace the namespaceauth.conf > file but will when the remaining handlers are migrated to REST. It > works in a similar way to the namespaceauth.conf file and the > example file contains additional documentation. > > As a result of the introduction of REST and other changes you should > see substantial performance improvements in this release. These > particularly include improvements in: > > - - File serving > - - The performance of large graphs with lots of edges > - - Stored configuration (see also Puppet Queuing below) > > Other new features include (this is not a complete list - please see > the Roadmap for all tickets closed in this release): > > New Language Features > - --------------------- > > Regular expression matching is now possible in node definitions. > > node /web|db/ { > include blah > } > > node /^(foo|bar)\.example\.com$/ { > include blah > } > > Puppet now also allows regular expressions in if statements with the use > of the =~ (match) and !~ (not match) operators. > > if $uname =~ /Linux|Debian/ { > ... > } > > Also available are ephemeral variables ($0 to $9) in the current scope > which contain regex captures: > > if $uname =~ /(Linux|Debian)/ { > notice("this is a $1 system") > } > > Similar functionality is available in case and selector statements: > > $var = "foobar" > case $var { > "foo": { > notify { "got a foo": } > } > /(.*)bar$/: { > notify{ "hey we got a $1": } > } > } > > $val = $test ? { > /^match.*$/ => "matched", > default => "default" > } > > New functions > - ------------- > > There are three new functions: > > require - Similar to the include function but creates a dependency > on the required class in the current class. This means the required > class will be loaded before the current class is processed. > > split - allows you to split strings and arrays > > versioncmp - allows you to compare versions > > Command Line Compile & Apply > - ---------------------------- > > Puppet now has the capability to compile a catalogue and output it > in JSON from the Puppet master. You can do this via the --compile > command line option. > > # puppetmasterd --compile nodename > > Corresponding with this feature is the ability to apply a JSON > configuration from the puppet binary using the --apply option. > > # puppet --apply cataloguefile > > Or you can use - to read the JSON in from standard input. Puppet > will then compile and apply the configuration. > > Thin Stored Configuration > - ------------------------- > > 0.25.0 also introduces the concept of "thin" stored configurations. > This is a version of stored configuration that only stores the > facts and exported resources in the database. This will perform > better than full stored configuration but because not all resources > are available this may not suit all purposes. > > Thin stored configurations are initiated by setting the > thin_storeconfigs option on the Puppet master or on the > puppetmasterd command line using --thin_storedconfigs. > > Puppet Queuing > - --------------- > > There is a new binary called puppetqd that supports queuing for > stored configurations. You can read about how it works and how to > implement it at: > > http://reductivelabs.com/trac/puppet/wiki/UsingStoredConfiguration > > Further documentation is in the README.queuing file in the tarball. > > Application Controller > - ---------------------- > All the logic has been moved out of the binary commands and added to > an Application Controller. You can see the controller code at > lib/puppet/application.rb and the logic for each application at > lib/puppet/application/binaryname.rb. > > Binary Location Move > - -------------------- > To bring Puppet more in line with general packaging standards the > puppetd, puppetca, puppetrun, puppetmasterd, and puppetqd binaries > now reside in the sbin directory rather than the bin directory when > installed from the source package. > > Other features > - -------------- > > You can find a full list of the tickets closed thus far for version > 0.25.0 is at: > > http://projects.reductivelabs.com/versions/show/3 > > Regards > > James Turnbull > > - -- > Author of: > * Pro Linux Systems Administration > (http://tinyurl.com/linuxadmin) > * Pulling Strings with Puppet > (http://tinyurl.com/pupbook) > * Pro Nagios 2.0 > (http://tinyurl.com/pronagios) > * Hardening Linux > (http://tinyurl.com/hardeninglinux) > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkp3lFAACgkQ9hTGvAxC30A8EgCg092yK/YjzcYXsiLjU2nwk84D > okwAoI2sKqrOrHgjIi0hdK2EYjXlhykk > =ZD0W > -----END PGP SIGNATURE----- > > > >-- Nigel Kersten nigelk@google.com System Administrator Google, Inc. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Todd Zullinger
2009-Aug-05 05:00 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
James Turnbull wrote:> This is the rc1 release of Puppet 0.25.0.There are now packages for Fedora 10/11/rawhide and EL 4/5 in my testing repository at: http://tmz.fedorapeople.org/repo/puppet/ Please report any packaging or repository bugs to me and not to the Puppet or Fedora bug trackers. And be sure to report any non-packaging bugs to the Puppet bug tracker. :) (One repository bug I''ve noticed is that EL4 does not seem to like the rpm signing key I''ve been using. I don''t know if I just didn''t notice this before or if somehow I''ve managed to butcher the format of the key file. I am pretty sure it''s the former, as the changelog for rpm-4.4.2 says "permit gpg to be used for RSA signatures.") -- Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. -- Douglas Adams
Duncan Hill
2009-Aug-05 06:50 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
2009/8/4 James Turnbull <james@lovedthanlost.net>:> > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > This is the rc1 release of Puppet 0.25.0. > > It is available at: > > http://reductivelabs.com/downloads/puppet/puppet-0.25.0rc1.tar.gz > New Language Features > - --------------------- > > Regular expression matching is now possible in node definitions. > > node /web|db/ { > include blah > } > > node /^(foo|bar)\.example\.com$/ { > include blah > } > > Puppet now also allows regular expressions in if statements with the use > of the =~ (match) and !~ (not match) operators. > > if $uname =~ /Linux|Debian/ { > ... > }Woot! This solves a problem I''ve just created for myself (multiple servers that are all essentially identical other than their name and IP) in a much nicer method than I was using. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Eric Sorenson
2009-Aug-05 17:56 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
On Aug 3, 2009, at 8:29 PM, Nigel Kersten wrote:> And there''s a Mac pkg up here: > > https://sites.google.com/a/explanatorygap.net/puppet/Home/puppet_0.25.0-rc1.pkg.tar.bz2You could probably do this as easily as I did, but FWIW here''s a diff for macports. Index: dports/sysutils/puppet/Portfile ==================================================================--- dports/sysutils/puppet/Portfile (revision 54921) +++ dports/sysutils/puppet/Portfile (working copy) @@ -4,7 +4,7 @@ PortSystem 1.0 name puppet -version 0.24.8 +version 0.25.0rc1 categories sysutils maintainers explanatorygap.net:nigel @@ -21,11 +21,11 @@ master_sites http://reductivelabs.com/downloads/puppet/ -extract.suffix .tgz +extract.suffix .tar.gz -checksums md5 288d46dee00acad64d0f3ecc6d8ba6fa \ - sha1 a871aef6f3e8e060f5109bb022967066e32875be \ - rmd160 edb187da9225c9faee9839a5d644b5c9c91f3d5f +checksums md5 fbb08deb34df3c227f3dc521a4bfd15b \ + sha1 159fd33368727a2b090c300414fbdd847c159ec2 \ + rmd160 aae58abf32210a85be6c8d0b1936d1118d837d7b depends_lib port:ruby \ port:facter --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Nigel Kersten
2009-Aug-05 18:50 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
On Wed, Aug 5, 2009 at 10:56 AM, Eric Sorenson<ahpook@gmail.com> wrote:> > On Aug 3, 2009, at 8:29 PM, Nigel Kersten wrote: > >> And there''s a Mac pkg up here: >> >> >> https://sites.google.com/a/explanatorygap.net/puppet/Home/puppet_0.25.0-rc1.pkg.tar.bz2 > > You could probably do this as easily as I did, but FWIW here''s a diff for > macports.Oh cool. Thanks Eric. I started working on variant to submit upstream instead, but then decided against it.> > > Index: dports/sysutils/puppet/Portfile > ==================================================================> --- dports/sysutils/puppet/Portfile (revision 54921) > +++ dports/sysutils/puppet/Portfile (working copy) > @@ -4,7 +4,7 @@ > PortSystem 1.0 > > name puppet > -version 0.24.8 > +version 0.25.0rc1 > categories sysutils > maintainers explanatorygap.net:nigel > > @@ -21,11 +21,11 @@ > > master_sites http://reductivelabs.com/downloads/puppet/ > > -extract.suffix .tgz > +extract.suffix .tar.gz > > -checksums md5 288d46dee00acad64d0f3ecc6d8ba6fa \ > - sha1 a871aef6f3e8e060f5109bb022967066e32875be \ > - rmd160 edb187da9225c9faee9839a5d644b5c9c91f3d5f > +checksums md5 fbb08deb34df3c227f3dc521a4bfd15b \ > + sha1 159fd33368727a2b090c300414fbdd847c159ec2 \ > + rmd160 aae58abf32210a85be6c8d0b1936d1118d837d7b > > depends_lib port:ruby \ > port:facter > >-- Nigel Kersten nigelk@google.com System Administrator Google, Inc. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Stig Sandbeck Mathisen
2009-Aug-07 10:27 UTC
[Puppet Users] Re: ANNOUNCE: 0.25.0 Release Candidate 1 is out!
James Turnbull <james@lovedthanlost.net> writes:> This is the rc1 release of Puppet 0.25.0. > > It is available at: > > http://reductivelabs.com/downloads/puppet/puppet-0.25.0rc1.tar.gz > > This is not production ready code (almost though!) - it is a release > candidate for testing.There are now packages of puppet 0.25.0rc1 for Debian stable (lenny) available in my repository at: http://people.debian.org/~ssm/puppet/ Please report any packaging or repository bugs to me, and not to the Debian bug tracker. Please report any non-packaging bugs to the Puppet bug tracker. Apt source: deb http://people.debian.org/~ssm/puppet/ lenny/all/ -- Stig Sandbeck Mathisen