Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1449879

Summary: rhel7.3 qemu-img can not read content from rhel7.4 apache http server
Product: Red Hat Enterprise Linux 7 Reporter: Yanqiu Zhang <yanqzhan>
Component: qemu-kvm-rhevAssignee: Hanna Czenczek <hreitz>
Status: CLOSED WONTFIX QA Contact: Ping Li <pingl>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: chayang, coli, dyuan, hhan, juzhang, knoel, michen, mzhan, pingl, virt-maint, xuzhang, yanqzhan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-27 16:48:42 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:    
Bug Blocks: 1473046    

Description Yanqiu Zhang 2017-05-11 04:39:19 UTC
Description of problem:
rhel7.3 qemu-img can not read content from rhel7.4 apache http server

Version-Release number of selected component (if applicable):
Client:
*qemu-img-rhev-2.6.0-28.el7_3.9.x86_64*
kernel-3.10.0-514.21.1.el7.x86_64
libcurl-7.29.0-35.el7.x86_64
Server:
qemu-img-rhev-2.9.0-3.el7.x86_64
kernel-3.10.0-664.el7.x86_64
libcurl-7.29.0-42.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Setup an apache http server on rhel7.4 and create an image on it
# yum install httpd -y
# systemctl start httpd
# cd /var/www/html/
# qemu-img create -f qcow2 http.qcow2 1G
# chmod 777 http.qcow2

2. On rhel7.3, try to read the image by qemu-img:
#qemu-img info http://10.66.*.*:80/http.qcow2


Will hang here waiting for response.

3.Try to  download the content by wget, can succeed:
#  wget http://10.66.*.*:80/http.qcow2
--2017-05-10 17:02:34--  http://10.66.*.*/http.qcow2
Connecting to 10.66.*.*:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 196624 (192K) [application/octet-stream]
Saving to: ‘http.qcow2’

100%[====================================================================>] 196,624     --.-K/s   in 0.002s  

2017-05-10 17:02:34 (125 MB/s) - ‘http.qcow2’ saved [196624/196624]

4.Update the libcurl and curl on rhel7.3 to be same with rhel7.4(version:7.29.0-42.el7.x86_64)

The issue still reproduces.


Actual results:
As in step 2, on rhel7.3, qemu-img can not read content from rhel7.4 apache http server


Expected results:
On rhel7.3, qemu-img should succeed to read content from rhel7.4 apache http server


Additional info:
On rhel7.3, can read content from a apache http server that on rhel7.3(httpd-2.4.6-45.el7_3.4.x86_64,httpd-2.4.6-67.el7.x86_64)
On rhel7.4, can read content from a apache http server that on rhel7.3(httpd-2.4.6-45.el7_3.4.x86_64,httpd-2.4.6-67.el7.x86_64)
On rhel7.4, can read content from a apache http server that on rhel7.4(httpd-2.4.6-67.el7.x86_64)
# qemu-img info http://10.66.*.*:80/http.qcow2
image: json:{"driver": "qcow2", "file": {"url": "http://10.66.*.*:80/http.qcow2", "driver": "http"}}
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: unavailable
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Comment 2 Ademar Reis 2017-05-11 15:14:26 UTC
Odd and inconsistent behavior (regression in Apache?).

Comment 3 Han Han 2017-06-01 02:20:51 UTC
One more common case:
# qemu-img create -f qcow2 -b 'json:{"file.driver":"https", "file.url":"https://download.fedoraproject.org/pub/fedora/linux/releases/25/Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-25-1.3.iso"}' https.qcow2
qemu-img: curl: Operation timed out after 5039 milliseconds with 0 out of 0 bytes received
qemu-img: https.qcow2: Could not read image for determining its format: Protocol error

# qemu-img info https://download.fedoraproject.org/pub/fedora/linux/releases/25/Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-25-1.3.iso                                                                       
qemu-img: curl: Operation timed out after 5040 milliseconds with 0 out of -1 bytes received
qemu-img: Could not open 'https://download.fedoraproject.org/pub/fedora/linux/releases/25/Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-25-1.3.iso': Could not read image for determining its format: Protocol error

As I detect by nmap, the https service version is:
443/tcp   open   ssl/http         Apache httpd 2.4.6 ((CentOS))

Comment 4 Han Han 2017-06-01 02:21:27 UTC
reproduced on qemu-kvm-rhev-2.6.0-28.el7_3.10.x86_64

Comment 7 Ademar Reis 2017-06-20 12:36:23 UTC
Probably related: Bug 1463042

Comment 8 Hanna Czenczek 2017-11-27 16:48:42 UTC
Now that I have a 7.4 web server, I tried to reproduce the issue, but I failed to do so.

On the server:
$ qemu-img create -f qcow2 foo.qcow2 1G
Formatting 'foo.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off

On the client (Fedora 26):
$ git describe
qemu-kvm-rhev-2.6.0-28.el7_3.14
$ ./qemu-img info https://[host]/foo.qcow2
image: json:{"driver": "qcow2", "file": {"url": "https://[host]/foo.qcow2", "driver": "https"}}
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: unavailable
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Also:
$ ./qemu-img info https://download.fedoraproject.org/pub/fedora/linux/releases/25/Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-25-1.3.iso
image: json:{"driver": "raw", "file": {"url": "https://download.fedoraproject.org/pub/fedora/linux/releases/25/Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-25-1.3.iso", "driver": "https"}}
file format: raw
virtual size: 464M (486539264 bytes)
disk size: unavailable

In any case, I'm not sure what we should fix here anyway.  If there was any issue in qemu, it seems to have been fixed by 7.4, after all.

The reason I took my time with closing this BZ is because I wanted to see whether I could reproduce the issue and maybe find out where we have fixed it, out of interest.

So I'm closing this as WONTFIX because I don't think we need to fix the bug in 7.3 anymore.

Max