Project

General

Profile

action #71137

osd deployment fails due to python-openqa_client failing in OBS

Added by okurz 4 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
Concrete Bugs
Target version:
Start date:
2020-09-09
Due date:
% Done:

0%

Estimated time:
Difficulty:

Description

Observation

see https://build.opensuse.org/package/live_build_log/devel:openQA/python-openqa_client/openSUSE_Leap_15.1/x86_64

[   38s] + py.test-3.6 --ignore=_build.python2 --ignore=_build.python3 --ignore=_build.pypy3 -v
[   38s] ============================= test session starts ==============================
[   38s] platform linux -- Python 3.6.10, pytest-3.10.1, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python3
[   38s] cachedir: .pytest_cache
[   38s] rootdir: /home/abuild/rpmbuild/BUILD/python-openqa_client-4.1.1, inifile:
[   38s] collecting ... collected 17 items
[   38s] 
[   38s] tests/test_client.py::TestClient::test_config_hosts[config_hosts0] PASSED [  5%]
[   38s] tests/test_client.py::TestClient::test_config_hosts[config_hosts1] PASSED [ 11%]
[   39s] tests/test_client.py::TestClient::test_config_hosts[config_hosts2] PASSED [ 17%]
[   39s] tests/test_client.py::TestClient::test_config_hosts[config_hosts3] PASSED [ 23%]
[   39s] tests/test_client.py::TestClient::test_config_hosts[config_hosts4] PASSED [ 29%]
[   39s] tests/test_client.py::TestClient::test_config_hosts[config_hosts5] PASSED [ 35%]
[   39s] tests/test_client.py::TestClient::test_config_hosts[config_hosts6] PASSED [ 41%]
[   39s] tests/test_client.py::TestClient::test_noconfig_host PASSED              [ 47%]
[   39s] tests/test_client.py::TestClient::test_add_auth_headers FAILED           [ 52%]
[   39s] tests/test_client.py::TestClient::test_do_request_ok PASSED              [ 58%]
[   39s] tests/test_client.py::TestClient::test_do_request_ok_no_parse PASSED     [ 64%]
[   39s] tests/test_client.py::TestClient::test_do_request_ok_yaml PASSED         [ 70%]
[   39s] tests/test_client.py::TestClient::test_do_request_not_ok PASSED          [ 76%]
[   39s] tests/test_client.py::TestClient::test_do_request_error PASSED           [ 82%]
[   39s] tests/test_client.py::TestClient::test_openqa_request PASSED             [ 88%]
[   39s] tests/test_client.py::TestClient::test_find_clones PASSED                [ 94%]
[   39s] tests/test_client.py::TestClient::test_get_jobs PASSED                   [100%]
[   39s] 
[   39s] =================================== FAILURES ===================================
[   39s] _______________________ TestClient.test_add_auth_headers _______________________
[   39s] 
[   39s] args = (<test_client.TestClient object at 0x7fd2ea219dd8>,)
[   39s] kwargs = {'simple_config': None}
[   39s] 
[   39s]     def wrapper(*args, **kwargs):
[   39s] >       with self:
[   39s] 
[   39s] /usr/lib/python3.6/site-packages/freezegun/api.py:494: 
[   39s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   39s] /usr/lib/python3.6/site-packages/freezegun/api.py:365: in __enter__
[   39s]     return self.start()
[   39s] /usr/lib/python3.6/site-packages/freezegun/api.py:425: in start
[   39s]     attribute_value = getattr(module, module_attribute)
[   39s] /usr/lib/python3.6/site-packages/pkg_resources/_vendor/six.py:92: in __get__
[   39s]     result = self._resolve()
[   39s] /usr/lib/python3.6/site-packages/pkg_resources/_vendor/six.py:115: in _resolve
[   39s]     return _import_module(self.mod)
[   39s] /usr/lib/python3.6/site-packages/pkg_resources/_vendor/six.py:82: in _import_module
[   39s]     __import__(name)
[   39s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   39s] 
[   39s]     import sys, os
[   39s]     from sysconfig import get_path
[   39s]     
[   39s]     failed_map_path = os.path.join(get_path('stdlib'), '_import_failed', 'import_failed.map')
[   39s]     
[   39s]     if __spec__:
[   39s]         failed_name = __spec__.name
[   39s]     else:
[   39s]         failed_name = __name__
[   39s]     
[   39s] >   for line in open(failed_map_path):
[   39s] E   FileNotFoundError: [Errno 2] No such file or directory: '/home/abuild/rpmbuild/BUILD/python-openqa_client-4.1.1/tests/data/home/_import_failed/import_failed.map'
[   39s] 
[   39s] /usr/lib64/python3.6/_import_failed/dbm.py:11: FileNotFoundError

Acceptance criteria

  • AC1: osd-deployment can pass again
  • AC2: the python-openqa_client package build result is succeeded in OBS

Problem

this blocks automatic osd deployment as visible in https://gitlab.suse.de/openqa/osd-deployment/-/jobs/255111

Suggestions

  • Fix tests of python-openqa_client. As an alternative we could exclude python-openqa_client from the checks of osd-deployment but this is making it unnecessarily complicated in my eyes

History

#1 Updated by cdywan 4 months ago

  • Assignee set to cdywan

I'm taking a look

#2 Updated by cdywan 4 months ago

  • Using Python 3.6 on Leap 15.1
  • tests/test_client.py:test_add_auth_headers fails
  • freezegun.freeze_time("2020-02-27") raises an exception in six

/usr/lib64/python3.6/_import_failed/dbm.py:11:

FileNotFoundError: [Errno 2] No such file or directory: '/home/abuild/rpmbuild/BUILD/python-openqa_client-4.1.1/tests/data/home/_import_failed/import_failed.map'

I can't reproduce this running tox (zypper in python3.6 tox). Also wondering about the purpose of _import_failed here, I can't seem to locate this anywhere.

#3 Updated by mkittler 4 months ago

  • Status changed from Workable to Resolved
  • Assignee changed from cdywan to mkittler

I did osc linkpac openSUSE:Leap:15.2 python-freezegun devel:openQA:Leap:15.1 and the build succeeds again: https://build.opensuse.org/package/show/devel:openQA/python-openqa_client

So python-freezegun was the problematic dependency. I've tried to link from openSUSE:Factory first (as we usually do) but the build failed for Leap 15.1.

I've retried the GitLab job and it succeeded: https://gitlab.suse.de/openqa/osd-deployment/-/jobs/255256

So we should be able to continue with the OSD deployment.

cdywan Sorry for taking over but I was just curious about this problem and as it affects the OSD deployment it also seemed useful to follow my idea for the cause of the failure.

Also available in: Atom PDF