Currently I am building this outside of Foreman (lack of ruby knowledge), but would like some pointers and thoughts on the following. With some luck will be able to actually find time to build it as a plugin in a couple months.
With Dell servers (HP has something similar but I am not familiar with it), you can set a DHCP option (not sure this would work w/o url rewriting rules because of the default requests or managing DHCP) alternatively using command line or web-ui tools, load a system configuration xml that configures, the BMC, RAID, NICs, etc. from an http source.
What I was thinking about is a plugin that allows you to specify a path in unattended (/unattened/bmc?mac=&<any other url params, service tag for dell’s>), a flag indicating if it is host specific (in this case mac/other params must be able to map to a specific host’s bmc interface), and the template to render. I can see extending this to other protocols (generate tftp files). This would allow configuring the system out of the box with information we are capturing in foreman.
I can see this idea being extended to support other hardware as well (Juniper switches).
Any thoughts, suggestions, pointers on where to start (if I can find the time)?