[openstack-dev] Taskflow for Juno RC1 effectively require Kombu 3.x

Joshua Harlow harlowja at outlook.com
Wed Oct 1 16:11:37 UTC 2014


I tried this out, seems to work locally.

So you should be fine doing this locally if u want or when a taskflow 
0.4.1 comes out (which it can/should soon anyway) this will be there.

Review up @ https://review.openstack.org/#/c/125400/

Bug @ https://bugs.launchpad.net/taskflow/+bug/1376330

Thanks for finding this one (it'd be nice for some gate job to run in 
'strict' requirements mode which tests the lower bounds of the 
requirements repo somehow, since with things like kombu>=2.5.0 this 
will always pull in the newest and everything will look fine, it'd be 
neat if somehow we could turn all '>=' to '==' in one gate job 
somehow)...

On Wed, Oct 1, 2014 at 8:59 AM, Joshua Harlow <harlowja at outlook.com> 
wrote:
> I'm fine with this if it works (seems pretty simple).
> 
> Let me know. I can get out an adjusted release if needed...
> 
> On Wed, Oct 1, 2014 at 6:10 AM, Ian Cordasco 
> <ian.cordasco at RACKSPACE.COM> wrote:
>> There just needs to be a fallback import. In v2.5.0 the Message class
>> (which is the only item used from kombu.message) was in
>> kombu.transport.base. Thomas, can you confirm that something like
>> 
>> try:
>>     from kombu import message
>> except ImportError:
>>     from kombu.transport import base as message
>> 
>> Allows the tests to pass?
>> 
>> On 10/1/14, 6:09 AM, "Ihar Hrachyshka" <ihrachys at redhat.com> wrote:
>> 
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA512
>>> 
>>> On 01/10/14 12:55, Thomas Goirand wrote:
>>>>  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
>>> 
>>> Does it show up in unit tests only?
>>> 
>>>>   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.
>>> 
>>> Should be doable.
>>> 
>>>>   2/ Accept beanstalkc and kombu>=3.0, modify our
>>>>  global-requirements.txt and add these 2.
>>> 
>>> This will be a major pain point for both upstream and downstream.
>>> Let's stick to the first option. I don't see why we should bump the
>>> version unless there is no other way from it.
>>> 
>>>>   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)
>>>>   _______________________________________________ OpenStack-dev
>>>>  mailing list OpenStack-dev at lists.openstack.org
>>>>  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>  
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
>>> 
>>> iQEcBAEBCgAGBQJUK+EBAAoJEC5aWaUY1u57IH4H+wWrENjwF0cPXBw135otTJir
>>> CNq/kdSxax6ZQHEDR3AA+7mOtaDbm6eVYutx3U8/UHxoUxHC4V3kAxxq4r5g3LFi
>>> I3+YkeQBmsx9o8n4YrApUd53enRxf5kvCK2UWt31934RCqubAjO+ytV13dHW9EUs
>>> jTK/C0+aOtvsFhs9kEYCNaRt8jMZ7JNk/aS6d34bN3bCpQO8ckaFqne+lVRMtq3x
>>> nTK2UCbRP5fOnwtSEWXM/wumzAJiwiS+VKAlr5mvab8cbIrRDtfr89WyYcDdNdTm
>>> nci4QMN4xwr9RNbS5+B0IjV7uH6HQLcsgqcjIHa7z+XUeNBxEoWIKRWQUYtRM8Y=
>>> =8FNp
>>> -----END PGP SIGNATURE-----
>>> 
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> 
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list