Puppetserver can't use eyaml

Bug #2025540 reported by Hadmut Danisch
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppetserver (Ubuntu)
New
Undecided
Unassigned

Bug Description

Hi,

when using puppetserver under Ubuntu 23.04, I can't use eyaml for encrypted hiera data, even with ubuntu-package hiera-eyaml installed. Doesn't work with gem hiera-eyaml (installed with gem command) either.

Client always aborts with

 Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Function Load Error for function 'eyaml_lookup_key': Lookup using eyaml lookup_key function is only supported when the hiera_eyaml library is present (file: ..., line: 69, column: 1) on node ...

which comes from

/usr/lib/ruby/vendor_ruby/puppet/functions/eyaml_lookup_key.rb

unless Puppet.features.hiera_eyaml?
    raise Puppet::DataBinding::LookupError, 'Lookup using eyaml lookup_key function is only supported when the hiera_eyaml library is present'
  end

So the reason is that Puppet.features.hiera_eyaml? is not true.

The only code to set this to true I found in
/usr/lib/ruby/vendor_ruby/puppet/feature/hiera_eyaml.rb

Puppet.features.add(:hiera_eyaml, :libs => ['hiera/backend/eyaml/parser/parser'])

which does not seem to be read by puppetserver

ProblemType: Bug
DistroRelease: Ubuntu 23.04
Package: puppetserver 7.9.5-1
ProcVersionSignature: Ubuntu 5.15.0-75.82-generic 5.15.99
Uname: Linux 5.15.0-75-generic x86_64
ApportVersion: 2.26.1-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: unknown
CloudArchitecture: x86_64
CloudBuildName: server
CloudID: lxd
CloudName: unknown
CloudPlatform: lxd
CloudSerial: 20180426.2
CloudSubPlatform: seed-dir (/var/lib/cloud/seed/nocloud-net)
Date: Sun Jul 2 00:33:19 2023
PackageArchitecture: all
SourcePackage: puppetserver
UpgradeStatus: Upgraded to lunar on 2023-07-01 (0 days ago)

Revision history for this message
Hadmut Danisch (hadmut) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.