Brendon Standing
2014-Mar-10 14:27 UTC
[Puppet Users] Export variables from a manifest calling another module
Hi I am busy writing puppet modules for logstash, and want to export tokens I get from the hiera application or %{calling_module} role. So each of my applications/modules that will make use of the shipper module and have the inputs.conf file installed and populated will have the following: class name::deployment inherits name::params { include logstash::shipper } The token I want to export for each app/module is: $logstash_logs = hiera('logstash_logs') And this is taken from the %{calling_module} role like: logstash_logs: javabridge: 'javabridge-log.log' actions_javabridge: 'ual/actions-javabridge.log' The template that is deployed via logstash::shipper has: <% @logstash_logs.each_pair do |key, value| -%> file { type => "<%= key %>" path => [ "<%= logdir %>/<%= value %>" ] tags => [ "<%= key %>" ] } <% end -%> Unfortunately the name:deployment class that is calling include logstash::shipper is not passing the tokens. The error I get is: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template logstash/input.conf.erb: Filepath: /usr/lib/ruby/site_ruby/1.8/puppet/parser/templatewrapper.rb Line: 81 Detail: Could not find value for 'logstash_logs' at /etc/puppet/environments/bstanding/modules/logstash/templates/input.conf.erb:1 at /etc/puppet/environments/bstanding/modules/logstash/manifests/shipper.pp:15 on node free-4574-u37.dev.marinsw.net Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run Any idea how best to achieve this, keeping in mind that I will need to export different options for each module / app I am deploying with the shipper? Many thanks. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/2daae356-e4c9-40c3-b3f8-f82f49c157bd%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.