What's new in Puppet since 2007?
I've got a copy of the Pulling Strings with Puppet book (written in 2007) but given that it has a bunch of equivocal language, I'm wonder how much has changed since then? I've found this Release Notes page and a (short) summery table at the top of the language tutorial but neither have dates, so I don't know where to start (and the more detailed notes make for rather dry reading).
Does anyone know of a page that list thing that have changed since that book was published?
Solution 1:
The main user-visible differences since 0.23.x are:
- more language features like better conditionals - the Language Tutorial that you found is definitely the best way to find out what's available in manifests now.
- all your manifests and plugins (custom facts, custom types and providers) should now be in a module directory structure and you should be using 'include mymodule::classname' instead of 'import /path/to/manifest.pp'
- as a corollary,
puppet://
URLS for file sources now need to have the module path in them, likepuppet:///modules/mymodule/classname/file.txt
would live on the filesystem at_modulepath_/mymodule/files/classname/file.txt
- the CLI has been unified to a 'git' or 'svn' style single program with command arguments, like 'puppet agent' instead of a separate 'puppetd'. That's described on the Tools page
- there are more built-in types and providers available, like the
yumrepo
, andzfs
types, andzypper
,freebsd
,portage
package providers.
There are big structural changes under the hood (on-the-wire communication moved from XMLRPC to a REST interface) but they're mostly invisible for every day use. The ones above are probably what trip up the most people, based on mailing list/irc inquiries.
Solution 2:
See the Changelog. There were quite a few updates in the past months.