At long last, 0.24.0 has been released. Look for your friendly
packagers to package it up in the near future, but in the meantime
you can download it:
http://reductivelabs.com/downloads/puppet/puppet-0.24.0.tgz
I''ll be walking the different release sites (RubyForge et al) and
posting it there, too.
Look for a related announcement later today on changes in development
practices in hopes that we don''t ever have this kind of lengthy delay
again.
The changelog is quite large, but not necessarily for human
consumption (and it looks like I wasn''t quite as good at maintaining
it as I''d thought). Other than bug fixes, this release was mostly
about internal development rather than user-exposed features, so you
might be surprised at how little is different from the outside. Here
is a summary of the major features in this release:
- Added support for an AltSubjectName in certificates (#896), to
accomodate the recent update to Ruby that validates the server''s
certificate name against its DNS name. By default, the server has
''puppet'' and ''puppet.$domain'' added as
aliases in the certificate,
and you can use the ''dnscertnames'' to create other
(replacement, not
additional) aliases for any host when signing.
- Refactored interface support significantly.
- Added a k5login type for managing kerberos logins.
- Added a show_diff option to show the differences between files
being replaced; this option is enabled by default when running with --
test or --noop.
- Replaced the internal graph library with a much faster one, and
started using graphs in more places. This should not be noticeable
by users, but I can tell. :)
- Added a dynamic ''plugins'' mount akin to the
''modules'' mount, making
it easy to copy all Ruby code from all modules to your clients. Just
enable ''pluginsync'' on the clients and your clients will get
any
custom types, providers, or facts before they start their
configuration run.
- Modifying how external node support works. You must now specify
the node_terminus setting, which obsoletes the ldapnodes setting.
You must use ''exec'' as the node_terminus if you are using
external
nodes, and you must still specify the path to the external nodes
command in ''external_nodes''. See the
wiki:IndirectionReference for
more information.
- Puppet now supports multiple environments. You must specify all
valid environments using the ''environments'' setting (comma-
separated), and the default environment is ''development''. You
can
provide any environment-specific settings in your puppet.conf (but
not the old-style puppetd.conf) by putting the settings in a section
named after the environment, but generally speaking only the
modulepath, manifest, and templatedir will have much affect at this
point. See the wiki:UsingMultipleEnvironments page for more
information.
- Added an internal ''catalog'' class to manage resource
collections.
This will be an important internal class going forward, as it
encapsulates a lot of the functionality around managing sets of
resources, which obviously kind of matters, but again it will likely
not be exposed much to users.
- Laid the groundwork for the move to REST -- all the plumbing is
there, it''s just a question of execution. See you in 0.25.0. :)
Just about everything else had a bug ticket associated with it, so
you should be able to look through the changelog[1] or the closed
tickets associated with misspiggy[2] to see what''s in this release
(note that there are 91 closed tickets associated with misspiggy, in
case you''re wondering what took this release so long).
As always, please wait at least 24 hours before filing any bugs
against this release. :)
Also, I''ve mentioned this on the list, but I fully expect to have a
0.24.1 release out within the next few weeks. I''m not so naïve as to
think there won''t be important bugs in this release, so please
don''t
just upgrade your whole infrastructure without testing, and please do
file bugs you find -- just not today.
Again, look for an announcement of changes to development practice
today, also.
1 - http://reductivelabs.com/trac/puppet/browser/CHANGELOG
2 - http://reductivelabs.com/trac/puppet/query?
milestone=misspiggy&order=priority
--
Learning is not attained by chance, it must be sought for with
ardor and
attended to with diligence. -- Abigail Adams
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com