PuppetDB 0.9.2 is the third beta release on the road to 1.0. Changes
include new features and bug fixes. For details on changes
in this release, please see the release notes below.

# Downloads

Available in native package format at

http://yum.puppetlabs.com

http://apt.puppetlabs.com

Source (same license as Puppet):  http://github.com/puppetlabs/puppetdb

Available for use with Puppet Enterprise 2.5.1 and later at

http://yum-enterprise.puppetlabs.com/ and http://apt-enterprise.puppetlabs.com/

# Documentation (including how to install): http://docs.puppetlabs.com/puppetdb

# Issues can be filed at:
http://projects.puppetlabs.com/projects/puppetdb/issues

# Upgrading

1. On your puppetdb server, stop the puppetdb daemon
2. On your puppetmaster(s), stop the puppetmaster daemon
3. On your puppetdb server, install the new puppetdb package
4. On your puppetdb server, start the puppetdb daemon
5. On your puppetmaster(s), install the new puppetdb-terminus package
6. On your puppetmaster(s), start the puppetmaster daemon

0.9.2
=====

Many thanks to the following people who contributed patches to this
release:

* Jason Ashby
* Kushal Pisavadia
* Erik Dalén
* Deepak Giridharagopal
* Nick Lewis
* Matthaus Litteken
* Chris Price

Notable features:

* Allow more advanced storeconfigs queries

  Now, when using PuppetDB, your puppet manifests can use "and" and
  "or" in collection queries:

    File <<| mode == 0755 or content == "bar" |>>

* (#14947) Restrict accetable client certificates by CN

  PuppetDB now implements an optional whitelist for HTTPS clients. If
  enabled by the user, we validate that the CN of the supplied client
  certificate exactly matches an entry in the whitelist. This allows
  users to restrict access to PuppetDB using the same CA
  infrastructure that Puppet already uses. For example, you can
  restrict access to PuppetDB to just your puppetmaster boxes.

  This feature is off by default. Refer to the documentation on the
  `certificate-whitelist` configuration option for details.

Notable fixes:

* (#15388) Add redirect from '/' to the dashboard

  Prior to this fix, if you started up PuppetDB and then attempted to
  browse to "/", you'd get an error message that might lead you to
  believe that the server wasn't actually running (depending on your
  browser).

  This commit simply adds a redirect from "/" to the dashboard index
  page.

* (#14688) Improve stdout/stderr handling for redhat init script

  Prior to this fix, the redhat init script was keeping stdout/stderr
  open when you called "service puppetdb stop". This resulted in some
  undesirable behavior; starting the service over an ssh connection
  would not release the ssh connection, errors would appear on the
  console rather than in the log file, etc. Now, daemon startup
  redirects stdout/stderr to a file (puppetdb-daemon.log) instead of
  spamming the console, and we more properly background the launched
  process to prevent "locking" of a parent SSH connection.

* (#15349) Work around non-string resource titles

  It's possible in some cases for Puppet to generate a resource whose
  title isn't a string. However, since the generated edges refer to
  the resource using a string title, we end up with a mismatch. Now we
  will stringify all resource titles on the way out. In future, Puppet
  should do this for us.

* (#15446) Improve handling of user/group removal on rpm removal

  Fixed the following bugs in our handling of user/group removal
  during rpm removal:

  1. We were not conditioning the calls to groupdel / userdel to avoid
     running them during an upgrade, which meant that we were trying
     to delete them even during upgrades... which would have been bad.
  2. We had an || where we needed an &&, so we weren't actually
     calling the groupdel / userdel commands.
  3. We were hard-coding the user's home dir to a bad path.
  4. We had some '-r' flags that were wrong and/or unnecessary.

* (#15136, #15340) Properly handle non-string node queries

  Previously, these would result in 500 errors as the database failed
  the comparisons because of mismatched types. Now, all equality
  comparisons will be done against strings, and all numeric
  comparisons will be done against numbers.

  For equality comparisons, non-string arguments will be
  converted. This allows natural queries against numbers or booleans
  to work despite all fact values technically being strings.

  For numeric comparisons, non-numeric arguments will be converted.
  However, if the argument doesn't represent a number, the query will
  be rejected.

* (#15075) Improve handling of service start/stop during rpm
  upgrade/uninstall

  On uninstall, we now check to see if this is part of an upgrade or
  not, and we only stop and disable the service if this is *not* part
  of an upgrade. Also, we stop the service before we install the new
  package, and restart it after we finish removing the old package.

* (#15321) Add aliases for namevars that are munged via `title_pattern`

  When we are creating aliases for resources (in order to ensure
  dependency resolution in the catalog), we need to take into account
  the case where the resource type defines one or more title_patterns,
  which, when used to set the value of the namevar, may munge the
  value via regex awesomeness.  'File' is an example of such a
  resource, as it will strip trailing slashes from the title to set
  the :path parameter if :path is not specified.

  Because this `title_pattern` munging happens as a side effect of the
  Puppet::Resource#to_hash method, it is important that our namevar
  alias code search that hash for necessary aliases rather than
  searching the Puppet::Resource instance directly.

* (#15059) Stop loading non-SSL content in the dashboard

  You can now view the PuppetDB dashboard using HTTPS without
  triggering browser warnings about mixing HTTP and HTTPS content.

* Improved "logging of last resort"

  There are certain points in the lifecycle of PuppetDB where it's
  critical that we properly log an exception, even if that means we
  spam different log targets (logfiles, stdout, stderr, etc) and
  duplicate output. Daemon startup and unhandled exceptions within a
  thread are two such critical points. We now more thoroughly ensure
  that these types of errors get logged properly.

* `puppetdb-ssl-setup` should be able to be re-executed

  The script can now be executed multiple times. It will ensure that
  all generated files are readable by the PuppetDB daemon, and it
  reconfigures PuppetDB to use the newly-generated keystore and
  truststore passwords.

* `puppetdb-ssl-setup` shouldn't fail when FQDN can't be determined

  We now revert to using `facter hostname`, to allow installation to
  continue unimpeded.

* Change SSL setup to use master SSL keys intead of agent

  This fixes installation bugs on systems that use different Puppet
  `ssldir` settings for `[master]` and `[agent]`.

* Automatic testing against Puppet 3.x ("telly")

  Spec tests now properly execute against Telly, and they are plugged
  into our continuous integration system.

* Acceptance testing

  We not automatically run PuppetDB through a series of
  acceptance-level tests (included in the source tree). This verifies
  correct behavior in an actual multi-node Puppet environment. Tests
  are executed automatically as part of Puppet Labs' continuous
  integration system.

-- 
Matthaus Litteken
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to