Bug 1429643

Summary: virt-v2v should depend on OVMF/AAVMF
Product: Red Hat Enterprise Linux 7 Reporter: Richard W.M. Jones <rjones>
Component: libguestfsAssignee: Pino Toscano <ptoscano>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: juzhou, kuwei, mxie, mzhan, ptoscano, tzheng, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: libguestfs-1.36.2-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 22:13:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1329559    
Bug Blocks: 1429506    

Description Richard W.M. Jones 2017-03-06 18:28:49 UTC
Description of problem:

Output modes -o local and -o libvirt (and -o qemu upstream, but not
in RHEL) depend on UEFI firmware being installed in the host when
converting EFI guests.  See the following upstream code:

  https://github.com/libguestfs/libguestfs/blob/c6d8d68a4643794128c1d617bc83fc22438cc7c5/v2v/output_libvirt.ml#L143-L153
  https://github.com/libguestfs/libguestfs/blob/c6d8d68a4643794128c1d617bc83fc22438cc7c5/v2v/create_libvirt_xml.ml#L38

However virt-v2v does not depend on OVMF, and so conversions
fail with:

  virt-v2v: error: cannot find firmware for UEFI guests.
  You probably need to install OVMF, or AAVMF (if using aarch64)

The reason that we didn't depend on OVMF/AAVMF previously was
because it was not available in the base RHEL channel for RHEL < 7.3.

However that will apparently change in RHEL 7.4:

  https://bugzilla.redhat.com/show_bug.cgi?id=1329559#c31

And so we'll be able to have something like this:

%package virt-v2v
...
%ifarch x86_64
Requires: OVMF
%endif
%ifarch aarch64
Requires: AAVMF
%endif

Version-Release number of selected component (if applicable):

libguestfs 1.36

Steps to Reproduce:

rpm -qR virt-v2v | grep -i vmf

On x86_64, it should print "OVMF-..." and on aarch64 it should print
"AAVMF-...".  On other architectures there is no UEFI virtual firmware.

We should also check that virt-v2v remains installable without requiring
any supplementary RHEL channels.

Comment 3 kuwei@redhat.com 2017-03-16 07:58:47 UTC
Verify the bug with below builds:
virt-v2v-1.36.2-2.el7.x86_64
libguestfs-1.36.2-2.el7.x86_64

Steps:
1:Make sure OVMF and virt-v2v installed,then run below command:
# rpm -qR virt-v2v | grep -i vmf
OVMF

2:Make sure no OVMF and virt-v2v package removed, then re-install virt-v2v .
# yum install virt-v2v
******************
Resolving Dependencies
--> Running transaction check
---> Package virt-v2v.x86_64 1:1.36.2-2.el7 will be installed
--> Processing Dependency: OVMF for package: 1:virt-v2v-1.36.2-2.el7.x86_64
--> Running transaction check
---> Package OVMF.noarch 0:20170228-1.gitc325e41585e3.el7 will be installed
--> Finished Dependency Resolution
*****************

Results:I think virt-v2v is  depending on OVMF in this version build.
So , I think we could move this to VERIFIED.

Comment 4 errata-xmlrpc 2017-08-01 22:13:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2023