-
Bug
-
Resolution: Unresolved
-
Major
-
2.11.0
-
Quality / Stability / Reliability
-
False
-
-
True
-
Release Note Not Required
-
-
Description of problem:
VM migrated from OVA with EFI firmware is created with BIOS bootloader, causing boot failure.
Version-Release number of selected component (if applicable):
├── OCP version: 4.20.13 ├── MTV version: 2.11.0 (redhat-osbs-on-pr-abbcccd1818ef5758d252b4f13b743fec3390cc1) └── CNV version: 4.20.5
How reproducible:
Always
Steps to Reproduce:
1. Add the feature flag in the forklift-controller: feature_ova_appliance_management: 'true' 2. Create OVA provider with "applianceManagement: 'true'" 3. Create migration plan to migrate VM: Auto-esx8.0-win2019-efi-with-extra-online-disks 4. Start the migration, after migration completes, start the VM
Actual results:
VM fails to boot
Expected results:
VM should boot successfully with EFI firmware
Additional info:
Source OVA has EFI firmware:
<vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="efi"/>
MTV correctly detected the firmware as UEFI:
kubectl get plan ova -n mtv-test -o json | jq '.status.migration.vms[] | select(.id == "7bffb6e899446ed10721a75f32297b2b4b18") | {name, firmware}'
{
"name": "Auto-esx8.0-win2019-efi-with-extra-online-disks",
"firmware": "uefi"
}
Created VM has BIOS bootloader instead of EFI:
kubectl get vm auto-esx8.0-win2019-efi-with-extra-online-disks -n mtv-test -o
jsonpath='{.spec.template.spec.domain.firmware.bootloader}' | jq .
{
"bios": {}
}
VM status shows failed to boot:
kubectl get vmi auto-esx8.0-win2019-efi-with-extra-online-disks -n mtv-test
NAME AGE PHASE IP NODENAME READY auto-esx8.0-win2019-efi-with-extra-online-disks 7m48s Failed qemtvd-05-dw7vm-worker-0-f9vw8 False
Root cause: MTV correctly detects EFI firmware from source OVA but fails to apply it when creating the target VM. This is the reverse of MTV-1538 (which incorrectly changed BIOS to EFI). Same root cause, opposite direction.