Bug 1416260

Summary: Some cases failed in qemu-iotests (ppc64)
Product: Red Hat Enterprise Linux 7 Reporter: Xujun Ma <xuma>
Component: qemu-kvm-rhevAssignee: Ademar Reis <areis>
Status: CLOSED DEFERRED QA Contact: Xujun Ma <xuma>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: hhuang, juzhang, ldoktor, mdeng, michen, pingl, qzhang, thuth, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-18 21:08:43 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:

Description Xujun Ma 2017-01-25 05:17:40 UTC
Description of problem:
Some cases failed in qemu io tests 

Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.6.0-28.el7_3.3.ppc64le


How reproducible:
100%

Steps to Reproduce:
1.#brew download-build --rpm qemu-kvm-rhev-2.6.0-28.el7_3.3.src.rpm
2.#'rpm -ivhf qemu-kvm-rhev-2.6.0-28.el7_3.3.src.rpm && rpmbuild -bp /root/rpmbuild/SPECS/qemu-kvm.spec --nodeps --force
3.#./configure
4.#cd tests/qemu-iotests
5.#export QEMU_PROG=/usr/libexec/qemu-kvm
6.#./check -qcow2
7.#./check -raw
8.#./check -vmdk
9.#./check -vhdx

Actual results:
qcow2:
Not run: 045 059 064 070 075 076 077 078 081 083 084 088 092 093 094 101 109 113 116 118 119 123 128 131 135 136 146 148 149
Failures: 041 051 056 071 087 099 138 139
Failed 8 of 115 tests
raw:
Not run: 007 013 014 015 017 018 019 020 022 023 024 026 027 028 029 030 031 034 035 036 037 038 039 040 041 042 043 044 046 047 049 050 051 053 054 056 057 058 059 060 061 062 064 065 066 067 068 069 070 071 072 073 074 075 076 078 079 080 082 083 084 085 087 088 089 090 091 092 094 095 096 097 098 099 102 103 105 107 108 110 111 112 113 114 115 116 117 118 119 121 122 123 124 129 130 131 133 134 135 137 138 139 141 142 144 146 149
Failures: 081 093 136 148
Failed 4 of 37 tests
vmdk:
Not run: 007 013 014 015 022 023 024 025 026 028 029 030 031 035 036 038 039 040 041 042 043 044 045 046 047 048 049 050 051 053 054 055 056 057 058 060 061 062 064 065 066 067 068 070 071 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 101 102 103 107 108 109 112 113 114 115 116 117 118 119 121 122 123 124 128 129 130 131 132 133 134 135 136 137 138 139 141 142 144 146 148 149 150 152
Failures: 059 099 120
Failed 3 of 35 tests
vhdx:
 Not run: 007 013 014 015 017 018 019 020 022 023 024 025 026 027 028 029 030 031 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 053 054 055 056 057 058 059 060 061 062 063 065 066 067 068 069 071 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 101 102 103 107 108 109 110 111 112 113 114 115 116 117 118 119 121 122 123 124 128 129 130 131 132 133 134 135 136 137 138 139 141 142 144 146 148 149 150 152
Failures: 099 120
Failed 2 of 25 tests

Expected results:
All cases passed except not run

Additional info:

