Just found this issue, which seems to describe what's going on: https://github.com/TomPoulton/hiera-eyaml/issues/222 So eyaml is broken wrt hash merges? Are there any workarounds available?
On Tue, Feb 14, 2017 at 12:35 PM, Daniel Urist <[email protected]> wrote: > To get deep hash merges in hiera, I have been using the following in my > hiera.yaml: > > >> --- >> :merge_behavior: deeper >> :backends: >> - eyaml > > > And in one of my classes, a call to hiera_hash() like this: > > $if_merged = hiera_hash('profiles::pserver::interfaces') > > > However, with puppetserver version 2.7.2-1puppetlabs1, this is now broken > and fails with this error: > > 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 Array > > > I've tried commenting out ":merge_behavior: deeper" in hiera.yaml and > using a lookup function instead: > > $if_merged = lookup('profiles::pserver::interfaces', Hash, 'deep') > > > However, I'm not getting a merged hash when I do this. > > How can I get a deep merge hash? > > > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAEo6%3DKbeWQj9bM606fW%2BpFWeXee2guvinCJ8ffVx2%2Bxvq_PnXA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
