Ask Your Question

Hiera Eyaml Error - Cannot load backend eyaml: no such file to load -- hiera/backend/eyaml_backend

asked 2017-09-29 09:50:41 -0600

Vishwa gravatar image

We have installed hiera-eyaml rubygem as the root user on the Puppet Master node to encrypt/decrypt our passwords.

# /opt/puppetlabs/bin/puppetserver gem install hiera-eyaml --no-doc --no-ri --verbose
# /opt/puppetlabs/puppet/bin/gem install hiera-eyaml --no-doc --no-ri --verbose

eyaml command seems to work fine on the commandline to encrypt/decrypt passwords and also edit the *.yaml files containing the passwords

# /opt/puppetlabs/puppet/bin/eyaml

Our Hiera file :

- eyaml
- yaml

:datadir: "/etc/puppetlabs/code/environments/%{environment}/hieradata"
:pkcs7_private_key: /etc/puppetlabs/puppet/eyaml-keys/%{environment}/%{::zone}/private_key.pkcs7.pem
:pkcs7_public_key: /etc/puppetlabs/puppet/eyaml-keys/%{environment}/%{::zone}/public_key.pkcs7.pem
:cache_decrypted: false
:extension: 'yaml'

:datadir: "/etc/puppetlabs/code/environments/%{environment}/hieradata"
- "environments/%{::environment}/%{::zone}_secure"
- "environments/%{::environment}/%{::zone}"
- "environments/%{::environment}/%{::environment}"
- "roles/%{::role}"
- "common"
- "versions/artifact-versions"*

Note : zone and role are our external facts
We also restarted PuppetMaster and reinstalled hiera-eyaml. We still have the same issue.

PuppetMaster is unable to decrypt the passwords during a puppet agent run for us . It produces the following error :

[puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Cannot load backend eyaml: no such file to load -- hiera/backend/eyaml_backend at /etc/puppetlabs/code/environments/production/manifests/site.pp:2:10 on node

I have enclosed the below version information that we use :

Puppet Version : 4.7.0

64-bit, RHEL 7.3 (Maipo)

# /opt/puppetlabs/bin/puppetserver gem list --local | grep -E "(eyaml|trollop|highline)"
hiera-eyaml (2.1.0)

highline (1.6.21)
trollop (2.1.2)

# /opt/puppetlabs/puppet/bin/gem list --local | grep -E "(eyaml|trollop|highline)"
hiera-eyaml (2.1.0)
highline (1.6.21)
trollop (2.1.2)

# /opt/puppetlabs/puppet/bin/ruby --version
ruby 2.1.9p490

# /opt/puppetlabs/puppet/bin/gem --version

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-10-27 08:20:50 -0600

Vishwa gravatar image

We rebooted the PuppetMaster. It did not come up!...

The infrastructure team built us a new PuppetMaster VM. Hiera-Eyaml works fine on the new Puppet Master VM.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2017-09-29 09:50:41 -0600

Seen: 302 times

Last updated: Oct 27 '17