Bug 1261281

Summary: Failed to show guest in export domain after converted by virt-v2v to rhev 3.5
Product: Red Hat Enterprise Linux 7 Reporter: tingting zheng <tzheng>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.2CC: juzhou, mxie, mzhan, ptoscano, rjones, sherold, tzheng, xiaodwan
Target Milestone: rcKeywords: Regression, TestBlocker
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: libguestfs-1.28.1-1.53.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 07:03:50 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:
Attachments:
Description Flags
v2v debug info
none
ovf file of guest none

Description tingting zheng 2015-09-09 06:20:36 UTC
Created attachment 1071577 [details]
v2v debug info

Description:
Failed to show guest in export domain after converted by virt-v2v to rhev 3.5

Version:
libguestfs-1.28.1-1.52.el7.x86_64
libvirt-1.2.17-8.el7.x86_64
virt-v2v-1.28.1-1.52.el7.x86_64
rhev 3.5

How reproducible:
100%

Steps to Reproduce:
1.Prepare a guest.

2.Use virt-v2v to convert the guest to rhev3.5.
# virt-v2v -o rhev -os 10.66.90.115:/vol/v2v_auto/auto_export  rhel7.2 -on rhel7.2-52 -v -x | tee /tmp/virt-v2v-rhel7-52.log

3.After conversion,check in export domain,there is no guest showed,error info in rhev GUI.
2015-May-09, 07:13 Failed to read VM '[Empty Name]' OVF, it may be corrupted

4.Checked ovf file,the below info are different,the left side is ovf from virt-v2v-1.28.1-1.51.el7.x86_64 and the right side is ovf from virt-v2v-1.28.1-1.52.el7.x86_64.
# vim -d ovf-rhel7.2-51.ovf ovf-rhel7.2-52.ovf 

   <DefaultDisplayType>1</DefaultDisplayType>            |      <DefaultDisplayType>2</DefaultDisplayType>        
      <Section ovf:id='ffb2c907-8779-4fc2-8f77-b1054cfab1|      <Section ovf:id='66494d94-1a84-4ca4-b28d-5bd484eb8
        <Info>Guest Operating System</Info>              |        <Info>Red Hat Enterprise Linux Server release 7.
        <Description>rhel_7x64</Description>             |        <Description>rhel_7x64</Description>            
      </Section>                                         |      </Section>                  

 <Item>                                          
          <rasd:Caption>Graphical Controller</rasd:Captio|          <rasd:Caption>Graphical Controller</rasd:Capti
          <rasd:InstanceId>5</rasd:InstanceId>           |          <rasd:InstanceId>081dc57c-3b01-4d14-a39c-de980
          <rasd:ResourceType>20</rasd:ResourceType>      |          <rasd:ResourceType>20</rasd:ResourceType>     
  -------------------------------------------------------|          <Type>video</Type>                            
          <rasd:VirtualQuantity>1</rasd:VirtualQuantity> |          <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
          <rasd:Device>qxl</rasd:Device>                 |          <rasd:Device>qxl</rasd:Device>                
        </Item>                                          |        </Item>                                         
        <Item>                                           |        <Item> 

Actual results:
As description.

Expected results:
Guest can be showed in export domain after converted by virt-v2v to rhev3.5.

Additional info:
1.Attached debug log and ovf file.
2.Regression bug caused by bug 1260590.

Comment 3 Richard W.M. Jones 2015-09-09 07:47:14 UTC
Tingting, some debug was lost.  You should use ``|& tee'' instead
of ``| tee''.  Do you have the full OVF file output that virt-v2v
produced?