Comment 1 Ping Li 2017-01-25 06:08:45 UTC
(In reply to Xujun Ma from comment #0)
> Description of problem:
> Some cases failed in qemu io tests 
> 
> Version-Release number of selected component (if applicable):
> qemu-kvm-rhev-2.6.0-28.el7_3.3.ppc64le
> 
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1.#brew download-build --rpm qemu-kvm-rhev-2.6.0-28.el7_3.3.src.rpm
> 2.#'rpm -ivhf qemu-kvm-rhev-2.6.0-28.el7_3.3.src.rpm && rpmbuild -bp
> /root/rpmbuild/SPECS/qemu-kvm.spec --nodeps --force
> 3.#./configure

for raw format, the step "#make tests/qemu-iotests/socket_scm_helper" should be added after running "#./configure".

> 4.#cd tests/qemu-iotests
> 5.#export QEMU_PROG=/usr/libexec/qemu-kvm
> 6.#./check -qcow2
> 7.#./check -raw
> 8.#./check -vmdk
> 9.#./check -vhdx
> 
> Actual results:
> qcow2:
> Not run: 045 059 064 070 075 076 077 078 081 083 084 088 092 093 094 101 109
> 113 116 118 119 123 128 131 135 136 146 148 149
> Failures: 041 051 056 071 087 099 138 139
> Failed 8 of 115 tests
> raw:
> Not run: 007 013 014 015 017 018 019 020 022 023 024 026 027 028 029 030 031
> 034 035 036 037 038 039 040 041 042 043 044 046 047 049 050 051 053 054 056
> 057 058 059 060 061 062 064 065 066 067 068 069 070 071 072 073 074 075 076
> 078 079 080 082 083 084 085 087 088 089 090 091 092 094 095 096 097 098 099
> 102 103 105 107 108 110 111 112 113 114 115 116 117 118 119 121 122 123 124
> 129 130 131 133 134 135 137 138 139 141 142 144 146 149
> Failures: 081 093 136 148
> Failed 4 of 37 tests
> vmdk:
> Not run: 007 013 014 015 022 023 024 025 026 028 029 030 031 035 036 038 039
> 040 041 042 043 044 045 046 047 048 049 050 051 053 054 055 056 057 058 060
> 061 062 064 065 066 067 068 070 071 073 074 075 076 077 078 079 080 081 082
> 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 101 102 103
> 107 108 109 112 113 114 115 116 117 118 119 121 122 123 124 128 129 130 131
> 132 133 134 135 136 137 138 139 141 142 144 146 148 149 150 152
> Failures: 059 099 120
> Failed 3 of 35 tests
> vhdx:
>  Not run: 007 013 014 015 017 018 019 020 022 023 024 025 026 027 028 029
> 030 031 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
> 051 053 054 055 056 057 058 059 060 061 062 063 065 066 067 068 069 071 073
> 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092
> 093 094 095 096 097 098 101 102 103 107 108 109 110 111 112 113 114 115 116
> 117 118 119 121 122 123 124 128 129 130 131 132 133 134 135 136 137 138 139
> 141 142 144 146 148 149 150 152
> Failures: 099 120
> Failed 2 of 25 tests
> 
> Expected results:
> All cases passed except not run
> 
> Additional info:

Comment 2 Min Deng 2017-01-25 07:29:39 UTC
Adjusted the test steps according to ping's comment
Steps to reproduce 
Build,qemu-kvm-rhev-2.8.0-2.el7.ppc64le
For raw,
1.#git clone git://git.app.eng.bos.redhat.com/virt/rhel7/qemu-kvm.git
2.#git checkout qemu-kvm-rhev-2.8.0-2.el7
3.#yum install zlib* glib* -y
4.#git submodule update --init pixman
5.#git submodule update --init dtc
6.#./configure
7.#make tests/qemu-iotests/socket_scm_helper  * for this step only for raw  
   Notes,we can also remove it by "make clean tests/qemu-iotests/socket_scm_helper" under qemu-kvm dir.
8.#cd tests/qemu-iotests
9.#export QEMU_PROG=/usr/libexec/qemu-kvm
10#./check -raw
-raw
Not run: 007 013 014 015 017 018 019 020 022 023 024 026 027 028 029 030 031 034 035 036 037 038 039 040 041 042 043 044 046 047 049 050 051 053 054 056 057 058 059 060 061 062 064 065 066 067 068 069 070 072 073 074 075 076 078 079 080 082 083 084 085 087 088 089 090 091 092 094 095 096 097 098 102 103 105 107 108 110 111 112 113 114 115 116 117 118 119 121 122 123 124 129 130 131 133 134 135 137 138 139 141 142 144 146 149 154 155 156 158 172
Failures: 045 055 081 093 136 147 148
Failed 7 of 43 tests

Comment 4 Qunfang Zhang 2017-01-26 01:57:30 UTC
This is a test result tracked for ppc64le host, and there's another bug filed for x86. Test results are a little different: 
Bug 1331279 - test cases of qemu-iotests failed

Comment 5 Ademar Reis 2017-01-26 19:25:49 UTC
(In reply to dengmin from comment #2)
> Adjusted the test steps according to ping's comment
> Steps to reproduce 
> Build,qemu-kvm-rhev-2.8.0-2.el7.ppc64le
> For raw,
> 1.#git clone git://git.app.eng.bos.redhat.com/virt/rhel7/qemu-kvm.git
> 2.#git checkout qemu-kvm-rhev-2.8.0-2.el7
> 3.#yum install zlib* glib* -y
> 4.#git submodule update --init pixman
> 5.#git submodule update --init dtc
> 6.#./configure
> 7.#make tests/qemu-iotests/socket_scm_helper  * for this step only for raw  
>    Notes,we can also remove it by "make clean
> tests/qemu-iotests/socket_scm_helper" under qemu-kvm dir.
> 8.#cd tests/qemu-iotests
> 9.#export QEMU_PROG=/usr/libexec/qemu-kvm
> 10#./check -raw

Is this the right procedure? They're building QEMU from source with default configure flags (and recent pixman and dtc), but testing the installed QEMU, which was built using rpm.

Comment 6 Thomas Huth 2017-02-16 15:06:43 UTC
I think some of the failure are expected, since you're testing with the downstream qemu-kvm binary - and this binary has some block drivers disabled. Actually, I had a look at the iotests (only raw and qcow2) a couple of months ago already, and ran into similar issues. Here's some information that I found out back then:

041: Needs the "quorum" block driver whitelisted.

051: Needs 'null-co' whitelisted.

055: The test needs the "vmdk" driver whitelisted for reading and writing. In downstream we only have this driver whitelisted for reading.

056: Needs 'null-co' whitelisted again.

071: Needs 'blkverify' driver whitelisted.

093: This one needs the "null-aio" driver whitelisted.

136: dito, needs the "null-aoi" driver whitelisted.

... so that at least explains some of the failures that you're seeing. Since we do not have these drivers whitelisted in downstream qemu-kvm, I think you have to disable at these tests in your test suite. Not sure why the other qcow2 and raw tests fail, though, we've got most of them working fine in Lukáš' Jenkins setup.

I'm also not sure whether it makes sense to test the VMware disk image types on ppc64, since VMware only exists on x86 and thus these disk image types are likely hardly used on POWER...?

Comment 12 Ademar Reis 2019-03-18 21:08:43 UTC
Our downstream CI team is now running qemu-iotests. Several of them are even enabled in %check as part of rpmbuild.

The ones that are broken in the CI or brew environment are being reported in bugzilla (there are several reported already).

So I'm closing all of the old qemu-iotest BZs. We'll work on them in this more controlled environment of CI and brew.