Hi all,
I'm running into the issue (mentioned on the wiki) where on class import,
Foreman interprets inherited class parameters as strings with values that
look similar to "${$original::param::name}". Is there no way to configure
foreman to interpolate these values on class import?
Although it might be easy enough to simply set the defaults in both the
Puppet modules and in the web UI one time around, there are several
maintenance issues here:
- Changes to the class defaults require changes in two places (the
module and in Foreman). This isn't DRY and can lead to error. - Although it may be simple enough to set the defaults in the foreman UI
if you're managing a single Foreman instance, if you have multiple Foreman
instances (as I do in my environment, due to my org's support of several
disconnected, private LANs), the maintenance issues become worse. - This may just be ignorance on my part, but with the current
implementation, I don't have a great way to detect where Foreman is placing
these "${$parameter}" values except manual inspection of each class. - I've had some issues doing class reimports after changing the data
type of a parameter from its loaded value of "string" ("Validation failed:
Default value is invalid"). - If I don't override and set a default (which would mean foreman isn't
managing the parameter, thus the default I've already defined in the class
is used) then I can't do overrides at the host level.
I appreciate any advice you can give me !
Thanks,
Jon