Hello,
we just restored puppetserver from backup but after restoration puppet server is not entirely happy.
It gives this error:
/opt/puppetlabs/bin/puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Lookup of key 'profile::ruby::packages' failed: DataBinding 'hiera': undefined method `empty?' for nil:NilClass at /etc/puppetlabs/code/modules/profile/manifests/base.pp:2:5 on node ldl.EXAMPLE.COM
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
i am running puppetserver version: **2.5.0**
# puppetserver gem list
*** LOCAL GEMS ***
deep_merge (1.0.1)
hiera-eyaml (2.0.8)
hiera-eyaml-gpg (0.5)
highline (1.6.21)
jar-dependencies (0.1.13)
jruby-openssl (0.9.7 java)
json (1.8.0 java)
mini_portile (0.6.2)
rake (10.1.0)
rdoc (4.1.2)
ruby_gpg (0.3.2)
trollop (2.1.2)
# /opt/puppetlabs/puppet/bin/gem list
*** LOCAL GEMS ***
bigdecimal (1.2.4)
deep_merge (1.0.1)
facter (3.4.1)
hiera (3.2.1)
hiera-eyaml (2.1.0)
hiera-eyaml-gpg (0.6)
highline (1.6.21)
hocon (0.9.3)
io-console (0.4.3)
json (1.8.1)
minitest (4.7.5)
net-ssh (2.9.2)
psych (2.0.5)
puppet (4.6.1)
rake (10.1.0)
rdoc (4.1.0)
semantic_puppet (0.1.2)
stomp (1.3.3)
test-unit (2.1.9.0)
trollop (2.1.2)
# cat /etc/puppetlabs/code/hiera.yaml
---
:backends:
- yaml
- eyaml
:hierarchy:
- "%{::environment}/%{::trusted.certname}"
- "%{::environment}"
- common
:yaml:
:datadir: /etc/puppetlabs/code/hieradata
:eyaml:
:datadir: /etc/puppetlabs/code/hieradata
:merge_behavior: deeper
when i run hiera manually looks like it is working:
# hiera 'profile::ruby::packages' environment=production
["ruby"]
here are manifests that are part of above error
# cat /etc/puppetlabs/code/modules/profile/manifests/base.pp
class profile::base {
include profile::ruby
$useful_packages = hiera("profile::useful::packages")
package {$useful_packages:
ensure => latest,
}
}
# cat /etc/puppetlabs/code/modules/profile/manifests/ruby.pp
class profile::ruby (
$packages = hiera('$profile::ruby::packages'),
$version = hiera('$profile::ruby::version'),
) {
package { $packages:
ensure => $version
}
}
Can anyone point what should be done to fix puppet.?
thanks
Wkg
puppet server error:
2016-09-20 10:11:13,245 DEBUG [qtp1550957461-29] [puppetserver] Puppet Performing a hiera indirector lookup of lookup_options with options {:variables=>Scope(Class[Profile::Ruby]), :merge=>#>, @value_type=#]>>>]>, @options={}>}
2016-09-20 10:11:13,245 DEBUG [qtp1550957461-29] [puppetserver] Puppet Performing a hiera indirector lookup of lookup_options with options {:variables=>Scope(Class[Profile::Ruby]), :merge=>#>, @value_type=#]>>>]>, @options={}>}
2016-09-20 10:11:13,647 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Hiera YAML backend starting
2016-09-20 10:11:13,647 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Hiera YAML backend starting
2016-09-20 10:11:13,648 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking up lookup_options in YAML backend
2016-09-20 10:11:13,648 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking up lookup_options in YAML backend
2016-09-20 10:11:13,652 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source production/ldl.EXAMPLE.COM
2016-09-20 10:11:13,652 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source production/ldl.EXAMPLE.COM
2016-09-20 10:11:13,665 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source production
2016-09-20 10:11:13,665 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source production
2016-09-20 10:11:13,685 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source common
2016-09-20 10:11:13,685 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Looking for data source common
2016-09-20 10:11:13,698 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Hiera eYAML backend starting
2016-09-20 10:11:13,698 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Hiera eYAML backend starting
2016-09-20 10:11:13,699 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Using Hiera 1.x backend API to access instance of class Hiera::Backend::Eyaml_backend. Lookup recursion will not be detected
2016-09-20 10:11:13,699 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Using Hiera 1.x backend API to access instance of class Hiera::Backend::Eyaml_backend. Lookup recursion will not be detected
2016-09-20 10:11:13,699 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Set option: datadir = /etc/puppetlabs/code/hieradata
2016-09-20 10:11:13,699 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Set option: datadir = /etc/puppetlabs/code/hieradata
2016-09-20 10:11:13,700 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking up lookup_options in eYAML backend
2016-09-20 10:11:13,700 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking up lookup_options in eYAML backend
2016-09-20 10:11:13,701 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source production/ldl.EXAMPLE.COM
2016-09-20 10:11:13,701 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source production/ldl.EXAMPLE.COM
2016-09-20 10:11:13,701 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Cannot find datafile /etc/puppetlabs/code/hieradata/production/ldl.EXAMPLE.COM.eyaml, skipping
2016-09-20 10:11:13,701 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): Cannot find datafile /etc/puppetlabs/code/hieradata/production/ldl.EXAMPLE.COM.eyaml, skipping
2016-09-20 10:11:13,702 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source production
2016-09-20 10:11:13,702 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source production
2016-09-20 10:11:13,707 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source common
2016-09-20 10:11:13,707 DEBUG [qtp1550957461-29] [puppetserver] Puppet hiera(): [eyaml_backend]: Looking for data source common
2016-09-20 10:11:13,726 ERROR [qtp1550957461-29] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Lookup of key 'profile::ruby::packages' failed: DataBinding 'hiera': (): expected , but found BlockMappingStart while parsing a block mapping at line 1069 column 6 at /etc/puppetlabs/code/modules/profile/manifests/base.pp:2:5 on node ldl.EXAMPLE.COM
↧