On 12/3/21 11:34 PM, Alex Schultz wrote:
On Fri, Dec 3, 2021 at 3:22 PM Thomas Goirand <zigo@debian.org> wrote:
On 12/3/21 10:41 PM, Julia Kreger wrote:
Extreme magic - OpenStack Edition. At least that feels like the answer.
In essence, we create VMs. We attach them to the network, then configure virtualbmc or sushy-tools to play the role of a BMC and one of the things that library understand is the giant switch of "boot to network". From there we ipxe boot. The VMs play the role of baremetal machines through the emulation of the BMC and they are just hooked up to the network.
This does require the job to use root privileges to setup networking/vms. And the virtualbmc or sushy-tools service needs enough rights to toggle the VM's config. Would be happy to try and discuss specifics of the devstack plugin, but I'm unsure if that would really help. Regardless, you know where to find us. :)
As an aside, when I first read the post I was thinking of booting from ISO images. I've known people to embed ipxe into disk images, and you can embed static config/instructions for booting into an ipxe binary. It does require custom binary builds, but it might make what you're trying to achieve easier.
Hi Julia!
Thanks for your answer.
Well, I've read multiple times your reply, but I have to admit I still don't get all the details. For example, how would you "embed ipxe into disk images" for example? Should I for example run the iPXE binary from something like syslinux (or grub?)? But isn't iPXE usually running *after* the BIOS of a PC gets an IP from DHCP?
I'm sure there are other examples around but the one we used to (maybe still do) use for ovb can be built via:
https://opendev.org/openstack/openstack-virtual-baremetal/src/branch/master/...
You basically build an image that just attempts ipxe on repeat.
Hi Alex! In fact, I just found out my solution: http://boot.ipxe.org/ipxe.iso Just download this, then: openstack image create \ --disk-format iso \ --container-format bare \ --file ipxe.iso ipxe.iso Et voila! The VM boots from PXE (I checked on the VNC console, and it also gets DHCP). I didn't go further, but it should be easy to setup the rest of the components (ie: a private network without DHCP, and a VM acting as DHCPd + tftp-hpa). I'll let you guys know how much progress I'm making with all of this (probably I'll start working on this next week...). Cheers, Thomas Goirand (zigo)