On 17/10/2025 15:30, Eugen Block wrote:
Why didn't we think of this?! That's a great idea! I'm gonna try that as soon as possible.
Thanks a lot!
Zitat von Harald Jensas <hjensas@redhat.com>:
Hi,
openstack-virtual baremetal carried patches[1] to enable PXE booting instances, I think the nova project declined including them back when, I do not know why ...
not as far as i am awre we have enve dicsused this a few time over the last few cycle and said fi soem actully wanto to propose a spec to upstream addtional support for pxe boot we woudl review it. i am not aware of anyone trying to upstream those patches before. currently there are 3 ways to pxe boot in nova 1 you can enable the qemu boot menu. if you have uefi boot enabel the ovmf uefi image supprot pxe booting the other way is to use an iso or cinder volume as you suggest below the third ay is vis rescue we have docs for that here https://docs.openstack.org/nova/latest/user/boot-instance-using-PXE.html we have breiflly dcised the idea of also having a way to annotat a neuton port as a boot device to stream line the pxe boot process. the reason this has not been done is just that no one express interest in actually doing it. in any case its possibel to pxe boot vms today in nova 1 interactivly via the pxe supprot in the ovmf uefi firmware 2 via using a ipxe image as an addtional disk or the root disk 3 via rescue patches shoudl not be required but it woudl be nice if we coudl suport this more trivially if folks were actully interested in that capablity.
Another potential solution is to use block_device_mappings and attach an iPXE image as a secondary disk and set that as boot_index: 0. I use the following when creating an instance, the "server_img.id" can be a "blank" image initially. Then the second image is an iPXE image. The result is that the instance boots into iPXE which does network boot ...
block_device_mapping = [ {'uuid': server_img.id, 'boot_index': 1, 'source_type': 'image', 'destination_type': 'volume', 'device_type': 'disk', 'volume_size': VOLUME_SIZE, 'delete_on_termination': True, }, {'uuid': ipxe_image.id, 'boot_index': 0, 'source_type': 'image', 'destination_type': 'volume', 'device_type': 'cdrom', 'disk_bus': 'sata', 'volume_size': VOLUME_SIZE, 'delete_on_termination': True, } ]
[1] https://opendev.org/openstack/openstack-virtual-baremetal/src/branch/stable/...
// Harald