Hi,
As per this Debian bug: https://bugs.debian.org/1074690 which I could reproduce building locally, Octavia fails 4 unit tests when building the Debian package. Please help me fixing them, but above all, please confirm if this is a unit test issue or if the problem is deeper in the functioning of Octavia. If the later, then I wont be able to just ignore these tests. :/
======================================================================
FAIL: octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_create_SRIOV_base_port
octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_create_SRIOV_base_port
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.12/unittest/mock.py", line 1390, in patched
return func(*newargs, **newkeywargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py", line 1856, in test_create_SRIOV_base_port
self.assertRaises(exceptions.OctaviaException, net_task.execute,
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 495, in assertRaises
self.assertThat(our_callable, matcher)
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 507, in assertThat
mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 560, in _matchHelper
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 108, in match
mismatch = self.exception_matcher.match(exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_higherorder.py", line 61, in match
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 484, in match
reraise(*matchee)
File "/usr/lib/python3/dist-packages/testtools/compat.py", line 27, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 101, in match
result = matchee()
^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 1110, in __call__
return self._callable_object(*self._args, **self._kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 418, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 185, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 478, in __call__
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/controller/worker/v2/tasks/network_tasks.py", line 1062, in execute
port = self.network_driver.create_port(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1134, in __call__
return self._mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1138, in _mock_call
return self._execute_mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1195, in _execute_mock_call
result = next(effect)
^^^^^^^^^^^^
StopIteration
======================================================================
FAIL: octavia.tests.unit.controller.worker.v2.tasks.test_compute_tasks.TestComputeTasks.test_compute_delete
octavia.tests.unit.controller.worker.v2.tasks.test_compute_tasks.TestComputeTasks.test_compute_delete
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.12/unittest/mock.py", line 1390, in patched
return func(*newargs, **newkeywargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/tests/unit/controller/worker/v2/tasks/test_compute_tasks.py", line 571, in test_compute_delete
self.assertRaises(exceptions.OctaviaException, delete_compute.execute,
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 495, in assertRaises
self.assertThat(our_callable, matcher)
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 507, in assertThat
mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 560, in _matchHelper
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 108, in match
mismatch = self.exception_matcher.match(exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_higherorder.py", line 61, in match
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 484, in match
reraise(*matchee)
File "/usr/lib/python3/dist-packages/testtools/compat.py", line 27, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 101, in match
result = matchee()
^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 1110, in __call__
return self._callable_object(*self._args, **self._kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 418, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 185, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 478, in __call__
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/controller/worker/v2/tasks/compute_tasks.py", line 256, in execute
self.compute.delete(compute_id)
File "/usr/lib/python3.12/unittest/mock.py", line 1134, in __call__
return self._mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1138, in _mock_call
return self._execute_mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1195, in _execute_mock_call
result = next(effect)
^^^^^^^^^^^^
StopIteration
======================================================================
FAIL: octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_create_vip_base_port
octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_create_vip_base_port
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.12/unittest/mock.py", line 1390, in patched
return func(*newargs, **newkeywargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py", line 1659, in test_create_vip_base_port
self.assertRaises(exceptions.OctaviaException, net_task.execute,
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 495, in assertRaises
self.assertThat(our_callable, matcher)
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 507, in assertThat
mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 560, in _matchHelper
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 108, in match
mismatch = self.exception_matcher.match(exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_higherorder.py", line 61, in match
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 484, in match
reraise(*matchee)
File "/usr/lib/python3/dist-packages/testtools/compat.py", line 27, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 101, in match
result = matchee()
^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 1110, in __call__
return self._callable_object(*self._args, **self._kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 418, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 185, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 478, in __call__
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/controller/worker/v2/tasks/network_tasks.py", line 972, in execute
port = self.network_driver.create_port(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1134, in __call__
return self._mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1138, in _mock_call
return self._execute_mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1195, in _execute_mock_call
result = next(effect)
^^^^^^^^^^^^
StopIteration
======================================================================
FAIL: octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_delete_port
octavia.tests.unit.controller.worker.v2.tasks.test_network_tasks.TestNetworkTasks.test_delete_port
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/usr/lib/python3.12/unittest/mock.py", line 1390, in patched
return func(*newargs, **newkeywargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py", line 1607, in test_delete_port
self.assertRaises(exceptions.OctaviaException, net_task.execute,
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 495, in assertRaises
self.assertThat(our_callable, matcher)
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 507, in assertThat
mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 560, in _matchHelper
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 108, in match
mismatch = self.exception_matcher.match(exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/matchers/_higherorder.py", line 61, in match
mismatch = matcher.match(matchee)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 484, in match
reraise(*matchee)
File "/usr/lib/python3/dist-packages/testtools/compat.py", line 27, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/usr/lib/python3/dist-packages/testtools/matchers/_exception.py", line 101, in match
result = matchee()
^^^^^^^^^
File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 1110, in __call__
return self._callable_object(*self._args, **self._kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 336, in wrapped_f
return copy(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 475, in __call__
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 376, in iter
result = action(retry_state)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 418, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 185, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 478, in __call__
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/octavia/controller/worker/v2/tasks/network_tasks.py", line 924, in execute
self.network_driver.delete_port(port_id)
File "/usr/lib/python3.12/unittest/mock.py", line 1134, in __call__
return self._mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1138, in _mock_call
return self._execute_mock_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/unittest/mock.py", line 1195, in _execute_mock_call
result = next(effect)
^^^^^^^^^^^^
StopIteration
----------------------------------------------------------------------
Ran 1569 tests in 370.916s
FAILED (failures=4)
Ok, so I found out what's going on: someone (else than me) uploaded Tenacity 8.4.1 then 8.4.2, and this broke Octavia.
So please fix Octavia with latest Tenacity 8.4.2... :)
Cheers,
Thomas Goirand (zigo)