Comment 4 tingting zheng 2015-09-09 08:28:50 UTC
(In reply to Richard W.M. Jones from comment #3)
> Tingting, some debug was lost.  You should use ``|& tee'' instead
> of ``| tee''.  Do you have the full OVF file output that virt-v2v
> produced?

I guess this auto log should help:
http://libvirt-jenkins.englab.nay.redhat.com:8080/view/v2v_auto/job/v2v_acceptance_testing/43/testReport/junit/%28root%29/convert_vm_to_ovirt/kvm_linux_7_1_x86_64_qcow2_NFS_vm_check/

Comment 5 tingting zheng 2015-09-09 08:29:18 UTC
Created attachment 1071613 [details]
ovf file of guest

Comment 6 Richard W.M. Jones 2015-09-09 09:42:32 UTC
Engine.log said:

2015-05-08 22:49:02,889 WARN [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-11) Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: Failed to read VM '[Empty Name]' OVF, it may be corrupted
2015-05-08 22:49:02,900 ERROR [org.ovirt.engine.core.utils.ovf.OvfManager] (ajp-/127.0.0.1:8702-11) Error parsing OVF due to 2

which is deeply unhelpful.

Comment 8 Richard W.M. Jones 2015-09-10 13:55:52 UTC
Thanks to Shahar I managed to debug this.  It turns out the error was
caused by the <DefaultDisplayType> have an incorrect value (was 2, should
be 1).  See also:

https://bugzilla.redhat.com/show_bug.cgi?id=1260590#c19
DefaultDisplayType has been switched back from 2 -> 1

https://bugzilla.redhat.com/show_bug.cgi?id=1261951
RFE: Improve error message when OVF cannot be parsed from export domain

Comment 10 zhoujunqin 2015-09-11 08:32:36 UTC
I can reproduce this issue with package:
libguestfs-1.28.1-1.52.el7.x86_64
libvirt-1.2.17-8.el7.x86_64
virt-v2v-1.28.1-1.52.el7.x86_64

Then try to verify this bug with new build:
libguestfs-1.28.1-1.53.el7.x86_64
libvirt-1.2.17-8.el7.x86_64
virt-v2v-1.28.1-1.53.el7.x86_64
qemu-kvm-rhev-2.3.0-22.el7.x86_64

Steps:
1.Prepare a guest.

2.Use virt-v2v to convert the guest to rhev3.5.

# virt-v2v -o rhev -os  10.66.90.115:/vol/v2v_auto/nfs_export -n rhevm rhel7.2-0904 -of qcow2 -on rhel7.2-test1j
[   0.0] Opening the source -i libvirt rhel7.2-0904
[   0.0] Creating an overlay to protect the source from being modified
[   1.0] Opening the overlay
[   4.0] Initializing the target -o rhev -os 10.66.90.115:/vol/v2v_auto/nfs_export
virt-v2v: warning: cannot write files to the NFS server as 36:36, even 
though we appear to be running as root. This probably means the NFS client 
or idmapd is not configured properly.

You will have to chown the files that virt-v2v creates after the run, 
otherwise RHEV-M will not be able to import the VM.
[   4.0] Inspecting the overlay
[  18.0] Checking for sufficient free disk space in the guest
[  18.0] Estimating space required on target for each disk
[  18.0] Converting Red Hat Enterprise Linux Server release 7.2 Beta (Maipo) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  63.0] Mapping filesystem data to avoid copying unused and blank areas
[  65.0] Closing the overlay
[  65.0] Checking if the guest needs BIOS or UEFI to boot
[  65.0] Copying disk 1/1 to /tmp/v2v.IVUeEt/67f39ca5-5198-4da3-aad6-7d05451eee12/images/37c6afaf-362a-43fb-b1c0-96bc7cd69b76/845bde30-7cbe-41d1-b7a0-a725ae20b89f (qcow2)
    (100.00/100%)
[ 139.0] Creating output metadata
[ 139.0] Finishing off


3.After conversion,check whether there is guest showed in export domain.

Result:
1. Conversion finished with no error.
2. After conversion, finding guest "rhel7.2-test1j" in export domain.
3. Imported guest to rhev data domain, then check guest can boot up and passed all checkpoints.

so move this bug from ON_QA to VERIFIED.

Comment 12 errata-xmlrpc 2015-11-19 07:03:50 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://rhn.redhat.com/errata/RHBA-2015-2183.html