Feature #2260
closed
Support dynamic ERB parameters in global and class params
Added by Greg Sutcliffe almost 12 years ago.
Updated about 11 years ago.
Description
Sometimes you want to pass information that Foreman knows (such as hostnames, IPs, MACs, subnets, etc) to Puppet through the ENC. At present it is not possible to do
parameters:
test: '<%= @host.name %>'
or
classes:
puppet:
certname: '<%= @host.certname %>'
Foreman will simply send this static string to Puppet. It would be nice to be able to send dynamic data to Puppet via ERB, just like we do in the templates.
- Description updated (diff)
- Target version set to 1.3.0
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This looks like what I am looking for, but don't seem to be able to do everything I would expect, like:
classes:
envtest:
two: <%= scope.lookupvar(envtest::params::one) %>
or
classes:
envtest:
two: '<%= @envtest::params::one) %>'
Should ERB functions work? and should it be possible to lookup other variables set in Foreman, rather than just facts?
There's a difference between ERB templating in Foreman and in Puppet, as it changes what variables you'll have access to. This feature allows for interpolation as per TemplateWriting in Foreman, which is long before Puppet classes and parameters are available. You won't be able to reference any Puppet ERB functionality from Foreman.
Also available in: Atom
PDF