[nova] Spawning instance that will do PXE booting

Alex Schultz aschultz at redhat.com
Fri Dec 3 22:34:45 UTC 2021


On Fri, Dec 3, 2021 at 3:22 PM Thomas Goirand <zigo at 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/ipxe

You basically build an image that just attempts ipxe on repeat.

$ git clone --recurse-submodules --remote-submodules
https://opendev.org/openstack/openstack-virtual-baremetal
$ cd openstack-virtual-baremetal/ipxe
$ make
???
$ openstack image create --file ipxe-boot.img ipxe-boot


> I've just read a post where someone boots the iPXE binary from Grub, so
> that part shouldn't be hard: format a disk, make a ext4 partition, put
> the iPXE binary there, and tell grub to execute it. Is that all?!?
>
> Cheers,
>
> Thomas Goirand (zigo)
>
> P.S: I do have some knowledge on how to prepare disk images. After all,
> I've maintained the Debian OpenStack images for 3 Debian releases. So I
> probably just need a few pointers...
>




More information about the openstack-discuss mailing list