Page MenuHomePhabricator

Puppet4: Failed to parse template authdns/discovery-statefile.tpl.erb
Closed, ResolvedPublic

Description

baham and likely other authdns nodes fail to compile with a puppet 4 master. The error shown is:

Failed to retrieve catalog from https://puppetmaster2001.codfw.wmnet:8140/future/catalog/baham.wikimedia.org: 500 {"message":"Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template authdns/discovery-statefile.tpl.erb:\n  Filepath: /etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb\n  Line: 2\n  Detail: undefined local variable or method `keyspace' for #<Puppet::Parser::TemplateWrapper:0x007f48998520a8>\n at /etc/puppet/modules/authdns/manifests/discovery_statefile.pp:14:23 at /etc/puppet/modules/authdns/manifests/init.pp:131 on node baham.wikimedia.org","issue_kind":"RUNTIME_ERROR","stacktrace":["Warning: The 'stacktrace' property is deprecated and will be removed in a future version of Puppet. For security reasons, stacktraces are not returned with Puppet HTTP Error responses."]}

Additional detail from the puppetmaster log:

(Scope(Authdns::Discovery_statefile[appservers-ro])) Retrieving template authdns/discovery-statefile.tpl.erb
(template[/etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb]) Bound template variables for /etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb in 0.00 seconds
Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template authdns/discovery-statefile.tpl.erb:
  Filepath: /etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb
  Line: 2
  Detail: undefined local variable or method `keyspace' for #<Puppet::Parser::TemplateWrapper:0x007f48989426a8>
 at /etc/puppet/modules/authdns/manifests/discovery_statefile.pp:14:23  at /etc/puppet/modules/authdns/manifests/init.pp:131 on node baham.wikimedia.org
Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template authdns/discovery-statefile.tpl.erb:
  Filepath: /etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb
  Line: 2
  Detail: undefined local variable or method `keyspace' for #<Puppet::Parser::TemplateWrapper:0x007f48989426a8>
 at /etc/puppet/modules/authdns/manifests/discovery_statefile.pp:14:23 at /etc/puppet/modules/authdns/manifests/init.pp:131 on node baham.wikimedia.org
Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Failed to parse template authdns/discovery-statefile.tpl.erb:
  Filepath: /etc/puppet/modules/authdns/templates/discovery-statefile.tpl.erb
  Line: 2
  Detail: undefined local variable or method `keyspace' for #<Puppet::Parser::TemplateWrapper:0x007f48989426a8>
 at /etc/puppet/modules/authdns/manifests/discovery_statefile.pp:14:23 at /etc/puppet/modules/authdns/manifests/init.pp:131 on node baham.wikimedia.org
/usr/lib/ruby/vendor_ruby/puppet/parser/functions/template.rb:26:in `rescue in block (2 levels) in <top (required)>'
/usr/lib/ruby/vendor_ruby/puppet/parser/functions/template.rb:22:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/vendor_ruby/puppet/parser/functions/template.rb:15:in `collect'
/usr/lib/ruby/vendor_ruby/puppet/parser/functions/template.rb:15:in `block in <top (required)>'
/usr/lib/ruby/vendor_ruby/puppet/parser/functions.rb:174:in `block (2 levels) in newfunction'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/parser/functions.rb:167:in `block in newfunction'
/etc/puppet/modules/authdns/manifests/discovery_statefile.pp:14:in `stack'
/usr/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:30:in `eval'
/usr/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:30:in `stack'
/usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:293:in `call_function'
/usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:941:in `call_function_with_block'
/usr/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:910:in `eval_CallNamedFunctionExpression'

Event Timeline

herron renamed this task from Puppet: Failed to parse template authdns/discovery-statefile.tpl.erb to Puppet4: Failed to parse template authdns/discovery-statefile.tpl.erb.Oct 26 2017, 4:35 PM

Change 387237 had a related patch set uploaded (by Herron; owner: Herron):
[operations/puppet@production] puppet: change discovery-statefile template to parse under puppet 4

https://gerrit.wikimedia.org/r/387237

Change 387237 merged by Herron:
[operations/puppet@production] puppet: change discovery-statefile template to parse under puppet 4

https://gerrit.wikimedia.org/r/387237

herron claimed this task.