Welcome back again to the Puppet release cycle with the long-awaited
eleventy times better 2.6.0rc1 release!

The 2.6.0 release is a major feature release and includes a huge variety
of new features, fixes, updates and enhancements.  These include the
complete cut-over from XMLRPC to the REST API, numerous language
enhancements, a complete rewrite of the events and reporting system, an
internal Ruby DSL, a single binary, a new HTTP report processor, and a
myriad of other enhancements.

As a result of the bucket-load of new features and enhancements we also
need lots of help testing it.  Please run up the release candidate in
your test environment or using VMs and test it as extensively as
possible.

We've include release notes below that you can also see at:

http://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes

The release candidate is available for download at:

http://puppetlabs.com/downloads/puppet/puppet-2.6.0rc1.tar.gz

Please note that all final releases of Puppet are signed with the
Puppet Labs key (we'll sign the production release with the new,
improved Puppet Labs key).

See the Verifying Puppet Download section at
http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet

Please test this release candidate and report feedback via the
Puppet Labs Redmine site:

http://projects.puppetlabs.com

Please select an affected version of 2.6.0rc1.

RELEASE NOTES

Language

Support for parameterised classes

The 2.6.0 release provides an extension to the existing class syntax to
allow parameters to be passed to classes. This brings classes more in
line with definitions, with the significant difference that definitions
have multiple instances whilst classes remain singletons.

To create a class with parameters you can now specify:

class apache($version) {
... class contents ...
}

Classes with parameters are NOT added using the include function but
rather the resulting class can then be included more like a definition:

node webserver {
    class { apache: version => "1.3.13" }
}

Like definitions, you can also specify default parameter values in your
class like so:

class apache($version="1.3.13",$home="/var/www") {
... class contents ...
}

New relationship syntax

You can now specify relationships directly in the language:

File[/foo] -> Service[bar]

Specifies a normal dependency while:

File[/foo] ~> Service[bar]

Specifies a subscription.

You can also do relationship chaining, specifying multiple relationships
on a single line:

File[/foo] -> Package[baz] -> Service[bar]

Note that while it’s confusing, you don’t have to have all of the arrows
be the same direction:

File[/foo] -> Service[bar] <~ Package[baz]

This can provide some succinctness at the cost of readability.

You can also specify full resources, rather than just resource references:

file { "/foo": ensure => present } -> package { bar: ensure => installed }

But wait! There’s more! You can also specify a subscription on either
side of the relationship marker:

yumrepo { foo: .... }
package { bar: provider => yum, ... }
Yumrepo <| |> -> Package <| provider == yum |>

This, finally, provides easy many to many relationships in Puppet, but
it also opens the door to massive dependency cycles. This last feature
is a very powerful stick, and you can considerably hurt yourself with it.

Run Stages

Run Stages are a way for you to provide coarse-grained ordering in your
manifests without having to specify relationships to every resource you
want in a given order. It’s most useful for setup work that needs to be
done before the vast majority of your catalog even works – things like
configuring yum repositories so your package installs work.

Run Stages are currently (intentionally) a bit limited – you can only
put entire classes into a run stage, you can’t put individual resources
there.

There’s a main stage that resources all exist in by default; if you
don’t use run stages, everything’s in this, but it doesn’t matter to
you. You can define new stages via the new stage resource type:

stage { pre: before => Stage[main] }

Here we’ve used the before metaparameter but you could also use after,
require, etc to establish the necessary relationships between stages.

Now you just specify that your class belongs in your new run stage:

class yum { ... }
class redhat {
  ...
  class { yum: stage => pre }
}

This will make sure that all of the resources in the yum are applied
before the main stage is applied.

Note that we’re using the new parameterized classes here – this is
necessary because of the class-level limitations of Run Stages. These
limitations are present because of the complication of trying to
untangle resource dependencies across stage boundaries if we allowed
arbitrary resources to specify stages.

On a related note, if you specify a stage for a given class, you should
specify as few as possible explicit relationships to or from that class.
Otherwise you risk a greater chance of dependency cycles.

This can all be visualized relatively easily using the —graph option to
puppetd and opening the graphs in OmniGraffle or GraphViz.

Specifying the ordering of Run Stages also works much better when
specified using the new relationship syntax, too:

stage { [pre, post]: }
Stage[pre] -> Stage[main] -> Stage[post]

This way it’s very easy to see at a glance exactly how the stages are
ordered.

Support for hashes in the DSL

This brings a new container syntax to the Puppet DSL: hashes.

Hashes are defined like Ruby Hashes:

{ key1 => val1, ... }

The Hash keys are strings but hash values can be any possible right
values admitted in Puppet DSL (i.e. a function call or a variable)

Currently it is possible:

* to assign hashes to a variable
$myhash = { key1 => "myval", key2 => $b }

* to access hash members (recursively) from a variable containing a hash
(works for array too):

$myhash = { key => { subkey => "b" }}
notice($myhash[key][subkey]]

* to use hash member access as resource title

* to use hash in default definition parameter or resource parameter if
the type supports it (known for the moment).

It is not possible to string interpolate an hash access. If it proves to
be an issue it can be added or worked around with a string concatenation
operator easily.

It is not possible to use an hash as a resource title. This might be
possible once we support compound resource title.

Support for an elsif syntax

Allows use of an elsif construct:

  if $server == 'mongrel' {
      include mongrel
  } elsif $server == 'nginx' {
      include nginx
  } else {
      include thin
  }

Case and Selectors now support undef

