** Final Release **
PuppetDB 2.1.0 final - July 8th, 2014.
PuppetDB 2.1.0 Downloads
------------------------
Available in native package format in the release repositories at:
http://yum.puppetlabs.com and http://apt.puppetlabs.com
For information on how to enable the Puppet Labs repos, see:
http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#open-source-repositories
Blog: http://puppetlabs.com/blog/introducing-puppetdb-2.1.0
Binary tarball: http://downloads.puppetlabs.com/puppetdb/
Source: http://github.com/puppetlabs/puppetdb
Please report feedback via the Puppet Labs tickets site, using an
affected PuppetDB version of 2.1.0:
https://tickets.puppetlabs.com/browse/PDB
Documentation: http://docs.puppetlabs.com/puppetdb/2.1/
Puppet module:
http://forge.puppetlabs.com/puppetlabs/puppetdb
PuppetDB 2.1.0 Release Notes
--------------------------------
PuppetDB 2.1.0 is a feature release focusing on new query
capabilities, streaming JSON support on all endpoints and a new report
status field for determining if a Puppet run has failed. Note that
this release is backward compatible with 2.0.0, but users must upgrade
PuppetDB terminus to 2.1.0 when upgrading the PuppetDB instance to
2.1.0.
Things to take note of before upgrading:
* There is a known issue in Puppet 3.4.0, 3.4.1 and 3.4.2 with
duplicate failed events here:
https://tickets.puppetlabs.com/browse/PUP-1524. We recommend upgrading
to Puppet 3.4.3 or greater.
* If you receive the error “Could not open
/etc/puppet/log4j.properties”, this is because we have changed the
packaged config.ini to point at a new logging configuration file:
logback.xml. However during package installation some package managers
will cowardly refuse to just update config.ini, this in particular
affects RPM. After upgrading you should ensure any .rpmnew files are
reviewed and that changes to our vendored version are now merged with
your version of config.ini on disk. See this ticket for more
information: https://tickets.puppetlabs.com/browse/PDB-656
* Make sure all your PuppetDB instances are shut down and only upgrade
one at a time.
* As usual, don’t forget to upgrade your puppetdb-terminus package
also (on the host where your Puppet Master lives), and restart your
master service.
New Features:
* (PDB-660) Switch all query endpoints to stream JSON results
The following endpoints have been switched over to streaming:
- event-counts
- reports
- nodes
- environments
- events
Using 'event-query-limit' is now deprecated, use the normal
paging/streaming functionality to achieve the same results.
* (PDB-658, PDB-697) Implement new "query engine" for v4
This rewrite of the v4 API query infrastructure unifies query
operators across all endpoints. Each endpoint now supports all
operators appropriate for the given field of that type. As an
example, any string field can now be searched by regular expression.
All dates can be search with inequality operators like < or > for
searching via date ranges. There are also many new queryable fields.
Below summarizes the new features of the switch to this query engine
events endpoint
- Added configuration-version as a queryable field
- Added containment-path as a queryable field (queryable in a way
similar to tags)
nodes endpoint
- Added facts-timestamp, catalog-timestamp, report-timestamp as a
queryable field
reports endpoint
- Added puppet-version, report-format, configuration-version, start-time,
end-time, receive-time, transaction-uuid as queryable fields
null? operator
- new operator that checks for the presence or absence of a value
Some endpoints previously returned NULL values when using a "not"
query such as ["not", ["=", "line", 10]]. The
query engine follows
SQL semantics, so if you want NULL values, you should explicty ask
for it like:
["or",
["not", ["=", "line", 10]]
["null?", "line" true]]
* (PDB-162) Add regexp support to resource parameter queries
The query engine supported this, but the existing "rewrite" rule, to
go
from the shorthand parameter syntax to the nested resource query didn't
recognize ~. That is fixed with this commit, so regexps will now
work on parameters.
* (PDB-601) Do not require query operator on reports endpoint
With this pull request, hitting the reports endpoint without a query argument
will return the full reports collection. This behavior is consistent with
that of the nodes, facts, and resources endpoints.
* (PDB-651) Allow the web app URL prefix to be configurable
Previously PuppetDB always used the context root "/", meaning all
queries etc would be something like
"http://localhost:8080/v4/version". This change allows users to
specify a different context root, like
"http://localhost:8080/my-context-root/v4/version". See the
url-prefix configuration documentation for more info
* (PDB-16) Add status to stored reports
Previously there was no way to distinguish between failed puppet runs
and successful puppet runs as we didn't store report status. This commit
adds support for report status to the "store report" command, v4
query
API and model.
* (PDB-700) Allow changes to maxFrameSize in activemq
maxFrameSize previously defaulted to 100 MB. Now default is 200 MB with user
configurability.
Bug Fixes and Maintenance:
* (PDB-675) Fix Debian/Ubuntu PID missing issue
In the past in Debian and Ubuntu releases we had issues where the
PuppetDB system V init scripts were not stopping the PuppetDB
process whenever a PID file was missing. This patch now introduces a
fallback that will kill any java process running as the puppetdb
user, if the PID file is missing.
* (PDB-551) Created a versioning policy document
This document let's consumers of the PuppetDB API know what to
expect from an API perspective when new versions of PuppetDB are
release. This document is a separate page called "Versioning Policy"
and is included in our API docs
* (PDB-164) Add documentation for select-nodes subquery operator
This pull request supplies V4 API documentation for the select-nodes subquery
operator, which was previously supported but undocumented.
* (PDB-720) Fix services test with hard coded Jetty port
Fixed this issue by moving code that dynamically picks a free port out
of import-export-roundtrip and into a separate ns. I just switched the
services test to use that code and there should no longer be conflicts.
* (RE-1497) Remove quantal from build_defaults
This commit removes quantal from all build defaults because it is end of
life. It removes the defaults from the build_defaults yaml.
* (PDB-240) Replace anonymize.clj read-string with clojure.edn/read-string
This patch replaces a call to read-string in anonymize.clj with a call to
clojure.edn/read-string. Unlike clojure.core/read-string,
clojure.edn/read-string is safe to use with untrusted data and guaranteed to
be free of side-effects.
* (PDB-220) Coerce numerical function output in manifests to string
Previously, when a user defined a numeric-valued function in a puppet manifest
and submitted it to notify, the resource-title would remain numeric and
PuppetDB would throw exceptions while storing reports. Per the docs,
resource-title must be a string. This pull request avoids the problem by
coercing resource-title to string.
* (PDB-337) Remove extraneous _timestamp fact
Previously a _timestamp fact was submitted to puppetDB even though _timestamp
was originally intended for internal use. This commit strips internal data
(all preceded by "_") from the factset before submission to
PuppetDB.
* (PDB-130) Fixes a nasty traceback exposed when users run import from
command line with an invalid filename. A friendly message is now
printed instead.
* (PDB-577) Lower KahaDB MessageDatabase logging threshold.
Previously, premature termination of PuppetDB import under specific ownership
conditions led to a residual KahaDB lock file that could prevent
subsequent imports
from running with no obvious reason why. This patch lowers the log threshold
for KahaDB MessageDataBase so affected users are informed.
* (PDB-686) Add warning about PDB-686 to release notes
This adds a warning about PDB-686 to the release notes so users know how to
work-around it.
This also cleans up the linking in our current release notes, and removes the
warning about Puppet 3.4.x, because we pin against 3.5.1 and greater anyway.
* Add sbin_dir logic to Rakefile for Arch linux
* (PDB-467) Merge versioning tests for http testing into non-versioned files
This patch removes all remaining versioned http test files into shared
unversioned files, so that we may start iterating across versions in the
same file.
* Fix comparison in dup resources acceptance test
Due to changes in Puppet 3.6.0, the comparison done in our resource
duplication
tests no longer matches the actual output. This patch ammends the
comparison to
match Puppet 3.6.0 output now.
* (PDB-597) Add trusty build default
This includes trusty (Ubuntu 14.04) in our builds.
* Unpin the version of beaker
We had pinned beaker previously because we were waiting for some of
our new EC2
customisations to be merged in and released. This has been done now.
* Fix a race condition in the import/export round-trip clojure tests
This scenario occurred if command processing for facts is slow. A result
with the hard coded certname would be returned with no fact values or
environment. This commit fixes the code to only return results when
facts are found.
* (PDB-309) Update config conversion code for Schema 0.2.1
Much of the code for converting user provided config to the internal
types (i.e.
"10" to Joda time 10 Seconds etc) is no longer necessary with the
new
coerce features of Schema. This commit switches to the new version and
makes the necessary changes to use the coerce feature.
PuppetDB 2.1.0 Contributors
---------------------------
Chris Price, Eric Timmerman, Ken Barber, Melissa Stone, Niels Abspoel,
Ryan Senior, Wyatt Alt
PuppetDB 2.1.0 Changlog
-----------------------
Chris Price (7):
c7628d2 Allow web app URL prefix to be configured
0b38aac Support for configurable URL in terminus
f584224 (PDB-651) Fix dashboard to be compatible with url prefix
23e0e26 Add deprecation warning to docs for `explicit` metric type strings
a69bf71 (PDB-651) Add docs for url-prefix setting
a60b843 Update `with-http-app` fixture to include default for url-prefix
94ebe0a (PDB-651) Fix spec failure on ruby 1.8.7
Eric Timmerman (2):
c619cec (RE-1497) Remove quantal from build_defaults
17af083 (RE-1497) Remove quantal from build_defaults
Ken Barber (24):
f81ac21 Update release notes with more upgrade warnings
93817db (PDB-16) Fix terminus to always submit reports and
include the status
650bc7e (PDB-16) Include warning when environment doesn't exist in
report
4ed1e81 Fix reference to PuppetDB 1.6.x in index.markdown
871086b (PDB-551) Include a versioning policy
3bde8ac (PDB-551) Some minor cleanups to the versioning policy
530ac79 (PDB-551) Reduce wording based on feedback
98e8315 Unpin the version of beaker
0f44e0c (PDB-597) Add trusty build default
3623e45 Fix comparison in dup resources acceptance test
3f9b81c (PDB-467) Collapse versioned files for http tests
adb4fcd (PDB-467) Create deftestseq and implement it everywhere
61764ae (PDB-686) Add warning about PDB-686 to release notes
388d0c6 Typo in v4/reports.markdown
edbef54 (PDB-467) Convert endpoints to vecs of vecs
0957425 (PDB-660) Enable event streaming and provide other
streaming cleanups
ee011c5 (PDB-660) Throw deprecation warning for
'event-query-limit' and fix a docstring
5e2449b (PDB-660) Turn on streaming for nodes end-point
c9df21c (PDB-660) Environments end-point streaming
ab02b8e (PDB-660) Provide better validation for query params on
environments & singleton end-points
271dc51 (PDB-660) Report end-point streaming
fcd629e (PDB-660) Remove extraneous parens
9f5967b (PDB-660) Event-counts streaming
03767ad (PDB-660) Final refactor for streaming
Melissa Stone (3):
466e4cd (PDB-675) Stop pdb process even if pidfile missing
a6e5a21 (maint) Restrict which process will be stopped
c90e765 (maint) Add log entry for when process stopped without PIDfile
Niels Abspoel (1):
1e021db sbin_dir logic to Rakefile
Ryan Senior (17):
5d8d204 (PDB-309) Update config conversion code for Schema 0.2.1
128934c Fix a race condition in the import/export round-trip clojure tests
890f31e (PDB-16) Added status to "store report" and report query
results
0af169f (PDB-657) Query logic refactor
910e48c (PDB-658) Move reports endpoint over to the new query engine
df7eb02 (PDB-658) Move facts endpoint to new query engine
85d50b9 (PDB-658) Moving events querying to the new query engine
ee55859 (PDB-658) Moved event-counts endpoints to the query engine
b4667cf (PDB-658) Move environments endpoint to the query engine
a7a3ac2 (PDB-697) Test and document new reports features
0feb553 (PDB-697) Added docs/tests for new queryable nodes
fields and operators
6455bec (PDB-660) Fix testing for not(regexp) match case
96d5af9 (PDB-697) Document and test new events and resources features
a235006 (PDB-162) Add regexp support to resource parameter queries
66ccddd7 (PDB-720) Fix services test with hard coded Jetty port
48e1eb5 (PDB-728) Update release notes for 2.1.0
b82f58f (PDB-729) Updated documentation indexes for PuppetDB 2.1
wkalt (8):
b9e3459 (PDB-700) Allow changes to maxFrameSize in activemq
598444f (PDB-577) Lower KahaDB MessageDatabase logging threshold.
c964d91 (PDB-130) Fixes a nasty traceback exposed when users run
import from command line with an invalid filename. A friendly message
is now printed instead.
7fb9418 (PDB-337) Remove extraneous _timestamp fact
0454e09 (PDB-220) Coerce numerical function output in manifests to string
aefc579 (PDB-240) Replace anonymize.clj read-string with
clojure.edn/read-string
ab71ba2 (PDB-164) Add documentation for select-nodes subquery operator
1a90ff7 (PDB-601) Do not require query operator on reports endpoint
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/CAE4bNTmrF6au3T0yDtQjq%2B%3DiH5ogUBmu%2BxXKXoZTw1cmqfzkjA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.