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)
~~~
Reviewed: https:/ /review. opendev. org/c/openstack /glance/ +/813787 /opendev. org/openstack/ glance/ commit/ 474c600b8afb6e1 b8b7e0a2cdadd19 07d42e3a04
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 474c600b8afb6e1 b8b7e0a2cdadd19 07d42e3a04
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: I99ab96a7f8b6fd f6a27faf1fe0ea0 328f89b154f