[openstack-dev] Taskflow for Juno RC1 effectively require Kombu 3.x
Thomas Goirand
zigo at debian.org
Wed Oct 1 10:55:22 UTC 2014
Hi,
When building the latest release (eg: Juno RC1) of Taskflow 0.4, needed
by Cinder, I've notice failures due to the impossibility to do:
from kombu import message
More in details, the failure is:
======================================================================
FAIL:
unittest.loader.ModuleImportFailure.taskflow.tests.unit.worker_based.test_dispatcher
unittest.loader.ModuleImportFailure.taskflow.tests.unit.worker_based.test_dispatcher
----------------------------------------------------------------------
_StringException: Traceback (most recent call last):
ImportError: Failed to import test module:
taskflow.tests.unit.worker_based.test_dispatcher
Traceback (most recent call last):
File "/usr/lib/python2.7/unittest/loader.py", line 252, in _find_tests
module = self._get_module_from_name(name)
File "/usr/lib/python2.7/unittest/loader.py", line 230, in
_get_module_from_name
__import__(name)
File "taskflow/tests/unit/worker_based/test_dispatcher.py", line 17,
in <module>
from kombu import message
ImportError: cannot import name message
The thing is, there's no message.py in the latest Kombu 2.x, this
appears in version 3.0. Though in our global-requirements.txt, we only
have kombu>=2.5.0, which IMO is just completely wrong, considering what
Taskflow does in .
Changing the requirement to be kombu>=3.0 means that we also need to
import new dependencies, as kombu 3.x needs python-beanstalkc.
So here, we have 2 choices:
1/ Fix Taskflow so that it really supports Kombu 2.5, as per our decided
Juno requirements.
2/ Accept beanstalkc and kombu>=3.0, modify our global-requirements.txt
and add these 2.
Since Ubuntu is already in a deep freeze, probably 2/ isn't a very good
solution. Also, python-beanstalkc fails to build in Wheezy (when doing
its doc tests). I didn't investigate a lot why (yet), but that's annoying.
On my test system (eg: a cowbuilder chroot), I have just added a Debian
patch to completely remove
taskflow/tests/unit/worker_based/test_dispatcher.py from taskflow, and
everything works again (eg: no unit test errors). This is maybe a bit
more drastic than what we could do, probably... :)
Joshua, I've CC-ed you because git blame told me that you were the
person writing these tests. Could you patch it quickly (eg: before the
final release of Juno) so that it works with the older Kombu?
Thoughts anyone?
Cheers,
Thomas Goirand (zigo)
More information about the OpenStack-dev
mailing list