'qemu-img: command not found' when testing on Centos

Bug #1947146 reported by Andre Aranha
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glance
Fix Released
Undecided
Andre Aranha
Victoria
New
Undecided
Unassigned
Wallaby
In Progress
Undecided
Unassigned
Xena
In Progress
Undecided
Unassigned
Yoga
Fix Released
Undecided
Andre Aranha

Bug Description

While running the tests for Glance on Centos, the 'qemu-img' is failing due to missing qemu-img command[1]:
~~~
/bin/sh: qemu-img: command not found
{4} glance.tests.functional.test_healthcheck_middleware.HealthcheckMiddlewareTest.test_healthcheck_enabled [6.082316s] ... ok
{2} glance.tests.functional.v2.test_images.TestImages.test_owning_tenant_can_communitize_image [5.017702s] ... ok
{7} glance.tests.functional.test_cache_middleware.TestImageCacheSqlite.test_partial_download_of_cached_images_v2_api [6.331016s] ... ok
{7} glance.tests.functional.test_client_redirects.TestClientRedirects.test_redirect_to_new_host [0.033611s] ... ok
{6} glance.tests.functional.test_logging.TestLogging.test_no_debug [6.030891s] ... ok
{6} glance.tests.functional.test_sqlite.TestSqlite.test_big_int_mapping ... SKIPPED: test requires exe: sqlite3
{5} glance.tests.functional.v2.test_images.TestImageDirectURLVisibility.test_image_direct_url_visible [3.947811s] ... ok
{3} glance.tests.functional.v2.test_images.TestImages.test_image_import_qcow_virtual_size_calculation [5.023139s] ... FAILED

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):

      File "/home/zuul/src/opendev.org/openstack/glance/glance/tests/functional/v2/test_images.py", line 959, in test_image_import_qcow_virtual_size_calculation
    fn = self._create_qcow(128 * units.Mi)

      File "/home/zuul/src/opendev.org/openstack/glance/glance/tests/functional/v2/test_images.py", line 911, in _create_qcow
    shell=True)

      File "/usr/lib64/python3.6/subprocess.py", line 356, in check_output
    **kwargs).stdout

      File "/usr/lib64/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)

    subprocess.CalledProcessError: Command 'qemu-img create -f qcow2 /tmp/glance-unittest-images-05gx9_p1.qcow2 134217728' returned non-zero exit status 127.
~~~

We need to add qemu-img on the bindep.txt to have it working on Centos.

[1] https://zuul.opendev.org/t/openstack/build/b1e5959024d34af795912478ac9809ff/console

--- EDIT

We also need to add python3-devel package as a requirement https://zuul.opendev.org/t/openstack/build/51fd651699824cfd864540b5480eda7b

~~~
    Running setup.py install for Yappi: started
    Running setup.py install for Yappi: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-15mrbhat/yappi_2ef75727e64c4e1697f5937afdd46dcd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-15mrbhat/yappi_2ef75727e64c4e1697f5937afdd46dcd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nafankgl/install-record.txt --single-version-externally-managed --compile --install-headers /home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/include/site/python3.6/Yappi
         cwd: /tmp/pip-install-15mrbhat/yappi_2ef75727e64c4e1697f5937afdd46dcd/
    Complete output (24 lines):
    /tmp/timer_createglv_fxc3.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
     main (int argc, char **argv) {
     ^~~~
    /tmp/timer_createglv_fxc3.c: In function ‘main’:
    /tmp/timer_createglv_fxc3.c:2:5: warning: implicit declaration of function ‘timer_create’ [-Wimplicit-function-declaration]
         timer_create();
         ^~~~~~~~~~~~
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    copying yappi/yappi.py -> build/lib.linux-x86_64-3.6
    running build_ext
    building '_yappi' extension
    creating build/temp.linux-x86_64-3.6
    creating build/temp.linux-x86_64-3.6/yappi
    gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DLIB_RT_AVAILABLE=1 -I/home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/include -I/usr/include/python3.6m -c yappi/_yappi.c -o build/temp.linux-x86_64-3.6/yappi/_yappi.o
    In file included from yappi/_yappi.c:10:
    yappi/config.h:4:10: fatal error: Python.h: No such file or directory
     #include "Python.h"
              ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-15mrbhat/yappi_2ef75727e64c4e1697f5937afdd46dcd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-15mrbhat/yappi_2ef75727e64c4e1697f5937afdd46dcd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nafankgl/install-record.txt --single-version-externally-managed --compile --install-headers /home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/include/site/python3.6/Yappi Check the logs for full command output.
WARNING: You are using pip version 21.2.4; however, version 21.3 is available.
You should consider upgrading via the '/home/zuul/src/opendev.org/openstack/glance/.tox/functional-py36/bin/python -m pip install --upgrade pip' command.
ERROR: invocation failed (exit code 1)
~~~

Changed in glance:
status: New → In Progress
Andre Aranha (afariasa)
Changed in glance:
assignee: nobody → Andre Aranha (afariasa)
Andre Aranha (afariasa)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to glance (master)

Reviewed: https://review.opendev.org/c/openstack/glance/+/813787
Committed: https://opendev.org/openstack/glance/commit/474c600b8afb6e1b8b7e0a2cdadd1907d42e3a04
Submitter: "Zuul (22348)"
Branch: master

commit 474c600b8afb6e1b8b7e0a2cdadd1907d42e3a04
Author: Andre Aranha <email address hidden>
Date: Wed Oct 13 09:17:56 2021 +0000

    Add missing packages to test dependencies

    The tests are failing when running on Centos due to lack of
    qemu-img package and python3-devel.
    This patch is adding the missing packages to bindep.txt.

    Closes-Bug: #1947146

    Change-Id: I99ab96a7f8b6fdf6a27faf1fe0ea0328f89b154f

Changed in glance:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to glance (stable/xena)

Fix proposed to branch: stable/xena
Review: https://review.opendev.org/c/openstack/glance/+/828232

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to glance (stable/wallaby)

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/glance/+/828239

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/glance 24.0.0.0rc1

This issue was fixed in the openstack/glance 24.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on glance (stable/wallaby)

Change abandoned by "Cyril Roelandt <email address hidden>" on branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/glance/+/828239
Reason: This branch is too old, we will not merge this.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on glance (stable/xena)

Change abandoned by "Cyril Roelandt <email address hidden>" on branch: stable/xena
Review: https://review.opendev.org/c/openstack/glance/+/828232
Reason: Sorry, but at this point we will not fix Xena.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.