Hello guys,
I've been discussing about that with few of you in FOSDEM and Cfgmgmtcamp.
Foreman right now lacks a way of configuring and upgrading the hardware of
bare-metal hosts.
What I have in mind is things like: upgrading bios, flashing RAID controler
firmware, configuring RAID, flashing NIC controler firmware, etc…
After discussion, it seems that managing that would require some new
features on both smart-proxy and Foreman side.
The basic idea may be to use the embeded smart-proxy in discovery image to
flash and configure new hosts.
When discovering a new host, we would use the "local" smart-proxy to
upgrade all firmwares.
In order to achieve that, we would need to add some Hardware Profile (in
the discovery plugin ?) and find a way to map some firmwares to classes of
"Hardware Profile".
Like : I want all my DELL/HP R620/DL360 to have that list of firmwares
installed at that version and my RAID configuration beeing configured with
a RAID1 of my 2 first drives and a RAID6 of all others disks.
I'm not sure how we would have to implement that and what would be the
workflow. And there is stil lots of questions:
- Should we add a new route API in smart-proxy with a vendor abstraction
and then some vendor implementation ? - How should we handle the RAID configuration ? We could add a layout
like we have for partioning on OS level ? - How do we store firmwares ? Inside Foreman DB or in a HTTP repository ?
Do we push it to smart-proxy or smart-proxy fetch them ? - Do we extend Compute Profle for Hardware Profile ?
- How will be handled firmware upgrade once the host is provisioned ?
- We may take some time to look at other similar project ?
Do you guys have any idea / opinion ?
Cheers,
Romain / fitzdsl