Bare metal provisioning

I’ve been reviewing the OpenNebula documentation for virtualization drivers, with the intention of discovering the difficulty that would be involved in a bare metal driver.

I’d assume this would work where each “host” would be a server controlling PXE booting for a set of known Mac addresses (probably all the other boxes in its rack), such that some chain loading would lead to boxes booting from an iSCSI target (or Ceph, etc). I’m not sure how networking would happen with things like VXLAN, but I would be prepared to target eg a bridged network for a first pass.

Based upon this I have some questions:

Is OpenNebula’s existing notion of resources going to be an obstacle in this? As far as I can tell there isn’t an idea of a machine in the way I’d like to use it, and RAM is very much pooled so having discrete units at different sizes might be hard.

Second, are there any efforts in this direction already? I’d rather contribute to an extant project than start one, if possible.

Third, will this ever be on the roadmap?

Hi John

This is not in our currently short-term roadmap. There are some integration
with automatic deployment tools that could prepare and rol an OpenNebula
node in an existing cloud. However, you would like to provision and control
bare metal hosts from an existing pool. In this scenario, I think there
should be a 1 to 1 mapping between a Host and a VM. Probably at some extent
we can adjust any mismatch between VM and bare metal Hosts in drivers; but
much of the logic that abstract a VM life-cycle is not needed if you are
dealing with hosts.