[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