[nova] Enabling UEFI for BFV instances
Hi everyone, I’m working on an open source tool right now which can do online migration of VMware instances to OpenStack. It uses VDDK and some other neat pieces of open source technology (nbdkit, libnbd, virt-v2v). It’s working great so far and I have a few challenges before release. When migrating a VM that was using UEFI in VMware, the VM will not boot inside OpenStack because it needs `hw_machine_type` to be set to `uefi`. However, the way that I’m doing migrations, I’m mounting a volume inside a migration “appliance VM” and copying data into it (to make it generic enough to work with all backends). Is there a way we can mark a volume as UEFI bootable by any chance so that Nova picks it up? Thanks, Mohammed
Thanks to Dan Smith’s help, he pointed me out over IRC to look at: https://docs.openstack.org/api-ref/block-storage/v3/#set-image-metadata-for-... Thanks again, I’ll be sharing more after I wrap up the final bits soon. 😊 From: Mohammed Naser <mnaser@vexxhost.com> Date: Monday, June 24, 2024 at 10:17 AM To: OpenStack Discuss <openstack-discuss@lists.openstack.org> Subject: [nova] Enabling UEFI for BFV instances Hi everyone, I’m working on an open source tool right now which can do online migration of VMware instances to OpenStack. It uses VDDK and some other neat pieces of open source technology (nbdkit, libnbd, virt-v2v). It’s working great so far and I have a few challenges before release. When migrating a VM that was using UEFI in VMware, the VM will not boot inside OpenStack because it needs `hw_machine_type` to be set to `uefi`. However, the way that I’m doing migrations, I’m mounting a volume inside a migration “appliance VM” and copying data into it (to make it generic enough to work with all backends). Is there a way we can mark a volume as UEFI bootable by any chance so that Nova picks it up? Thanks, Mohammed
Hello Mohammed, I think setting hw_machine_type=uefi in volume_metadata for a volume should make it being honored by Nova (virt-v2v should set it in volume_metadata already). But I also know that the tool that we use internally also sets hw_machine_type=uefi on the instance to be extra explicit. Best regards Tobias
On 24 Jun 2024, at 16:17, Mohammed Naser <mnaser@vexxhost.com> wrote:
Hi everyone,
I’m working on an open source tool right now which can do online migration of VMware instances to OpenStack. It uses VDDK and some other neat pieces of open source technology (nbdkit, libnbd, virt-v2v). It’s working great so far and I have a few challenges before release.
When migrating a VM that was using UEFI in VMware, the VM will not boot inside OpenStack because it needs `hw_machine_type` to be set to `uefi`. However, the way that I’m doing migrations, I’m mounting a volume inside a migration “appliance VM” and copying data into it (to make it generic enough to work with all backends).
Is there a way we can mark a volume as UEFI bootable by any chance so that Nova picks it up?
Thanks, Mohammed
On Mon, 2024-06-24 at 16:38 +0200, Tobias Urdin wrote:
Hello Mohammed,
I think setting hw_machine_type=uefi in volume_metadata for a volume should make it being honored by Nova (virt-v2v should set it in volume_metadata already). its no9t hw_machine_type=uefi its hw_firmware_type=uefi you shoudl set hw_machine_type=q35
https://github.com/openstack/glance/blob/master/etc/metadefs/compute-libvirt... https://github.com/openstack/glance/blob/master/etc/metadefs/compute-libvirt...
But I also know that the tool that we use internally also sets hw_machine_type=uefi on the instance to be extra explicit.
Best regards Tobias
On 24 Jun 2024, at 16:17, Mohammed Naser <mnaser@vexxhost.com> wrote:
Hi everyone, I’m working on an open source tool right now which can do online migration of VMware instances to OpenStack. It uses VDDK and some other neat pieces of open source technology (nbdkit, libnbd, virt-v2v). It’s working great so far and I have a few challenges before release. When migrating a VM that was using UEFI in VMware, the VM will not boot inside OpenStack because it needs `hw_machine_type` to be set to `uefi`. However, the way that I’m doing migrations, I’m mounting a volume inside a migration “appliance VM” and copying data into it (to make it generic enough to work with all backends). Is there a way we can mark a volume as UEFI bootable by any chance so that Nova picks it up? Thanks, Mohammed
participants (3)
-
Mohammed Naser
-
smooney@redhat.com
-
Tobias Urdin