We are proud to announce Hiera 1.0.0 is available.
Downloads are available:
* Source http://puppetlabs.com/downloads/hiera/hiera-1.0.0.tar.gz
* Apt and yum repos
* Mac packages http://puppetlabs.com/downloads/mac/hiera-1.0.0.dmg
* Gem http://rubygems.org/downloads/hiera-1.0.0.gem
It includes contributions from the following people:
Craig Dunn, Gary Larizza, Kelsey Hightower, Ken Barber, Matthaus
Litteken, Michael Stahnke, Mitchell Hashimoto, Moses Mendoza, Patrick
Carlisle, Roman H, Timur Batyrshin, and Will Hopper
See the Verifying Puppet Download section at:
http://projects.puppetlabs.com/projects/puppet/wiki/Downloading_Puppet#Verifying+Puppet+Downloads
Please report feedback via the Puppet Labs Redmine site, using an
affected version of 1.0.0:
http://projects.puppetlabs.com/projects/hiera
## Hiera 1.0.0 Release Notes ##
(#14867) Add windows support
Without this patch Hiera does not work on Windows and fails with the
following error:
Failed to start Hiera: RuntimeError: Config file /etc/hiera.yaml not
found
Following the standard set by the Puppet installer, Hiera now uses the
following configuration and var directories on Windows:
C:\ProgramData\PuppetLabs\hiera\etc
C:\ProgramData\PuppetLabs\hiera\var
This patch introduces a new `Hiera::Util` module which utilizes the
`win32-dir` gem for locating the correct base directories on Windows.
(#12122) Correctly fall through backends during loop
When calling lookup for hash or array types Hiera would
incorrectly return an
empty result from a backend that did not find a value instead of
checking the
next backend. This happened because the empty hash and empty array were used
internally to represent a failed lookup. This changes it to use nil
everywhere. A distinct sentinel value would be ideal, but since Hiera
currently has no way to communicate to the outside world the difference
between lookup up nil and a failed lookup, it is sufficient to use
nil internally.
(#12122) Merge arrays and hashes across backends
This implements merging for arrays and hashes across the returned values for
all backends, using the same logic as merging within a backend.
(#14514) Use default config when hiera.yaml is missing
Hiera no longer raises an exception when the hiera configuration file
is missing; instead log a warning and use the following default config:
{
:backends => ["yaml"],
:hierarchy => "common",
:logger => "console"
}
This patch includes updated tests.
Commit caching on YAML Backend
Previously, the YAML backend would read from disk every time it needed
to check a hierarchy. This commit introduces memoization through an
instance variable so a file is read only if the instance variable is
empty, and only if the file has not changed. To check if the file has
changed (or if the cache is stale), we stat the file and compare the
mtime, size, and inode. Tests have been added for this new
functionality.
Fix Bugs and Commit Tests
(#13641) Fix Hiera::Backend#parse_string to support :undefined in extra_data
The method #parse_string supports an extra field
''extra_data''
which is used by
hiera-mysql. When combined with hiera-puppet, sometimes the symbol
:undefined
is returned, to signify that the data is undefined in Puppet.
While we do have tests and code to capture this state, the method does not
support falling back to ''extra_data'' in this situation.
This patch supports the proper fallback to extra_data if it sees the special
symbol :undefined, so that these backends can be properly combined.
### Packaging Notes ###
Shift to using packaging repo for packaging tasks
This release introduces Hiera''s use of the packaging repo at
https://github.com/puppetlabs/packaging for packaging automation. From
source, doing a rake package:bootstrap clones packaging tasks into
ext/packaging and adds rake tasks for packaging of tar, gem, srpm,
rpm, and deb using tools such as rpmbuild and debuild, as well as
puppetlabs-namespaced tasks that use chroot environment tools and are
keyed to specifically interacting with the puppetlabs environment. The
packaging repo works in tandem with the new package-builder modules
designed to set up hosts for packaging,
https://github.com/puppetlabs/puppetlabs-rpmbuilder, and
https://github.com/puppetlabs/puppetlabs-debbuilder. This is very much
a work in progress, but a model for how packaging automation could
improve across many Puppet Labs projects.
## Hiera 1.0.0 Changelog ##
Craig Dunn (1):
122b891 (#13641) Fix Hiera::Backend#parse_string to support
:undefined in extra_data
Gary Larizza (1):
e6dea8e Commit caching on YAML Backend
Kelsey Hightower (16):
794265f (maint) Code base cleanup, use 2 space indention.
602c526 (maint) Fix failing spec test on Ruby 1.9.3
b7b3280 (maint) Make noop logger work on Ruby 1.9.x
540d2d6 (#14460) Add Puppet parser functions
9808a64 (#14514) Use default config when hiera.yaml is missing
7312a95 (maint) Add Hiera acceptance tests
0067cd2 (maint) Additional tests for Hiera array and hash lookups
22a98ee Remove Puppet parser functions
b6218b9 (maint) Hiera should raise an error when config is missing
cdd7364 (#14867) Add windows support
1b7f787 Add specs for Hiera::Util
07366d8 Use File::ALT_SEPARATOR to test platform
92a148f (maint) Fix failing Hiera::Util specs
fcd3d2c (maint) Hiera now has a LICENSE file
4698cf1 (#15105) Update README YAML examples
6887137 (maint) Add Getting Started tutorial
Ken Barber (1):
f6c9f5d (#14124) Load rake tasks directly to fix tests for Ruby 1.9.x
Matthaus Litteken (26):
67f91d6 (#14147) Handle lack of rubygems gracefully
7ef2821 (#14148) Add docs to Hiera packaging
82881e3 (#14150) Use tar_gz instead of tar
24ef7b9 (#13600) Monkey patch mktmpdir on ruby 1.8.5
29c5ad7 Add hiera.spec for building hiera on redhat
f697b7f Updated hiera.spec to include puppet functions and put
in the right place.
dbf9fe3 Update README to reference deb and rpm packages
6de3d4c Moving CHANGES.txt to CHANGELOG. Updating CHANGELOG with
git log from initial commit to v0.3.0 tag.
fa3081c Updating hiera.spec, CHANGELOG for Hiera 1.0.0rc1
361dfc6 Updating CHANGELOG, ext/redhat/hiera.spec, lib/hiera.rb
for 1.0.0rc2.
fe3d509 Remove empty Puppet class definition
fd644b6 Add require hiera/backend to test
10f930f Add mac packaging to hiera
1df7201 Update mac packaging to dynamically generate preflight
6910d2d Move conf to ext, replace spec with erb
182fa17 Add debian packaging for hiera
e927da2 Add package task for deb, srpm
2b8f0d3 Updating changelog for 1.0.0rc3
d0fcc57 Add default config to hiera
ca47463 Remove datadir value in hiera.yaml
7947dd6 Consolidate changelog, update erb templates
091fea3 Overhaul Hiera packaging
772ff45 Update CHANGELOG for 1.0.0rc4
4332f46 Fix debian package task to create correct orig.tar.gz
and use debversion in directory creation.
ba34a74 (#15291) Add Vendor tag to Hiera spec file
1a4214a Updating CHANGELOG for Hiera 1.0.0
Michael Stahnke (1):
ddd5b66 Fix VERSION contant in lib/hiera.rb
Mitchell Hashimoto (1):
cfd0925 Additional logging when finding keys in the YAML backend
Moses Mendoza (9):
e1922ca Change debhelper depends to 7
c5ff482 Rework packaging to use packaging repo
7b6766a Fixup redhat spec erb for F17
6f2da41 Change debhelper depends to 7
1084d13 Add apple packaging file_mapping file
28cef87 Use read-only packaging repo for public access
f21f908 Replace sed with real vars in preflight.erb
451fd0c fix redhat spec release template variable
fba40d1 Fix yum repo path in yaml file
Patrick Carlisle (2):
480d86c (#12122) Correctly fall through backends during loop
16c3dd3 (#12122) Merge arrays and hashes across backends
Roman H (1):
50f9771 hiera working on ruby 1.9.2/1.9.3, issue #10975
(http://projects.puppetlabs.com/issues/10975)
Timur Batyrshin (1):
3ec4165 match data in puppet ${::fact} style to get rid of
puppet deprecation warnings
Will Hopper (1):
22f1775 Update Debian packaging rake task to correctly create
the orig.tar.gz
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.