|Summary:||virt-launcher images do not have the edk2-ovmf package installed|
|Product:||Container Native Virtualization (CNV)||Reporter:||Kedar Bidarkar <kbidarka>|
|Status:||ASSIGNED ---||QA Contact:||Kedar Bidarkar <kbidarka>|
|Version:||2.0||CC:||cnv-qe-bugs, dvossel, fdeutsch, ncredi, sgordon, sgott|
|Fixed In Version:||virt-launcher-container-v2.0.0-11||Doc Type:||If docs needed, set a value|
|Doc Text:||Story Points:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Kedar Bidarkar 2019-03-02 11:39:10 UTC
Description of problem: virt-launcher image do not have the edk2-ovmf package installed, which is required for UEFI testing with downstream CNV-2.0 Version-Release number of selected component (if applicable): kubevirt-manifests-0.14.0-0.gd126a38.99129b3.el8.noarch How reproducible: Install kubevirt from kubevirt-manifests packages from cnv-2.0. Steps to Reproduce: 1. create a VMI with UEFI support 2. The VM fails to start as the following file is not available, "/usr/share/edk2/ovmf/OVMF_VARS.fd" 3. Actual results: virt-launcher image do not have the edk2-ovmf package installed, Expected results: virt-launcher image should have the edk2-ovmf package installed and the file "/usr/share/edk2/ovmf/OVMF_VARS.fd" available. So that VMI Creation with UEFI support is possible. Additional info:
Comment 2 Kedar Bidarkar 2019-03-18 09:49:12 UTC
Created attachment 1545166 [details] edk2-ovmf package not present on 2.0.0-10 Attached the VMI and pod description. edk2-ovmf package not present on 2.0.0-10 Warning SyncFailed 7m virt-handler, cnv-executor-kbidarka2-node2.example.com server error. command Launcher.Sync failed: "LibvirtError(Code=1, Domain=10, Message='internal error: qemu unexpectedly closed the monitor: 2019-03-18T09:05:14.970078Z qemu-kvm: -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on: Could not open '/usr/share/OVMF/OVMF_CODE.fd': No such file or directory')"
Comment 3 Kedar Bidarkar 2019-03-18 09:50:17 UTC
2.0.0-10 virt-launcher image does not have edk2-ovmf package.
Comment 4 Kedar Bidarkar 2019-03-18 09:56:34 UTC
Installed kubevirt using the manifests from this particular package: kubevirt-0.15.0-7.gaabc787.432f91f.el8
Comment 5 sgott 2019-03-18 16:10:38 UTC
This bug requested addition of the edk2-ovmf into the virt-launcher container. The log provided in Comment #2 indicates a failure in the virt-handler container. Please review and clarify which containers need this package.
Comment 6 Kedar Bidarkar 2019-03-18 20:17:13 UTC
Ah! I thought this was again from the virt-launcher, I missed to check it explicitly. I just checked virt-launcher pod does have edk2-ovmf package now. kbidarka ~ manifests_local oc rsh -c compute virt-launcher-vmi-fedora28-cloud-cores11-qsmgk sh-4.4# rpm -qav | grep -i ovmf edk2-ovmf-20180508gitee3198e672e2-5.el8+1789+f0947240.noarch sh-4.4# exit exit I saw the error and realized that we needed the package as it was specified here, https://github.com/kubevirt/kubevirt/pull/1814/files#diff-8a374b268e638a05647c4eb2cf62cdfeR24 I am not sure whether we need that for the virt-handler image, this feels like this would be another issue/bug.
Comment 7 sgott 2019-03-18 21:32:43 UTC
Actually, I think this bug should stay open. The issue isn't really fixed as long as this isn't working. These paths are passed from virt-handler to virt-launcher: EFIPath = "/usr/share/OVMF/OVMF_CODE.fd" EFIVarsPath = "/usr/share/OVMF/OVMF_VARS.fd" So in upstream, the /OVMF directory contains these symlinks: 0 lrwxrwxrwx. 1 root root 25 Nov 16 08:33 OVMF_CODE.fd -> ../edk2/ovmf/OVMF_CODE.fd 0 lrwxrwxrwx. 1 root root 33 Nov 16 08:33 OVMF_CODE.secboot.fd -> ../edk2/ovmf/OVMF_CODE.secboot.fd 0 lrwxrwxrwx. 1 root root 25 Nov 16 08:33 OVMF_VARS.fd -> ../edk2/ovmf/OVMF_VARS.fd 0 lrwxrwxrwx. 1 root root 33 Nov 16 08:33 OVMF_VARS.secboot.fd -> ../edk2/ovmf/OVMF_VARS.secboot.fd 0 lrwxrwxrwx. 1 root root 26 Nov 16 08:33 UefiShell.iso -> ../edk2/ovmf/UefiShell.iso In the downstream image, only these symlinks are present: 0 lrwxrwxrwx. 1 root root 33 Sep 4 2018 OVMF_CODE.secboot.fd -> ../edk2/ovmf/OVMF_CODE.secboot.fd 0 lrwxrwxrwx. 1 root root 25 Sep 4 2018 OVMF_VARS.fd -> ../edk2/ovmf/OVMF_VARS.fd 0 lrwxrwxrwx. 1 root root 33 Sep 4 2018 OVMF_VARS.secboot.fd -> ../edk2/ovmf/OVMF_VARS.secboot.fd 0 lrwxrwxrwx. 1 root root 26 Sep 4 2018 UefiShell.iso -> ../edk2/ovmf/UefiShell.iso Essentially, we're missing the one for OVMF_CODE.fd (exactly as the error message says). David, do you know what populates these symlinks in the upstream image? Is it fair game to just create the missing one?
Comment 8 David Vossel 2019-03-18 21:42:13 UTC
> David, do you know what populates these symlinks in the upstream image? Is it fair game to just create the missing one? These symlinks exist for us upstream and we aren't doing anything to generate them other than installing the rpms. If it doesn't exist, I don't see any harm in creating it. I'm not a maintainer of the edk2 package though, so I can't speak to the reasoning behind why that symlink doesn't exist downstream.
Comment 9 sgott 2019-03-26 13:51:52 UTC
Missing symlink has been created.
Comment 10 Kedar Bidarkar 2019-04-16 12:12:58 UTC
Tested this with BM OCP4 and the below image hash tag turns out to be virt-launcher:v2.0.0-18 image [kbidarka@localhost manifests]$ oc describe pod virt-launcher-vmi-fedora29-efi-jbpsr | grep -A 3 "compute:" compute: Container ID: cri-o://4d7fce6ef884338a282fb9983a03e1ea36719ec5cb64f4bcd058cbafd80ded2e Image: brew.redhat.com:8888/container-native-virtualization/virt-launcher:v2.0.0 Image ID: brew.redhat.com:8888/container-native-virtualization/virt-launcher@sha256:7de129dd4cfe7725527b021d9cb820a0fdd275cb484f1ae7d7b4515609d04f1d ----------------------- kbidarka@localhost manifests]$ oc get pods NAME READY STATUS RESTARTS AGE virt-launcher-vmi-fedora28-cloud-cores11-nqrsd 2/2 Running 0 58m [kbidarka@localhost manifests]$ oc rsh -c compute virt-launcher-vmi-fedora28-cloud-cores11-nqrsd sh-4.4# ls -l /usr/share/OVMF total 0 lrwxrwxrwx. 1 root root 33 Sep 4 2018 OVMF_CODE.secboot.fd -> ../edk2/ovmf/OVMF_CODE.secboot.fd lrwxrwxrwx. 1 root root 25 Sep 4 2018 OVMF_VARS.fd -> ../edk2/ovmf/OVMF_VARS.fd lrwxrwxrwx. 1 root root 33 Sep 4 2018 OVMF_VARS.secboot.fd -> ../edk2/ovmf/OVMF_VARS.secboot.fd lrwxrwxrwx. 1 root root 26 Sep 4 2018 UefiShell.iso -> ../edk2/ovmf/UefiShell.iso sh-4.4# As seen from virt-launcher:v2.0.0-18 image, the symlink is still missing for "OVMF_CODE.fd -> ../edk2/ovmf/OVMF_CODE.fd"