Hide Forgot
Description of problem: - Customer is attempting to write a Finish script where it detects which hardware platform the system is being provisioned on (in his case VMware and bare metal on HP ProLiant ) in order to install the right support software (VMware Tools vs ProLiant Support Pack) Version-Release number of selected component (if applicable) Red Hat Satellite 6.1.5 Actual results: No such supported Marco currently. Expected results: There should be marco defined for foreman to detect which hardware platform the system is being provisioned on Additional info: Checked in Foreman: http://projects.theforeman.org/projects/foreman/wiki/templatewriting there is no such supported Marco.
Created redmine issue http://projects.theforeman.org/issues/20572 from this bug
Thank you for your interest in Satellite 6. We have evaluated this request, and we do not expect this to be implemented in the product in the foreseeable future. We are therefore closing this out as WONTFIX. If you have any concerns about this, please feel free to contact Rich Jerrido or Bryan Kearney. Thank you.
I've closed the upstream bug because there is macro with the desired behavior. This macro is called "provider" and it's at Host::Managed object. So if have a @host that is running at Libvirt resource, you can call "@host.provider" and it returns "Libvirt". So with this macro, we can prepare simple if condition for desired case: <% case @host.provider %> <% when "BareMetal" %> echo "Host is running at own BareMetal hardware" <% when "VMware" %> echo "Host is virtualized by VMware" <% end %> This macro is at Host::Managed class since that class was created (https://github.com/theforeman/foreman/blob/d7611b242760bffdd801a63dd4d3e63533ccfa52/app/models/host/managed.rb#L55). That means this macro is included in Foreman since version 1.2.0-RC1 and in Satellite since version 5.7.
A small correction of the Satellite version - it's present from Satellite 6.0