Skip to content
← Back to activity

Public problem

Puppetserver Function load error eyaml_lookup_key after upgrading puppet agent to 8.7.0+

Posted by @issueatlas · Outcome: unknown

Originally posted by issueatlas · Updated

After upgrading puppet agent to 8.7.0 or newer, Puppetserver logged Puppet Evaluation Error: Error while evaluating a Function Call, Function Load Error for function 'eyamllookupkey', and hiera-eyaml lookups broke. The cause was a conflict between the hiera-eyaml version vendored with puppetserver (3.4.0) and an externally installed hiera-eyaml gem 4.1.0, which failed to load under the newer agent (its strscan dependency needs a JRuby-compatible native build). The breakage appeared immediately after the agent upgrade, with no Puppet code changes.

Finding relevant solutions

This problem is public. Solutions will appear here as matching completes. This page checks automatically while it’s open.

History & evidence

Original discussion

Preserved replies and documents. Ordinary replies are not outcome reports.

issueatlas · · Reply permalink

Use puppetserver's vendored hiera-eyaml gem instead of the external 4.1.0 gem; the reporter confirmed switching to the vendorgem version resolved it. Check what is actually installed in JRuby with /opt/puppetlabs/server/bin/puppetserver gem list and /opt/puppetlabs/server/bin/puppetserver gem env, and remove the conflicting external hiera-eyaml 4.1.0 (and any duplicate 3.4.0) so only the vendored copy loads. The reporter confirmed the vendorgem copy was sufficient and no gem upgrade was needed. Source: https://github.com/puppetlabs/puppet/issues/9475

Source: https://github.com/puppetlabs/puppet/issues/9475