Host parameter not rendered in user_data template
I'm running Foreman 1.14.3 and have an issue with host parameters not available in user_data template.
In the template I have:
<%= @host.params['myparam'] %>
On the host creation page, in the parameter tab, I add a host param 'myparam' with value 'test'.
Once the host is created, the 'Preview' template correctly shows the param value.
But the generated template on the target machine (in /var/lib/cloud..) does not contain the param value (it is empty).
If I set the parameter on hostgroup or subnet then it works as expected.
The problem is only with params at host level.
This is probably related to #19465
Yes it seems so, in my case the preview does render the parameter
- Status changed from New to Need more information
Are you using organizations or locations? Could you update to 1.15 and retest?
- Related to Bug #19465: User data template rendering does not render host parameters added
Yes I'm using organizations and locations.
I will upgrade to 1.15 and let you know.
Same behaviour with 1.15.3 and the new syntax
Same here with 1.15.6-1. Safemode is off, render template shows the variables correctly but the actual userdata sent to the instance doesn't.
Has anyone found a workaround yet?
My workaround is to use a tmp hostgroup at host creation...
- Status changed from Need more information to New
By rendering the template you mean preview the render while editing it? It might be caused by the fact that when the template is rendered for the host, different, system user account is used.
Yes, the preview while editing templates OR the 'Review' template on the host page (once created) show the parameter.
- Related to Bug #23104: Host parameters not available in foreman_hooks added
- Related to Bug #21618: hostgroup parameter does not show up in the PXE template added
- Related to Bug #21552: Host parameters added/updated via API do not make it to userscript on provisioning to EC2 added
Still valid for 1.19RC3 ;)
- Found in Releases 1.19.0-RC3 added
- Subject changed from Host parameter not working in provisioning template to Host parameter not rendered in user_data template
As a precision, it impacts only user_data templates. Parameters are correctly rendered in Finish templates.
We're using PXELinux template, and is also impacted.
Found also in 1.19.1-1.el7.
Affects Provisioning template, Finish template and PXELinux template.
- Found in Releases 1.19.1 added
- Found in Releases deleted (
I have upgraded to 1.20.0-1.el7 and the bug is there too.
- Found in Releases 1.15.3, 1.19.0-RC3, 1.20.0 added
- Found in Releases 1.21.3 added
Also available in: Atom