[nova] Spawning instance that will do PXE booting

Julia Kreger juliaashleykreger at gmail.com
Fri Dec 3 21:41:24 UTC 2021

On Thu, Dec 2, 2021 at 12:10 AM Thomas Goirand <zigo at debian.org> wrote:
> On 12/2/21 12:51 AM, Clark Boylan wrote:
> > I'm not super familiar with all the details but I believe ironic does something similar in their devstack plugin [2]. They do this so they can create fake baremetal instances that are actually VMs that ironic manages. But a similar setup will probably work for your use cases if PXE is what you are starting with.
> >
> > [2] https://opendev.org/openstack/ironic/src/branch/master/devstack/lib/ironic#L2109
> Hi,
> Thanks Clark for your answer.
> I've read the script a little bit, and I have to admit I do not
> understand what it does... :(
> If some Ironic falks can explain, that'd be great!
> Cheers,
> Thomas Goirand (zigo)

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.

More information about the openstack-discuss mailing list