Project

General

Profile

action #55052

Support for ovmf => 2019 or "current Tumbleweed can not execute UEFI tests anymore"

Added by okurz 11 months ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2019-08-02
Due date:
% Done:

0%

Estimated time:
Difficulty:
Duration:

Description

Observation

ybonatakis reported a problem that he fails to successfully run a cloned UEFI Tumbleweed test onto their openSUSE Tumbleweed 20190704 . The package qemu-ovmf-x86_64 is installed but apparently in newer versions it does not ship the file /usr/share/qemu/ovmf-x86_64-ms.bin anymore which the openQA tests reference in the variable "BIOS".

Problem

os-autoinst still adds the BIOS and UEFI_PFLASH variables referencing the shared code+vars file but also complains that the deprecated BIOS and UEFI_PFLASH variables are used.

Workaround

The following adjustements to vars.json are necessary:

# diff -Naur vars.json.orig vars.json
--- vars.json.orig      2019-08-02 14:41:15.404504951 +0200
+++ vars.json   2019-08-02 14:56:50.819597082 +0200
@@ -2,7 +2,7 @@
    "ARCH" : "x86_64",
    "ASSETDIR" : "/var/lib/openqa/share/factory",
    "BACKEND" : "qemu",
-   "BIOS" : "/usr/share/qemu/ovmf-x86_64-ms.bin",
+   "BIOS" : "/usr/share/qemu/ovmf-x86_64-ms-code.bin",
    "BUILD" : "20190801",
    "CASEDIR" : "/var/lib/openqa/share/tests/opensuse",
    "CDMODEL" : "scsi-cd",
@@@ -56,9 +56,12 @@
    "SUSEMIRROR" : "openqa.opensuse.org/assets/repo/openSUSE-Tumbleweed-oss-i586-x86_64-Snapshot20190801",
    "SYSTEM_ROLE_STYLE" : "1",
    "TEST" : "uefi",
    "UEFI" : 1,
-   "UEFI_PFLASH" : 1,
+   "UEFI_BIOS" : "/usr/share/qemu/ovmf-x86_64-ms-code.bin",
+   "UEFI_PFLASH" : null,
+   "UEFI_PFLASH_CODE" : "/usr/share/qemu/ovmf-x86_64-ms-code.bin",
+   "UEFI_PFLASH_VARS" : "/usr/share/qemu/ovmf-x86_64-ms-vars.bin",
    "VERSION" : "Tumbleweed",
    "VIRTIO_CONSOLE" : 1,
    "VNC" : "102",

simply cloning the job with the additional override settings BIOS=/usr/share/qemu/ovmf-x86_64-ms-code.bin UEFI_PFLASH_CODE=/usr/share/qemu/ovmf-x86_64-ms-code.bin UEFI_PFLASH_VARS=/usr/share/qemu/ovmf-x86_64-ms-vars.bin should work


Related issues

Related to openQA Tests - action #49010: [opensuse][functional][y] Add test suite for NET install + expert partitioner on TumbleweedResolved2019-03-112019-08-13

History

#1 Updated by ybonatakis 11 months ago

  • Related to action #49010: [opensuse][functional][y] Add test suite for NET install + expert partitioner on Tumbleweed added

#2 Updated by okurz 11 months ago

  • Description updated (diff)

#3 Updated by okurz 11 months ago

first checking if I can run tests on o3 with explicitly specified code and vars files:

for i in 997893 997802 997878; do openqa-clone-job --within-instance https://openqa.opensuse.org --skip-chained-deps $i UEFI=1 UEFI_PFLASH= BIOS= UEFI_PFLASH_CODE=/usr/share/qemu/ovmf-x86_64-ms-code.bin UEFI_PFLASH_VARS=/usr/share/qemu/ovmf-x86_64-ms-vars.bin _GROUP=0 TEST=okurz_uefi_code_vars_poo55052 BUILD=okurz_poo55052; done

Created job #998609: opensuse-Tumbleweed-DVD-x86_64-Build20190801-uefi@64bit -> https://openqa.opensuse.org/t998609
Created job #998610: opensuse-Tumbleweed-NET-x86_64-Build20190801-uefi@64bit -> https://openqa.opensuse.org/t998610
Created job #998611: opensuse-Tumbleweed-DVD-x86_64-Build20190801-uefi@USBboot_64 -> https://openqa.opensuse.org/t998611

Need to check results later. In the code we have hardcoded lookup paths for the firmware files, e.g. '/usr/share/qemu/ovmf-x86_64-ms.bin' . The other paths for fedora and Debian look like they already reference the "code" firmware already, e.g. '/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd' . I wonder if we actually still need to support the pflash mode or can just say that UEFI requires code and vars. For convience we should look the firmware files still up though.

Also, our tests os-autoinst-distri-opensuse set UEFI_PFLASH for all except aarch64 which already explicitly select firmware files. I wonder if we can simply lookup the correct code/vars files and get rid of UEFI_PFLASH in the test code to use that mode.

EDIT: All three tests worked the same as the ones for production tests using UEFI_PFLASH hardcoded.

#4 Updated by okurz 11 months ago

  • Status changed from New to Feedback

https://github.com/os-autoinst/os-autoinst/pull/1190

after that should apply the change for os-autoinst-distri-opensuse to remove UEFI_PFLASH

#5 Updated by okurz 11 months ago

merged. https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/8124 for the tests adaption which we should do only after rolling out the changes to both o3 and osd.

#6 Updated by okurz 11 months ago

hm, I thought we could have os-autoinst bring in the new support while working with old test code but apparently this did not work out as expected as all the UEFI tests on o3 broke since today's nightly os-autoinst update. https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/8124 merged and I will retrigger according tests. Test code is deployed to o3, retriggered all uefi incompletes I could find on https://openqa.opensuse.org/tests/?&resultfilter=Incomplete . Monitoring
https://openqa.opensuse.org/tests/1000511#live , passed disk_boot of installed system. ended successfully now. Let's monitor this on OSD later then.

#7 Updated by okurz 11 months ago

https://openqa.suse.de/tests/3221296# seems to be fine as well.

ybonatakis please test again on current Tumbleweed. It looks fine to me. I would be interested to hear from you it still does not work for you on current Tumbleweed with most recent os-autoinst+os-autoinst-distri-opensuse

#8 Updated by okurz 11 months ago

  • Status changed from Feedback to Resolved

seems to be fine

Also available in: Atom PDF