Issue #23318 has been updated by Henrique Rodrigues.

I have the exact same problem, but using CentOS 64-bit, Puppet 3.3.2, Hiera 
1.2.1 and the normal Puppet parser (not future).

----------------------------------------
Bug #23318: Invalid YAML (hiera) file and automatic param binding fails in 
vague errors
https://projects.puppetlabs.com/issues/23318#change-101121

* Author: Dolf Schimmel
* Status: Unreviewed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 3.3.2
* Keywords: hiera, automatic parameter binding
* Branch: 
----------------------------------------
Hi,

In my chain of hiera files I have an empty file. My manifests look as follows:
<pre>
<blockquote>

node 'example.com' {
  
  include role::vps::hypervisor

}


class role::vps::hypervisor inherits role::vps {
}


class role::vps inherits role {
  
}


class role {

  include profile::base

}

class profile::base (
  $firewall = params_lookup('firewall', 'global' ),
  $manage_networking = true
) {
  
  # Some code here

}
</pre>
</blockquote>

This results in the following error:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
undefined method `empty?' for false:FalseClass at role.pp:2 on node example.com

Once I remove the parameters in the profile::base class, the error changes in 
to the little bit more helpful message:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Data 
retrieved from /etc/puppet/hieradata/vps.yaml is String not Hash at 
/etc/puppet/modules/profile/manifests/base.pp:13 on node example.com.

Two issues:<ul><li>
I think an empty or invalid Hiera file should not result in an error at 
all.</li><li>
If, for whatever reason, automatic parameter binding fails, a reasonable error 
should be displayed. In the past I've seen (and reported) several issues where 
the binding failed, and resulted in some vague issues which are hard to debug.
</li></ul>
Parser: future (not sure if relevant)<br />
<br />
Hiera version: 1.3.0<br />
Puppet version: 3.3.2<br />
OS: Debian 7, 64 bit<br />
Env: Passenger<br />

I wouldn't classify the priority of this issue as low, because it's easy to 
trigger, and really hard to find the cause off the given error message.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to