The case and selector statements now support the undef syntax (see #2818).

Pure Ruby Manifests

Puppet now supports pure Ruby manifests as equivalent to Puppet’s custom
language. That is, you can now have Ruby programs along side your Puppet
manifests. As is our custom, it’s a limited first version, but it covers
most of the specification functionality of the current language. For
instance, here’s a simple ssh class:

hostclass :ssh do
  package "ssh", :ensure => :present
  file "/etc/ssh/sshd_config", :source => "puppet:///ssh/sshd_config",
:require => "Package[ssh]"
  service :sshd, :ensure => :running, :require =>
"File[/etc/ssh/sshd_config]"
end

Similar to the ‘hostclass’ construct here, you can specify defined
resource types:

define "apache::vhost", :ip, :docroot, :modperl => false do
  file "/etc/apache2/sites-enabled/#...@name}.conf", :content =>
template("apache/vhost.erb")
end

As you can see from this code, the parameters for the resources become
instance variables inside of the defined resource types (and classes,
now that we support parameterized classes).

We can do nodes, too:

node “mynode” do
  include “apache”
end

Ruby has become a first-class citizen alongside the existing external
DSL. That means anywhere you can put a manifest, you should be able to
put Ruby code and have it behave equivalently. So, the ‘ssh’ class above
could be put into ‘$modules/ssh/manifests/init.rb’, the apache vhost
type should be placed in ‘$modules/apache/manifests/vhost.rb’, and the
node should probably be in your ‘site.pp’ file.

You can also apply Ruby manifests directly with puppet:

puppet -e mystuff.rb

Note that the Ruby support does not yet cover all of the functionality
in Puppet’s language. For instance, there is not yet support for
overrides or defaults, nor for resource collections. Virtual and
exported resources are done using a separate method:

virtual file("/my/file", :content => "something")

All of the standard functions are also pulled into Ruby and should work
fine — e.g., ‘include’, ‘template’, and ‘require’.

Stored Configuration

Support is now added for using Oracle databases as a back-end for your
stored configuration.

Facts

There are three new facts available in manifests:

$clientcert – the name of the client certificate
$module_name – the name of the current module (see #1545)
$caller_module_name – the name of the calling module (see #1545)

In addition all puppet.conf configuration items are now available as
facts in your manifests. These can be accessed using the structure:

$settings::setting_name

Where setting_name is the name of the configuration option you’d like to
retrieve.

Types and Providers

A new provider for pkg has been added to support Solaris and OpenSolaris
(pkgadd).

A new package provider has been added to support AIX package management.

The augeas type has added the ‘incl’ and ‘lens’ parameters. These
parameters allow loading a file anywhere on the filesystem; using them
also greatly speeds up processing the resource.

Binaries and Configuration

Single Binary

Puppet is now available as a single binary with sub-arguments for the
functions previously provided by the seperate binaries (the existing
binaries remain for backwards compatibility). This includes renaming
several Puppet functions to better fit an overall model.

List of binary changes

puppetmasterd –> puppet master
puppetd –> puppet agent
puppet –> puppet apply
puppetca –> puppet cert
ralsh –> puppet resource
puppetrun –> puppet kick
puppetqd –> puppet queue
filebucket –> puppet filebucket
puppetdoc –> puppet doc
pi –> puppet describe

This also results in a change in the puppet.conf configuration file.
The sections, previously things like [puppetd], now should be renamed to
match the new binary names.  So [puppetd] becomes [agent].  You will be
prompted to do this when you start Puppet with a log message for each
section that needs to be renamed.  This is merely a warning - existing
configuration file will work unchanged.

New options

A new option is available, ca_name, to specify the name to use for the
Certificate Authority certificate. It defaults to the value of the
certname option (see http://projects.reductivelabs.com/issues/1507).

A new option, dbconnections, is now available that specifies a limit for
the number of database connections made to remote databases (postgreSQL,
MySQL).

A new option, dbport, is now available that specifies the database port
for remote database connections.

Binary changes

The puppetd (or puppet agent) binary now supports the
--detailed-exitcodes option available in the puppet binary.

Certificates cleaned with puppetca (or puppet cert) are now also revoked.

The puppetca (puppet cert) and puppetd (puppet agent) binaries now have
support for certificate fingerprinting and support for specifying digest
algorithms. To display the fingerprint of a client certificate use:

$ puppetd --fingerprint

or

$ puppet agent --fingerprint

To specify a particular digest algorithm use --digest DIGESTNAME.

To fingerprint a certificate with puppetca use:

$ puppetca --fingerprint host.example.com

or

$ puppet cert --fingerprint host.example.com

Also supported is the --digest option.

The puppetdoc binary now documents inheritance between nodes, shows
classes added via the require function and resources added via the
realize function.

Functions

The regsubst function now takes arrays as input (see #2491).

Reports

There is a new report type called http. If you specify:

reports = http

Then the new report processor will make a HTTP POST of the report in
YAML format to a specified URL. By default this URL is the report import
URL for a local Puppet Dashboard installation. You can override this
with the new reporturl setting.

reports = http
reporturl = http://yoururl/post/

CHANGELOG

3180b9d  Code smell: Two space indentation
5432259  Code smell: Avoid needless decorations
8f15707  Code smell: Don't restate results directly after assignment
c3e2353  Code smell: Use &&= for dependent initialization
42a5390  Code smell: Use ||= for conditional initialization
a07bbe2  Code smell: Omit needless checks on defined
07b15bf  Code smell: Avoid unneeded blocks
8d1fbe4  Code smell: Avoid explicit returns
889158a  Code smell: Booleans are first class values.
81e283b  Code smell: Line modifiers are preferred to one-line blocks.
e8cf063  Code smell: Use string interpolation
eefccf2  Code smell: English names for special globals rather than
line-noise
184132e  Code smell: Use {} for % notation delimiters wherever practical
9ee56f2  Code smell: Inconsistent indentation and related formatting issues
051bd98  Code smell: Miscellaneous oddity removal
77f8599  Code smell: Win32 --> MS_windows
3fbc1d5  Updated GPG rake signing task for new Puppet Labs key
94fa5d5  [#4182] show_diff was broken for streamed file contents
7009704  Fix for #4117 "Storing newly-audited value" messages
9cf9788  Manifests with variables were broken when read from STDIN to
puppet apply
835f73c  Use the name in the search path for looking for metadata
5bab997  maint:rename resource_type to define in internal dsl
654b564  [#4198] Require 'fileutils' everywhere FileUtils is used
a07af2b  [#4196] Move the docs into the source directory structure
3c00591  Fix for #4178 - generalize autoloading to include .rb
cea2e5b  [#3582] Remove assumption that Puppet.settings would return
values of a consistent type
c58e420  [#4180] Support legacy module structure
b4593f2  Update RDoc parser to reflect change of custom plugin and fact
locations
dda165a  Fixed #4180 - Updated old module structure to match correct default
1715f3a  [#2730] mount ensure present shouldn't unmount
a282cc3  Fixed subscribe example
2353115  Fix for environments in startup script. - Dropped the forced
--manifest switch in the   sus
e startup script to allow for environments   to re-define this.
Otherwise, environments will   not w
ork as puppet override configuration with   command line arguments.
cfca62b  Redmine: 2474 - Fix for mount fstype documentation
3ff38df  Fix for #4137 -- Oracle needs text for strings > 255
62dbae5  Fix for #2807 Puppet settings available as variables
a5fc364  [#4161] RDoc fails to parse some of our ruby syntax
b7e2580  [#3169] Adds more debugging to SSL cert verification
70af43f  Fix for #4167 -- overriding file permissions in conf file
2c88884  [#4114] Fixes test failures caused by previous 4114 fixes
4a6428b  saving work for my unit tests. The redhat one still fails...
1e0d922  [4123] - allows self.instances to correctly report state of
services.
8d3ced5  created init provider method self.get_services which accepts an
array of filenames to exclu
de when processing defpath.
cdd4382  [#4114] Fix failures in the unit tests
e419293  [#4114] Added queueing to the log
4b00c6a  [#4110] Wrap Type#retrieve calls for backwards compatibility
5f8a242  Fix for #4120 No namevar running puppet doc -r type
6ac36eb  [#2370] Allow OpenBSD to add packages with versions and flavors
45a9f37  [#4108] Changed missing Application constant error
a0ea74b  [#4149] Don't create two Resource::TypeCollections
7978be5  [#3906] Fixed missing constant Puppet::Rails when using
storeconfigs
fb6f2aa  [#4136] Specs should listen on localhost
6d4be90  [#3961] Part two: --destroy should also be local
0598f35  Fix for #4148 (2.6 is greater than 0.25.x)
5971898  Fix for #4142 stray use of JSON instead of PSON
74e5bdc  [#3172] Fix the arguments to Application::Kick.new, which I had
broken
4f06e9e  Maint: Explicitly put test sqlite files in a temp directory
84a9412  maint: fix stub failure in report_spec.rb
1f48d68  maint: fix stub failures in report_spec.rb
bee843a  maint: fix stubbing in package_spec.rb
528b915  maint: fix stubs in transaction_spec.rb
37277a5  maint: fix stubbing in catalog_spec.rb
ea55e83  Maint: Improve the speed of setting settings.
7c7f6da  maint: file_spec heisenbugs
d6d726b  Heisenbug: settings as catalog trying to create directories
e579aab  maint: spec_helper should reset settings directories on *every*
test
298a764  maint: Remove a heisentest that wasn't testing what it claimed
b389392  maint: spec_helper should only get loaded once
3304068  maint: :mutable_defaults to improve spec consistency
08b49c6  [#4090] Fix the run_mode for certs and put tests on the
applications to assert their run_mo
de
e318db6  [#4059] fix the specs to correctly mock the
Puppet::Resource.new call signature
ab3d27c  [#4059] Minor errors preventing ralsh from running
59bf5e4  [#2713] Enable ELSIF
ebd0311  [#3172] puppet kick can take hostnames as bare arguments
697508d  [#4108] Missing constants fail deliberately and with a message
2639a56  [#4092] Changed notify message to defined instead of changed
223157d  Fix for #4091 -- require loop in executables
174e02a  [#4090] Change how RunMode instances are created so that an
object for each RunMode is only
 created once instead of every time it's called
62e3b61  [#4090] Fix last few tests and renames of mode to run_mode
2a25883  [#4090] Git rid of the idea that run_mode is a configurable
option with defaults
75e0662  [#4090] Rename mode (:master, :agent, :user) to run_mode
3cd48d8  [#4089] Replace internal usage of :check with :audit
e848d41  [#3961] puppet cert --generate implies ca_location = :local
255628e  [#3961] Rename cert's @mode to @cert_mode to reduce confusion
b2bd05d  maint:  Confine a test that depends on sqlite
fdc8c35  [#3994-part 3] rename spec tests from *_spec_spec to *_spec.rb
9a94ee2  Fix for test ordering sporadic failure
9ceb454  [#3994-part 2] rename integration tests to *_spec.rb
06dffc1  maint: A test specified that a file wasn't writeable, but was
writeable when run as root, w
hich caused the test to fail.  Changing the test so that a directory is
in place of the writeable fi
le so not even root can write to it.
2baf74e  maint: Fixes some noisy specs
0aae5a7  maint: Fixing tests that fail when run as root
0fa10a6  Cleaning up various warnings in specs
2ab123f  Removing obsolete nodescope concept
153d7cd  Fix #3665 - part 2, node inheritance fixes
dd4fa66  Fix failing tests in spec/unit/resources/type.rb
770a8ea  Fix #3665 - main class shouldn't be a subscope of itself
76953d8  maint: Fixes broken order-dependent Tidy specs
9afc67a  Fix for pre 1.8.7 compatibility in namvar patch
d62a391  Breaking require-loop
b4af238  Fix for #3985 typo causing warning
9169ef0  Fix: puppet apply trying to use XMLRPC constant
af41beb  Remove an old test that had been unintentionally reintroduced
by a mistake in a conflict re
solution
6a8e6fe  Tweak an old test due to new error handling.
5f53bfa  Restore error handling for value=
e817ad1  Fix tests broken by level-violation fix
e5478d4  Simplify the newattr method by removing a level violation
4ef40b8  maint: Rework testing of Reports http processor to be self
contained
edfcbf9  [#3139] Fixed a problem with the value method for parameters
61e978b  [#3139] Fixed a broken integration spec in type tidy
cf9bcad  maint: Fixing test to reflect that host environment assignment
now takes an object instead
of a string
c70c96b  Fix some tests broken by changing the call to newattr
a72fb14  Fixing oversensitive test
15004f3  maint: Fix failing test that needed more methods stubbed
60932e1  Fixed require warning documentation
6fcb87d  Fixed mcx documentation error
15ae389  Documentation fixes
f95169b  [#4006] Fix test failures caused by reverting ticket 2890
b5572ae  Bug 3731. Applied Fix suggested by Doug Warner to always
flatten out the array
117e6b6  maint: Have 'rake spec' output in color
a7e4fe8  [#3810] Do not create a reports settings block
db44a32  Tweak for fix for #1175 to fix test failures
3bd6f11  maint: Fixing a test typo s/stub/stubs/
ebc3e78  maint: Fixing a failing spec by stubbing a method on a stubbed
object that should have been
 stubbed.
3b4d33c  remove tests for removed code
c8089f1  [#2646] Fixes the change to onetime made in b96cd6c
4bf6950  [#3139] Make newattr idempotent
51b70c0  [#3994] rename the specs to have _spec.rb at the end
9958c80  [#4064]  Modify the Rails spec to use the block form of confine
af8bd77  [#4064]  Modify confine to also allow a message and a block
containing the test.
182c003  Fixing #3988 - adding support for watchr
3a44f0e  Fix #3932 - Add --charset to puppetdoc for RDoc mode
fb5c1d7  Fix #3907 - Hash couldn't be initialized with an empty hash
9592dd8  Fix #3871 - Add the 'in' operator
3696d95  [#3865] External subcommands
0fc41ae  [#3802] Replace rug with zypper
dc1a977  [#3766] Remove YAML fixups
e0e6b64  Provides #3723. Add ability for execs to have several attempts
at a successful execution an
d fix minor bug with logoutput and returns as an array..
c8ca19a  [#3674] Make sure that failing to load a feature isn't fatal
2a73b5d  [#3674] Part 2: Autoloader load method should propagate failures
7952af5  [#3674] Autoloader should propagate failures
f35c59f  Fix #3667 - Fix class namespace
938fbe9  Removing obsolete nodescope concept
49cf2f2  Fixing #3651 failing to pop comment stack for some constructs
0dd4201  Fixing #3072 - Resource generation is recursive
b96cd6c  Fixes #2646. Move onetime option from the agent to global
defaults so we can specify it in
the config file.
0a21e1b  [#2522] authorized keys owner is verified
738802e  Fixing #2337 - Adding 'freeze_main' setting
50a626d  Fixing #1545 - Adding 'caller_module_name' variable
5d1934b  Fixing #1545 - module_name is now a variable
bba45f1  [#4055] Confine CouchDB-related specs to the couchdb feature
1c5b67d  [#4055] Refactor of abstract Couch terminus, more specs
432db25  [#4055] Add CouchDB terminus for facts
35636e9  [#3921] Fix typo "fact_terminus" -> "facts_terminus"
45ca669  Targeted fix for #3851
c00285c  [#3810] Add http reports processor and `reporturl` setting
1d49def  [#3804] Fixed one failing spec for RackREST
1e89bff  Fixes #3514 - CR/LF line ending in puppet.conf cause silent failure
e6709da  [#3409] fix test failures from ldap environment patch
a7884b4  [#3409] environment is not checked when nodes are in ldap
c75b219  Fixes #3395 - CR+LF line endings in manifests cause syntax error
8b127b1  [#3388] Setting host_aliases from [] to [] no longer results in
any changes
be7112a  Fixing #3139 - all properties can now be audited
986298b  Working #3139 - Adding Settings.clear Spec#after
32f6a9d  Working #3139 - Removing Property#checkable
58cf8d9  Working #3139 - Catalogs default to host_config
8f3e8bb  Working #3139 - ResourceHarness does caching
d6407f4  Working #3139 - removing obsolete checking in Storage
0b95a85  Working #3139 - scheduling moved to resource harness
4627b8f  Improving fix for #1175; tightening thread safety
ccc869e  Part 2 of fix for #1175 (functions in environments)
7c6b883  [#1621] Composite keys for resources
2396eba  Use the 'root' feature rather than directly checking the uid
8128311  fix tests to reflect methods moved from type/file/owner to
provider/file/posix
28702a4  variable name error in refactor
19c70b5  Remove over-eager error branch in a complicated If
09881cf  Confine out a lib that puppet was failing to load on non-win32
d72fd9d  Confine out tests that fail on unix
d1b86ec  Behavior change for //UNC_Paths broke an old test
ba506c1  Resolving conflicts with jes5199:ticket/master/2935-settings-mode
f15a324  Fix Exec type
86bd838  Move syslog into a feature
fc92408  Adapt Util::Storage specs and avoid trying to lock on directories
58100ed  Relax path qualification check on FileServing::Fileset
1c016a1  Implement quoting on the exec commands and repair specs
6a92894  Avoid trying to symlink() on windows
47c9dd1  Implement "forking" for Windows
c59d864  Avoid non-win32 signals on win32 runtime
bbba9f9  Avoid trying to set uid/gid on windows
a90bcb0  Start extracting the owner managment for files into providers
b51be28  Expand file type to be able to handle Win32 and UNC paths
17a9ad1  Updated version to 2.6.0
a2e809b  Fixed RSpec deprecation notice in lexer tests
f054d5b  Make specs work on win32
54c4538  Delete tempfiles on win32
97c043f  Fix path handling
f80b4c7  Print stacktraces if requested
1d98e67  Adapt defaults to Win32 environment
ea9bb49  More win32? feature def
1645d8e  Define posix and win32 features
b3aa3ec  Improve error message
d67f60f  Fix ProviderDpkg specs to avoid any real executions
e119b04  Avoid setting the timeout before we know which timeout we
should set.
d40e6d4  Bug: tidy specs need FileBucket::Dipper
a6b52bb  Avoid trying to lock on non-files
533ef68  Removing obsolete FCollection stub from Functions
bc90df6  Functions are added to a module instead of Scope
17e40e7  Slightly restructuring "Functions" file
9d0a38e  [#3921] Add facts_terminus setting to Puppet settings
2874729  [#3921] Remove unnecessary require 'puppet/resource'
58a3d27  Fix for #3949 and related
b755f7f  Fixed #3912 - Added client certificate name as an internal fact
called "clientcert"
b5f14c6  {#3866] Rename the method metaclass to singleton_class to avoid
the deprecation warnings fr
om Rails ActiveSupport
2b5bd49  Fixing #3822 - checksums will be loaded from filebuckets
94390de  foo
3b7aac5  For #3822 - Reducing checksum code duplication
ca7b166  Fixed unsupported perlstyle regex and few other minor bugs
85f2565  Signed-off-by: Ross West <we...@connection.ca>
a4eb5d5  Signed-off-by: Ross West <we...@connection.ca>
970fd87  Fixing #3791 - client environment is used
cce63d8  Bug #3748 LDAP group membership
4ba3dc2  Fixing #2655 - Adding default parameter values to resources
20a74bc  Refactoring tests - replacing stubs with instances
b5db33b  Fix for 3664: interpolating qualified variables.
9ddee72  Fix #3664 - qualified variable parsing in string interpolation
a32381e  Feature #2935 remove misleading comment
5937af4  Feature #2935 Unify the codepaths for setting settings
b7d387e  Feature #2935 Puppet[:mode] and Puppet[:name] are read-only
342298c  Bug: Broken codepath in util/settings
6d5566a  Feature #2935 settings are in Mode sections instead of
executable names
9536723  Feature #2935: method extract require_application
c338fef  Feature #2935: Test for if we're "puppet cert"
cbb2802  Code cleanup: remove "self." from setdefaults
37a5530  Feature #2935 Modes: root? predicate
ac7efc8  Feature #2935 Puppet::Mode#master?
5665e39  Feature #2276 Single Executable: Update docstrings
fc29049  feature #2276 Single Executable: use new names for settings
sections
631552c  Feature #2935: Applications should declare modes
8f4d644  Feature #2935: lazify require graph for applications
6b26a7c  Feature #2935: Puppet::Mode
b65d1af  Feature #2276 Single Executable: usage message
76304f8  feature #2276 Single Executable: move CommandLine methods
e9627a0  Fixing #2658 - adding backward compatibility for 0.24
61a719f  Adding #2658 - Adding support for run stages
d13f8ac  Fixing #3671 - --compile Catalogs are pretty-printed
89e8745  Fixing #2655 - Adding default parameter values to resources
edcf429  Refactoring tests - replacing stubs with instances
3dfb762  Fixing Catalog conversion
0d4fd60  Fixing #1903 - metaparam inheritance is much faster
047ebfe  Fixing Parser::Resource param validation
2fae0bd  Fixes #1999 - Allows the 'apt' provider to downgrade packages.
b10d35d  Fixes #3745 Catch unhandled exception in ssh_authorized_key
provider
584961a  Fixed #3721 - Removed -u option from crontab on HP-UX
a15a70c  Fixing tests broken by conceptual merge conflicts
5988f76  Fixes #3663 - It should be possible to list signed hosts only
2c153b1  Fixing #448 - relationships have their own syntax
052f98f  Fix #3408 - enable puppetd http compression
3eaf69c  Fix for conflict between fileserving streams and none-checksums
2cf7222  Fix #3373 - Client side file streaming
ee5d7f1  Add master side file content streaming
63c122f  Fixing tests broken by Luke's CRL flag patch.
91e6022  Fixes incorrect line in partial CRL fix
379bda0  WIP - trying to fix #3460
3947574  Updated Template documentation link
5fd6e54  Change the main spec to an apply spec
009629f  Feature #2276 Single Executable: usage message
5b64d3b  feature #2276 Single Executable: optparser should get
CommandLine#args instead of ARGV
5683fd9  Feature #2276 Single Executable: Pass a commandline object to
the application
d038a1d  Refactor #3706 Reify eigenclasses of Applications
7656ba7  feature #2276 Single Executable: CommandLine can be instantiated
63e2e56  feature #2276 Single Executable: subcommand method
b6e2ce6  feature #2276 Single Executable: help info
b073722  feature #2276 Single Executable: help for apply
bfad735  feature #2276 Single Executable: rdoc paths on ubuntu
7103378  feature #2276 Single Executable: legacy settings
54c1cc5  feature #2276 Single Executable: "puppet describe"
c79b228  feature #2276 Single Executable: "puppet kick"
6bdda8c  feature #2276 Single Executable: "puppet cert"
f9783fc  feature #2276 Single Executable: "puppet master"
1d8bd0d  Fix #3552 single executable should display usage
722a27f  Fixes #3702: the 'log' report now sends the host name as the
log source again.
ddd40bb  Fix for #3690 failing to calculate error codes
d61a69a  Fixing #3668 - fixed autoloading classes from modules
f66095d  Fix #3656 JSON serialization of dependencies
f0a0084  Fixes #3582 - Adds dbport configuration option for specifying
database port
8b99367  Adding indirector support to Resource Types
748aed9  Fix #3552 single executable should display usage
eafde5c  Added support for flat packages in the pkgdmg package provider.
Added a test in: ./spec/uni
t/provider/package/pkgdmg.rb
c9e3d75  Fix: the rcvar name is not necessarily the same as the service
name. (More and more I get t
he feeling that FreeBSD's rc system is totally unsuitable for Puppet.
What about porting Upstart or
SMF to FreeBSD ... ?)
861c177  Added proper status command
5f72eb9  Re-included old BSD service provider, made new one default for
FreeBSD
c3cd24b  Rewrote FreeBSD service provider
1250f80  Fixed documentation issues exposed in #3772
211782f  Updated CHANGELOG for 0.25.5rc3
7c59acf  Renamed all references to Reductive Labs to Puppet Labs
e82f5de  Fix for #3107 Changing users on AIX
44f1465  Fixing #2864 Added support for AIX System Resource Controller
(SRC) - service start stop
02ed8db  Fixes #2836. Add hold support to dpkg provider
0f2d3ce  Fixes #1223 Add Zypper support for SuSE machines
a166d50  Fix for #3399 zone type should handle exclusive IP stacks
af521fa  Adding #3518 - basic dot format support
9b2b0ec  Fix #3551 rake spec fails to run integration specs
6a66d5e  Update Red Hat spec file for 0.25.5
46c72bb  Updated CHANGELOG for 0.25.5rc2
ee0cc07  Fixing #3533 - Removing all transaction cleanup
11189fb  Fix for #2910 -- Tidy/matches is too tricky to use
913b63c  Bug #3451: Don't leak the terminus class setting from
Puppet::Resource::Catalog's spec
a228399  Fix to the fix for #3295
ae52005  Write ssh_authorized_keys as user
8c5e80e  Fixing bad test
088c801  Fix for #3558 -- source file reading speedup
cd06b87  Fix for #3556 Plussignment value melding
2de7da4  Fixed #3655  - Puppet doesn't find installed packages with
portage provider
d20d5de  Fixed #3672 - Error message on duplicate fileserver mounts
incorrect
6ae6821  conf/redhat: Add notifempty to logrotate config
7fc66d5  Fixed stored configuration documentation
14456b4  Fixes #3653 - Changed default factpath value to better reflect
plugins in modules
f3e466b  Partial fix to #2837 - changed warning message to debug
686239f  Fix #3555 - fix state of purged lists
6f8a1e9  Updated Rake tasks to no longer load puppet.rb
83a8c68  Fix #3540 - name methods correctly
3d395e8  Fixes #3295 - generate() now sets the working directory to the
directory containing the spe
cified command.
0f077c7  Added YARD task
b49c60b  Update man pages and partial doc fix to #3491
115f37d  Fixed #3532 - Typo in lib/puppet/ssl/host.rb
784dd26  Updated version and CHANGELOG to 0.25.5rc1
4a6474c  Modify SuSE spec file for 0.25.x and correct shebang lines for
puppetd/puppetmasterd
385506f  Fixes #3460 - Makes Puppet FHS compliant by moving /var/puppet
to /var/lib/puppet
b494427  Fix for #3101 (bug in MRI 1.8.7)
966b269  Fixes #3419. OS X 10.6 Ruby doesn't set supplementary groups
49be54e  Revert the guts of #2890
e69b7db  Fail gracefully on packages that don't have the HOMEPAGE
variable set (e.g. dev-lang/php).
83ac6b8  Fixed #3443 - Typo in mount type
dfe5c3a  Fixes #3135 - darwin doesn't support 'mount -o remount'
2a60e1e  Adding :catalog_terminus setting
626945b  fixing obsolete comment in puppetd
9fbb69f  Adding support for only using cached catalogs
7e1e76e  Refactoring Configurer to enable the next feature
b28e21a  Fixed changelog Rake task
e93eab8  Fix #3155 - prevent error when using two matching regex in cascade
b883272  Fixed puppetlast typo
67bf142  Fixed README contents to reflect Puppet Labs and docs and wiki
changes
e35e142  Fixed link typo
d40e24c  Fixed #3384 - Updated broken link
da00f68  Making a Puppet::Module test more resilient
9792915  Fixing yumrepo type to use 'flush'
9ee4c2d  Only trying to retrieve passwords on OS X when root
8c31ebe  Removing obsolete tests
aee9c29  Fixing a warning in the aix package provider
232ad8f  Removing tests for code that was removed in the REST refactor
94fddbc  Fixing and porting Transaction Report tests
13d141a  Fixing Property#change_to_s in rare case failures
66858ef  Fix test in parser.rb due to API change
0f254be  Fixing Hash functionality with non-constant keys
41aeba4  Removing vistigial method in ASTHash
1821187  Porting/removing group test/unit tests
03532e0  Porting a simple set of tests from test/unit
006e6af  Removing obsolete test
1a6e08f  Fixing Transaction integration test
410b71c  Removing invalid File integration test
effa719  Cleaning up content/source code
456447c  Protecting spec_helper chmod from failure
fa64774  Redeleting puppetmasterd integration test
797f412  Making SshAuthorizedKeys tests less brittle
622bb70  Markus's patch concerning string interpolation
23adec5  Fix tests that use or stub find_by_checksum, which I just
changed the signature of.
4ac8e2c  The pure-ruby YAML lib doesn't accept parameters
e31fe8c  Fix a failure in new FileBucket where it was impossible to read
from a bucket with a non-de
fault path.
3797c7a  Update YAML dir test to match behavior
83d8bda  Fix heisenbug in spec/unit/provider/mount/parsed.rb
dde69c3  Remove test for old RDoc work-around
c5ce824  Fixing various broken Resource::Type tests
6cd6c47  Renaming and fixing puppetrun tests.
a27013a  Fixing calls to "class_scope" in Scope tests
84d6892  Fixing all 'require' function tests
b643413  Removing any mentions of :casesensitive setting
fe140a2  Migrating "puppet" executable integration test
edef647  Fixing 'puppet' to directly run manifests
fff8d04  Fixing syntax warning
7c25317  Moving puppet back to bin
a4d1ba0  Puppet::Parser::AST::Leaf#evaluate_match "insensitive" renamed
to "sensitive"
404bdfa  Repair validate_checksum codepath, even though it is disabled.
e895494  Puppet::Parser::Resource.new parameters have changed
94651df  Add stub to Puppet::Parser::Collector test to prevent runaway
stub failures
40c1fb0  Resolving conflicts with ???
1059370  Fixing a typo from a regex
3eeebf5  Fixing change printing for content/ensure
47c3ca1  Converted File[checksum] to a parameter not property
44cba9c  Adding "checksum?" helper method to Checksums module
d05d25c  Refactoring File[source] tests somewhat
aab2374  Resolving conflicts with luke:tickets/testing/2954
86cf226  Adding virtual and exported resource support to the DSL
9d5ba41  Cleaning up ResourceAPI tests
9060766  s/DSL::ResourceHelper/DSL::ResourceAPI/g
6d2a10b  Adding simplistic pure ruby interface
e515513  Adding environment support to parser resources
30f49bb  Resolving conflicts with ???
b7015d7  Moving the string interpolation parsing to the parser/lexer
07cfdd0  Resolving conflicts with jesse:feature/master/3394
ad148d6  Resolving conflicts with luke:tickets/master/2759
922cf1a  Resolving conflicts with ???
0d70468  Finishing renaming :params to :parameters internally
ad93d0e  Forcing parent evaluation in resource types
6e4db82  Fixing type/title resource resolution
aa659f2  Converging the Resource classes further
5401a7c  Adding strictness checking to resources
9c867e6  Fixing most of the broken tests in test/
274d1c5  Adding tmpfile cleanup to tests
7089446  Removing Resource::Reference classes
4871c90  Adding support for class parameters
4709e9b  Removing :paramcheck and :typecheck settings
744295d  Allowing Environment.new to take an environment
4f907c6  TypeCollection now supports namespace arrays
2fa0a48  Adding parameter validation to Puppet::Resource
aff5992  Fixing failing Environment unit tests
61636e4  Tuning file load order
7a99a1d  Removing obsolete Settings comments and require
af9a920  Adding an environment helper
c8e89cc  Changing the interface of Puppet::Resource
b7ea180  Partially fixing #2954 - Adding class parameters
cbe2c49  Fixing test structure
4bff506  Indirector/FileBucketFile warnings
0917248  REST: Fix a state leak causing test failures
8f9fc30  REST FileBucket: REST barfs on relative paths
23ccefe  REST: hide Request object
d8e1b27  Feature #3394 REST runner, execution
1603f73  Feature #3394 REST Runner, preparation
16658a0  Feature #3383 Part 2: Remove RAL XMLRPC
eda649b  Feature #3383 RAL over REST
09b1412  Fix tests on #3347
e5a7800  Feature #3347 REST-ified FileBucket
f838389  Fix a failing test in #3115
9acd0b2  Feature #3115 REST-ified status()
b581c23  Fix #3229 - use original value in case/selector regex matching
490a03d  Cleaning up a test.
576accd  Removing unused Checksum::File terminus
58920a0  Converting File terminus to use formats.
37fd6ae  Fixing datadir defaults to match new standards
bf3359e  Adding client and server data dirs
b41d535  Adding filename extension support to formats.
7504f1e  Resolving conflicts with ???
d0389f4  Renaming Parser::ResourceType to Resource::Type
67ef78d  Removing Interpreter class
b82b4ef  All non-transient parser references are gone
644ad7e  Fixing callers to Parser to only pass environment
9f8e0c0  Using the RTC helper to find the known resource types
1705366  Always warning if autoloading a file fails
7bef2e0  Adding helper module for finding known resource types
804105d  Moving Rails initialization to Compiler terminus
26b272b  Parser now uses Environment resource type collection
cb16908  Adding 'known_resource_types' to Environment
201889b  Renaming LoadedCode to ResourceTypeCollection
2c2b3c2  Storing per-environment LoadedCode instances
6bf1953  Removing old, never-used DSL code
df2d392  Adding support for parsing ruby files
b938edf  Fixing test structure
847233f  Adding []/[]= support to Parser::Resource
6e04fba  Fix for #3366 - --tags '' treated as boolean 'true'
33b565a  Fix for #3424 and tests to prove it.
4820a1b  Fix for #2604 Pure Ruby yaml generation
1c5b3d7  Fixes #3113 - When importing a manifest puppet needs to chill
e6a720b  Fix for #3412 install.rb should not put "." first in the tmp_dirs
b1b3bcf  Resolving conflicts with testing
ba2a3af  Fix 2239 (step five): introduce new
Puppet::Transaction#stop_processing? flag and associate
d check thereof within the resource evaluation code.  This should allow
for the transaction to bail
out of its processing if it finds that a stop has been requested, based
on the state of Puppet::Appl
ication.stop_requested?.
9cb6841  Fix 2239 (step four): Refactored Puppet::Daemon's stop/restart
methods to set status flags
appropriately in Puppet::Application, and removed call to now-deprecated
@agent.configure_delayed_re
start.  This should get the restart and stop behavior for daemons and
their agents working nicely wi
th the new global process status interface of Puppet::Application.
82f852a  Fix 2239 (step three): Refactored Puppet::Agent to base
starting/restarting behaviors and p
redicates on new run-status interface of Puppet::Application.
edbe9b6  Fix 2239 (step two): introduce
Puppet::Application.controlled_run method to provide simple
status-restricted execution of a passed in block; this can replace the
process status checks and pro
perly handle delayed restart behavior for Puppet::Agent.
2cf647c  Fix 2239 (step one): introduce global settings represeting
application run state with metho
ds for setting the state and appropriately-named predicates for querying
state, all in the Puppet::A
pplication class itself.  To be used by Puppet::Daemon and Puppet::Agent
and Puppet::Transaction for
 better response to TERM, INT, HUP.
ce944a5  Fix unit tests in file/target.rb
481ddb8  Name change of event in ral/type/exec.rb
1ebc91e  Use a helper function to evaluate a resource since the API has
changed
bfb1fa5  Allow skipped resources to process events
a18b05d  Actually invoke the allow_changes? method in ResourceHarness
bf2f088  Generated resources' events are actually bound to the resource
that generated them.
50ed75b  Remove test that tests internal class structures which have
changed.
1779079  Remove stale set_trigger
9154aca  Since the types stored in resource's @parameters have changed,
we need to also change inclu
de? method to be more robust.
2a2ab75  Fix test failures due to name changes of event symbols
0a72a98  Remove rollback test, since rollback was removed.
010907b  Mark resource/status as failed if they are associated with a
failing event.
17bccb0  Restore noop non-behaviours
8465cd0  Resolving conflicts with reinh:feature/master/single_executable
0f768ed  Removing now-obsolete user tests
7627441  Fixing most failing test/ tests.
9d9b20f  Fixing Configurer interface to transaction report
eb0a4b5  Fixing fingerprint tests to work with new log validation
f4ef039  Changing REST report integration test to use new interface
fdefb64  Fixing "require" function to use new class interface
266bc08  Removing now-obsolete "retrieve" method on package type
67a75db  Fixing broken selinux tests
2777e1f  Fixing feature validation when passed one item
5aa26d0  Changing method profile for other event queueing
ec7ea27  Refactoring event queueing for performance
68ce086  Changing the method profile of EventManager#queue_event
9919b14  Moving Metric management to the reports
a9fc134  Removing mention of @changes in Transaction
a18769d  Cleaning up the report tests a bit
386b3e5  Fixing #2759 - reports now have complete change info
fbd5b0a  ResourceHarness now doesn't check params with no 'should'
3f6c948  Changing Transaction to use the new ResourceHarness
6051599  Fixing log message when changes fail
149d5ef  Fixing some compatibility and old tests
c30494f  Renaming some methods in Transaction::Change
8d5f052  Adding Transaction::ResourceHarness class
6651aa4  Adding first version of Resource::Status class
4bb35a7  Fixing File type indentation
796d882  Removing last event collection transaction code
e838bcc  Solidifying the RAL/Event integration.
977595b  Refactoring the Change/Event/Property interface
5776fe4  Cleaning up the Log initialization code.
2292b76  Refactoring the RAL interface to logging
d93d80a  Using Logging module in main Puppet module
c6dd180  Adding tests for "Logging" module
242209d  Correcting comments and making report timestamp internal
a4b77f6  Failing in app/puppet if facts are not found
f925475  Fixing file content logs
73f57f2  removing extraneous comment
4be8601  Adding Transaction events to Transaction reports
2aa579b  Removing a redundant method in Report
5a8b460  Removing unused code and adding a couple of tests
9a78bee  Adding tests for the 'report' log destination
f2ed655  Extracting event management into a separate class
329527f  Changing SimpleGraph.matching_edges to expect one event
f8d7c44  Moving event creation to the resource
ee9cff9  Reorganizing Property class to match current style
4212f1c  Cleaning up Event creation
8280987  Adding "type" instance method to enhance Demeterness
ad90900  Random code cleanup
32d34e9  Moving Ensure property into separate file
3c86666  Moving Parameter utility classes into separate files
2cbd9e8  Switching transactions to callback-based events
6a450c5  removing never-used code
379ac8f  Moving log destination code into separate files
b2d1728  fixed a couple of typos
7ab29c4  Unit tests for path changes
a8245d8  Handle path elements with ticks and spaces
98581ad  Fix builtins glob in single executable
b4b07f5  Fix failing specs
e7bc19a  Rename puppet application spec to main
c014c29  Renaming the old puppet executable
deff92d  Find both bin and sbin usage docs, fail gracefully
3c8d012  Fix application name in bin/ralsh
be0ecf8  Initial puppet single executable
7a32777  Renaming applications, mostly removing 'puppet'
b19a044  Some tests were leaking state when the test failed
5b2802c  Typo in method call in test.
6a148e2  Supressing warnings (not really failures) in test/unit
06deee7  Fix test using wrong Puppet util filesetting group
74f5167  Mock user in SUIDManager tests
000d37a  Removing resources generate tests
11379c0  Removing old test for service/debian provider
2b8125c  Replace test/unit file write test with spec
164f1ce  Allow adding single key to hashes
fd427a5  Raise an error when appending not a hash to a hash
75c32f9  Fix #2389 - Enhance Puppet DSL with Hashes
9122ac5  Fix #2929 - Allow checksum to be "none"
73c8d0d  Fix #3186 - require function set relationship only on the last
class
c5a4de2  Fixing #3185 Rakefile is loading puppet.rb twice
c694c4d  Fix #3150 - require function doesn't like ::class syntax
075f3c8  Added time module to tagmail report
dfb8082  Fixed the return types were valid, and removed the copy paste
error with the exception logi
c
6e16ea1  Resolving conflicts with ???
bca7e2c  Add AIX package management support (installp&nim)
b2c9455  Fixing #3148 Settings#without_noop when run with no noop setting
8bafc37  Move scope parenting & class_scope from Compiler to Scope
7403c6e  [#3392] Better Rakefile, remove puppetmasterd spec
de94f68  Fixing tests in pkg provider
4b55fb0  bug #3407 Part 2
f891ba2  Fixing #3407 Failing tests in spec/unit/node/environment.rb
af9c19a  Bug #3406 augeas spec fails if there is not a default provider
718a87a  Bug #3402 Stub returning invalid type for :noop
88d6cd5  Bug #3401 Spec failed due to missing manditory setting in mock
d9920bc  Bug #3400 Bad mocks causing failing tests
c6f02f2  Fix #3167 Duplicate constant warnings in dpkg.rb
70c71c5  Fixed Rails database tests
46f9d00  Fix #3117 - cert fingerprinting uses a method not available in
ruby <= 1.8.6
04842ef  Fixed test error message.
fcce222  First shot at the OpenSolaris pkg(5) provider
3e9677f  Feature #2839 - fingerprint certificate
91c44b4  Fix a few puppetd specs tests
d77c9ac  Revert "Feature #2839 - fingerprint certificate"
58a81ba  Fixing #1054 - transaction reports are always sent
282b4b3  Removing some unneeded validation code from Transaction.new
66a3e6a  Removing unused configurer code
2044550  Fix #2894 - exclude .pp files under modules files directories
d31ff7e  Adapt to method name change since 8971d8
a9fb82b  Feature #2839 - fingerprint certificate
a967b93  Feature #2395 - revoke when cleaning a certificate with puppetca
e26e831  Updated test series
53869e9  Fix #2818 - scope variable assigned with undef are not "undef"
4226e01  Fix for #2959 (calling exit status on a nil report)
8971d8b  Fixing #2596 - Node, Class, Definition are not AST
39d4a93  Adding a context method to the Errors module
22c642d  Extracting language doc support into a module
adc211a  Adding module metadata
bf40f4f  Upgrading rspec for tests to 1.2.9
61d1911  Fix 2841 - Puppetdoc/RDoc parses realize function
e63d23e  Added tickets/master/2596 to the testing branch
41da962  Feature 2827 Option to disable managing internal files
c9f40be  Fixed #2568 - Add database option 'dbconnections'
2d137e2  Fixing #1507 - Adding a :ca_name setting
089ac3e  Fixing #2617 - using the searched-for REST name
28e1bc6  Always using the CA_name constant instead of "ca"
2d4b795  Fix #1934 - detailed-exitcodes for puppetd
0f61816  Fix #2649 Allow ssl dir creation in --noop mode
53be6f8  Fix #2796 - Fix puppetdoc rdoc selector parsing
391786f  Fix #2795 - puppetdoc rdoc reports a better error message
b832d81  Fix #2784 - puppetdoc/rdoc didn't parse mono-instruction class
content
b1deb89  Covers the RDoc Puppet Parser with specs
ced5a78  Fix #2376 - Display class/node inheritance in puppetdoc
8d9fbbd  Fix #2703 - add 'require' to puppetdoc
41b7c3c  Adding an example yaml node script
66a44dd  type augeas: add 'incl' and 'lens' parameters
c61335f  Patch to address feature #2571 to add Oracle support to Puppet

Regards

James Turnbull

-- Author of: * Pro Linux System 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)

-- Puppet Labs - http://www.puppetlabs.com C: 503-734-8571

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to