hiera-eyaml icon indicating copy to clipboard operation
hiera-eyaml copied to clipboard

hiera-eyaml does not work on puppet 4.9

Open elconas opened this issue 8 years ago • 8 comments

puppet 4.9 released on 1.2.2017 and has hiera5 in it.

When running with hiera-eyaml backend with puppet 4.9 I get the error:

Error: Evaluation Error: Error while evaluating a Resource Statement, Lookup of key 'puppetserver::version' failed: Unrecognized value for request 'merge' parameter: 'unconstrained_deep' at /tmp/muh.pp:1:1 on node server

elconas avatar Feb 03 '17 08:02 elconas

my upgrade to puppet 4.9 broke as well;

Internal Server Error: org.jruby.exceptions.RaiseException: (Exception) Hiera type mismatch: expected Hash and got String

is the error I receive.

also

Puppet /etc/puppetlabs/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5

also if I run something like:

puppet lookup --debug apt::purge

I see in the debug log:

Unable to load backend 'eyaml': cannot load such file -- hiera/backend/eyaml_backend

edit; I rolled back puppet-agent version and I am back working again.

jurgenweber avatar Feb 04 '17 11:02 jurgenweber

:+1: Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.RaiseException: (Exception) Hiera type mismatch: expected Hash and got String

@jurgenweber That last error will be because the gem directory is different for pupeptserver and puppet-agent I'm guessing

spjmurray avatar Feb 08 '17 14:02 spjmurray

@elconas what puppet code are you using to test in /tmp/muh.pp?

The error message seems to indicate that you've provided an illegal value to the merge parameter of the lookup function.

unconstrained_deep doesn't appear to be valid in puppet 4.8 either.

https://docs.puppet.com/puppet/4.8/function.html#merge-behaviors

npwalker avatar Feb 08 '17 23:02 npwalker

Seems this is Puppet causing misery, see PUP-7169 and probably PUP-7100 (looking to the future)

spjmurray avatar Feb 09 '17 13:02 spjmurray

Ah interesting so it looks like eyaml indeed does not work with Puppet 4.9.0 but should work with 4.9.2.

npwalker avatar Feb 09 '17 16:02 npwalker

I have just tested it with puppet 4.9.2 and I'm still getting the Hiera type mismatch: expected Hash and got String error

amateo avatar Feb 13 '17 11:02 amateo

FYI; this problem seems to have been fixed with upgrading puppet-agent to 1.9.3 on the puppet master.

senax avatar Apr 05 '17 07:04 senax

Yes, It is fixed with 1.9.3

amateo avatar Apr 05 '17 08:04 amateo