Mistral gets several collections abstract base class errors with 'tox -e py310'. For example:
======================================================================
FAIL: mistral.tests.unit.engine.test_workflow_cancel.WorkflowCancelTest.test_fail_then_cancel_with_items_child_workflow
mistral.tests.unit.engine.test_workflow_cancel.WorkflowCancelTest.test_fail_then_cancel_with_items_child_workflow
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/mistral/tests/unit/engine/test_workflow_cancel.py", line 588, in test_fail_then_cancel_with_items_child_workflow
self.engine.start_workflow('wb.wf')
File "/<<PKGBUILDDIR>>/mistral/db/utils.py", line 109, in decorate
return retry.call(_with_auth_context, auth_ctx, func, *args, **kw)
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 411, in call
return self.__call__(*args, **kwargs)
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 423, in __call__
do = self.iter(retry_state=retry_state)
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 360, in iter
return fut.result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 438, in result
return self.__get_result()
File "/usr/lib/python3.10/concurrent/futures/_base.py", line 390, in __get_result
raise self._exception
File "/usr/lib/python3/dist-packages/tenacity/__init__.py", line 426, in __call__
result = fn(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/db/utils.py", line 57, in _with_auth_context
return func(*args, **kw)
File "/<<PKGBUILDDIR>>/mistral/engine/post_tx_queue.py", line 80, in decorate
res = func(*args, **kw)
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/default_engine.py", line 61, in start_workflow
wf_ex = wf_handler.start_workflow(
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/workflow_handler.py", line 48, in start_workflow
wf.start(
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/workflows.py", line 158, in start
dispatcher.dispatch_workflow_commands(
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/dispatcher.py", line 127, in dispatch_workflow_commands
_process_commands(wf_ex, wf_cmds)
File "/<<PKGBUILDDIR>>/mistral/engine/dispatcher.py", line 149, in _process_commands
task_handler.run_task(cmd)
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/task_handler.py", line 73, in run_task
task.run()
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/tasks.py", line 568, in run
self._run_new()
File "/usr/lib/python3/dist-packages/osprofiler/profiler.py", line 160, in wrapper
result = f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/mistral/engine/tasks.py", line 600, in _run_new
self._schedule_actions()
File "/<<PKGBUILDDIR>>/mistral/engine/tasks.py", line 852, in _schedule_actions
with_items_values = self._get_with_items_values()
File "/<<PKGBUILDDIR>>/mistral/engine/tasks.py", line 912, in _get_with_items_values
if not isinstance(items, collections.Iterable):
AttributeError: module 'collections' has no attribute 'Iterable'
Fix proposed to branch: master /review. opendev. org/c/openstack /mistral/ +/821281
Review: https:/