Uploaded image for project: 'Migration Toolkit for Virtualization'
  1. Migration Toolkit for Virtualization
  2. MTV-4497

OVA migration changes firmware from EFI to BIOS causing boot failure

XMLWordPrintable

      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.

       

              rh-ee-ehazan Elad Hazan
              rh-ee-msafra Miryam Safra
              Miryam Safra Miryam Safra
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: