Bug 1374405

Summary: There is HTTP 404 error info when convert guest to glance by virt-v2v
Product: Red Hat Enterprise Linux 7 Reporter: mxie <mxie>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact: Yehuda Zimmerman <yzimmerm>
Priority: urgent    
Version: 7.3CC: jherrman, jsuchane, juzhou, kuwei, mtessun, mxie, mzhan, psahoo, ptoscano, rhodain, rjones, shipatil, tzheng, xiaodwan
Target Milestone: rcKeywords: ZStream
Target Release: 7.4   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: libguestfs-1.36.1-1.el7 Doc Type: Bug Fix
Doc Text:
Guests can be converted to *Glance* images, regardless of the *Glance* client version Previously, if the *Glance* command-line client version 1.0.0 or greater was installed on the *virt-v2v* conversion server, using the *virt-v2v* utility to convert a guest virtual machine to a *Glance* image failed. With this release, when exporting images, *virt-v2v* directly sets all the properties of images. As a result, the conversion to *Glance* works regardless of the version of the *Glance* client installed on the *virt-v2v* conversion server.
Story Points: ---
Clone Of:
: 1452570 (view as bug list) Environment:
Last Closed: 2017-08-01 22:08: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: 1359086    
Bug Blocks: 1452570    
Attachments:
Description Flags
v2v-glance.log none

Description mxie@redhat.com 2016-09-08 15:28:41 UTC
Created attachment 1199148 [details]
v2v-glance.log

Description of problem:
There is HTTP 404 error info when convert guest to glance by virt-v2v

Version-Release number of selected component (if applicable):
virt-v2v-1.32.7-3.el7.x86_64
libguestfs-1.32.7-3.el7.x86_64
qemu-kvm-1.5.3-122.el7.x86_64
libvirt-2.0.0-8.el7.x86_64


How reproducible:
100% 

Steps to Reproduce:
1.Convert a guest from xen to glance by virt-v2v
[root@localhost ~(keystone_admin)]# virt-v2v -ic xen+ssh://root.3.21 xen-hvm-rhel7.2-x86_64 -o glance -of qcow2
[   0.0] Opening the source -i libvirt -ic xen+ssh://root.3.21 xen-hvm-rhel7.2-x86_64
[   0.5] Creating an overlay to protect the source from being modified
[   1.3] Initializing the target -o glance
[   1.9] Opening the overlay
[   4.2] Inspecting the overlay
[  17.0] Checking for sufficient free disk space in the guest
[  17.0] Estimating space required on target for each disk
[  17.0] Converting Red Hat Enterprise Linux Server 7.2 (Maipo) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[ 119.2] Mapping filesystem data to avoid copying unused and blank areas
[ 119.3] Closing the overlay
[ 119.4] Checking if the guest needs BIOS or UEFI to boot
[ 119.4] Assigning disks to buses
[ 119.4] Copying disk 1/1 to /var/tmp/glance.i0ZsGw/sda (qcow2)
    (100.00/100%)
[ 394.1] Creating output metadata
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | e3245bb63a9b7fb28ccaff5b27dc85f3     |
| container_format | bare                                 |
| created_at       | 2016-09-08T14:23:49Z                 |
| disk_format      | qcow2                                |
| id               | 62b74870-b32d-4f2a-9375-7615efdd20e3 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | xen-hvm-rhel7.2-x86_64               |
| owner            | 6c4dac53186d44fcbac29d3f3f575125     |
| protected        | False                                |
| size             | 3712286720                           |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2016-09-08T14:24:29Z                 |
| virtual_size     | None                                 |
| visibility       | private                              |
+------------------+--------------------------------------+
404 Not Found: No image found with ID xen-hvm-rhel7.2-x86_64 (HTTP 404)
virt-v2v: warning: glance: failed to set image properties (ignored)
[ 443.5] Finishing off
Image properties:
  --min-ram 1024
  --property 'os_version'='7.2'  --property 'hw_disk_bus'='virtio'  --property 'hw_vif_model'='virtio'  --property 'architecture'='x86_64'  --property 'hypervisor_type'='kvm'  --property 'vm_mode'='hvm'  --[r
2.Found info "404 Not Found: No image found with ID xen-hvm-rhel7.2-x86_64 (HTTP 404)" shows during conversion
 

Actual results:
As above description

Expected results:
Should hidden HTTP 404 error info when convert guest to glance by virt-v2v

Additional info:
There is no HTTP 404 error info when using below version of packages to convert guest to glance,details pls refer to https://bugzilla.redhat.com/show_bug.cgi?id=1321302

Packages:
virt-v2v-1.32.3-1.el7.x86_64
libguestfs-1.32.3-1.el7.x86_64
libvirt-1.3.2-1.el7.x86_64
qemu-kvm-1.5.3-109.el7.x86_64

# virt-v2v rhel5.11-mxie -on default-raw -o glance -of raw 
[   0.0] Opening the source -i libvirt rhel5.11-mxie
[   0.0] Creating an overlay to protect the source from being modified
[   0.3] Initializing the target -o glance
[   4.4] Opening the overlay
[   7.2] Inspecting the overlay
[  12.3] Checking for sufficient free disk space in the guest
[  12.3] Estimating space required on target for each disk
[  12.3] Converting Red Hat Enterprise Linux Server release 5.11 (Tikanga) to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  22.2] Mapping filesystem data to avoid copying unused and blank areas
[  22.4] Closing the overlay
[  22.4] Checking if the guest needs BIOS or UEFI to boot
[  22.4] Assigning disks to buses
[  22.4] Copying disk 1/1 to /var/tmp/glance.Chzy72/sda (raw)
    (100.00/100%)
[  97.9] Creating output metadata
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | db789ec06a608f4b0974b798b346739f     |
| container_format | bare                                 |
| created_at       | 2016-03-25T09:06:18.000000           |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | raw                                  |
| id               | 958ba435-5487-44b8-a23e-039e6c242361 |
| is_public        | False                                |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | default-raw                          |
| owner            | 6c4dac53186d44fcbac29d3f3f575125     |
| protected        | False                                |
| size             | 6442450944                           |
| status           | active                               |
| updated_at       | 2016-03-25T09:07:39.000000           |
| virtual_size     | None                                 |
+------------------+--------------------------------------+
+----------------------------+--------------------------------------+
| Property                   | Value                                |
+----------------------------+--------------------------------------+
| Property 'architecture'    | x86_64                               |
| Property 'hw_disk_bus'     | virtio                               |
| Property 'hw_vif_model'    | virtio                               |
| Property 'hypervisor_type' | kvm                                  |
| Property 'os_distro'       | rhel                                 |
| Property 'os_type'         | linux                                |
| Property 'os_version'      | 5.11                                 |
| Property 'vm_mode'         | hvm                                  |
| checksum                   | db789ec06a608f4b0974b798b346739f     |
| container_format           | bare                                 |
| created_at                 | 2016-03-25T09:06:18.000000           |
| deleted                    | False                                |
| deleted_at                 | None                                 |
| disk_format                | raw                                  |
| id                         | 958ba435-5487-44b8-a23e-039e6c242361 |
| is_public                  | False                                |
| min_disk                   | 0                                    |
| min_ram                    | 1024                                 |
| name                       | default-raw                          |
| owner                      | 6c4dac53186d44fcbac29d3f3f575125     |
| protected                  | False                                |
| size                       | 6442450944                           |
| status                     | active                               |
| updated_at                 | 2016-03-25T09:07:45.000000           |
| virtual_size               | None                                 |
+----------------------------+--------------------------------------+
[ 188.7] Finishing off

Comment 2 Pino Toscano 2016-09-12 16:14:16 UTC
Hi mxie,

you said that the old v2v version, virt-v2v-1.32.3-1.el7.x86_64, worked while virt-v2v-1.32.7-3.el7.x86_64 does not.
Did you upgrade the OpenStack environment you are using for testing changed as well?  Because from what I see, the glance client for the API v2 does not allow names for 'image-update', while only the UUID (whereas the client for v1 allowed either).
Does the old v2v version works with the same OpenStack environment where the new v2v fails?

Comment 3 mxie@redhat.com 2016-09-13 08:03:06 UTC
Hi Pino,

Yes,old v2v version works with the same OpenStack environment where the new v2v fails

Because it is very trouble to update version of openstack, if you think the problem is caused by the old version (12.0.2) of openstack ,I need some time to set up a new openstack server with latest version to verify this bug.Thanks

Comment 4 Pino Toscano 2016-09-13 08:12:17 UTC
(In reply to mxie from comment #3)
> Yes,old v2v version works with the same OpenStack environment where the new
> v2v fails

Very strage, we don't do anything different. Are you sure also the version of the glance client, installed on the same machine where v2v is run, is the same in both cases?  What's its version (see `glance --version`)?

> Because it is very trouble to update version of openstack, if you think the
> problem is caused by the old version (12.0.2) of openstack ,I need some time
> to set up a new openstack server with latest version to verify this
> bug.Thanks

No, it should not be needed.

Comment 5 Pino Toscano 2016-09-13 13:28:59 UTC
*** Bug 1374403 has been marked as a duplicate of this bug. ***

Comment 6 Pino Toscano 2016-09-13 13:46:04 UTC
Patch posted:
https://www.redhat.com/archives/libguestfs/2016-September/msg00073.html

Comment 7 Pino Toscano 2016-09-13 14:48:12 UTC
Fixed upstream with
https://github.com/libguestfs/libguestfs/commit/1497a9f722f9a3c4c75282fb19578573e3cc89db
which is in libguestfs >= 1.35.6.

Comment 10 kuwei@redhat.com 2017-03-07 07:38:19 UTC
I can reproduce the bug with below builds:
virt-v2v-1.32.7-3.el7.x86_64
libvirt-2.0.0-10.el7.x86_64
openstack:12.0.2-1.el7ost

verify with below builds :
virt-v2v-1.36.1-1.el7.x86_64
libguestfs-1.36.1-1.el7.x86_64
openstack:12.0.2-1.el7ost

verify steps:
1:Convert win7 guest from kvm to glance by virt-v2v
# virt-v2v win7-t -o glance
[   0.0] Opening the source -i libvirt win7-t
[   0.0] Creating an overlay to protect the source from being modified
[   0.5] Initializing the target -o glance
[  15.6] Opening the overlay
[  68.3] Inspecting the overlay
[  74.7] Checking for sufficient free disk space in the guest
[  74.7] Estimating space required on target for each disk
[  74.7] Converting Windows 7 Ultimate to run on KVM
virt-v2v: warning: /usr/share/virt-tools/pnp_wait.exe is missing.  
Firstboot scripts may conflict with PnP.
virt-v2v: This guest has virtio drivers installed.
[  77.6] Mapping filesystem data to avoid copying unused and blank areas
[  78.0] Closing the overlay
[  78.6] Checking if the guest needs BIOS or UEFI to boot
[  78.6] Assigning disks to buses
[  78.6] Copying disk 1/1 to /var/tmp/glance.5b6Ob4/sda (raw)
    (100.00/100%)
[ 422.4] Creating output metadata
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| architecture     | x86_64                               |
| checksum         | b1602a3b33495669111ea17e27670874     |
| container_format | bare                                 |
| created_at       | 2017-03-07T07:05:37Z                 |
| disk_format      | raw                                  |
| hw_disk_bus      | virtio                               |
| hw_video_model   | qxl                                  |
| hw_vif_model     | virtio                               |
| hypervisor_type  | kvm                                  |
| id               | 3ab72ac4-5f7c-4d58-a969-5a2dad4fe1e1 |
| min_disk         | 0                                    |
| min_ram          | 1024                                 |
| name             | win7-t                               |
| os_distro        | windows                              |
| os_type          | windows                              |
| os_version       | 6.1                                  |
| owner            | 6c4dac53186d44fcbac29d3f3f575125     |
| protected        | False                                |
| size             | 12884901888                          |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2017-03-07T07:07:55Z                 |
| virtual_size     | None                                 |
| visibility       | private                              |
| vm_mode          | hvm                                  |
+------------------+--------------------------------------+
[ 582.8] Finishing off


Result: There is no HTTP 404 error info when using verify version of packages to convert guest to glance  ,so move the bug to VERIFIED

Comment 26 errata-xmlrpc 2017-08-01 22:08: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