Type: New Feature
Affects Version/s: PUP 3.7.1
Fix Version/s: None
RHEL based 6.5 fully updated with the latest from yum.puppetlabs.com for server/client
The full journey was described in much greater detail on the Puppet Google Group, but while that would give greater incite into the why, I don't think it adds tremendously to this particular request.
The much shorter version is this: I wanted to learn how to use hiera in my puppet modules. However, I had an /incredibly/ difficult time. I saw weird /weird/ behavior. Some things worked, some things didn't. Many many many Internet searches later, after lots of Puppet Labs documentation, and a desperate cry to the community all led to massive confusion as to what was wrong in my environment. Things worked perfectly via command line with hiera but puppet consistently failed.
Then jcbollinger mentions to check SELinux.
So I ran 'sudo restorecon -RFvv /etc/puppet', restorecon updated a bunch of files in my modules and hiera, and it works!!
I spent ~5hrs happily converting code into using hiera afterwards with no issue.
If at ANY point in time, puppet had mentioned 'I can't read the hiera data files due to permission access' then resolving the SELinux issue would have been a snap. But there was /nothing_at_all/ in the log files that gave any indication that SELinux was the culprit. Thus, I spent a lot of time and effort trying to track down a problem I thought was in heira/puppet. The community then put in time and effort trying to help.
I /really/ wish that puppet was more verbose about what it was doing with heira. When is it trying to read the data file? What variable is it looking for? Ect.
However, I think it is a "must" that puppet should throw an error if it can not read a hiera data file for any reason.