kombu tests incompatible with anyjson-0.2.4
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openstack-common |
Invalid
|
Undecided
|
Eugene Kirpichov |
Bug Description
openstack@
anyjson==0.2.4
kombu==2.1.8
openstack@
...
Test kombu rpc.cast ... SKIP: Test requires kombu
test_cast_success (tests.
Test kombu rpc.cast ... SKIP: Test requires kombu
test_declare_
Test that an IOError exception causes a reconnection ... SKIP: Test requires kombu
Test sending to a direct exchange/queue ... SKIP: Test requires kombu
Test sending to a fanout exchange and consuming from 2 queues ... SKIP: kombu memory transport seems buggy with fanout queues as this test passes when you use rabbit (fake_rabbit=False)
test_fanout_success (tests.
test_iterconsum
test_publishing
test_queue_
test_queue_
Test that reusing a connection returns same one. ... SKIP: Test requires kombu
Test that rabbits are tried in roundrobin at connection failures. ... SKIP: Test requires kombu
Test sending to a topic exchange with multiple queues ... SKIP: Test requires kombu
Test sending to a topic exchange/queue ... SKIP: Test requires kombu
test_ssl_
...
If we dig deeper into this (by adding "traceback.
Traceback (most recent call last):
File "/home/
from openstack.
File "/home/
import kombu.messaging
File "/usr/local/
from .serialization import encode
File "/usr/local/
register_json()
File "/usr/local/
from anyjson import loads, dumps
ImportError: cannot import name loads
All works fine if you install anyjson-0.3.3.
The root cause of this change in anyjson: https:/
As we can see from https:/
Root cause in kombu: https:/
The earliest tag of kombu which requires this change in anyjson is 2.0.0 (according to git tag --contains ee7b17f2).
So, we need EITHER (kombu < 2.0.0 AND anyjson < 0.3.2) OR (kombu >= 2.0.0 AND anyjson >= 0.3.2).
I suggest using the more up-to-date packages - kombu >= 2.0.0 and anyjson >= 0.3.2 (in which case why not just use their latest versions).
Changed in openstack-common: | |
assignee: | nobody → Eugene Kirpichov (ekirpichov) |
status: | New → In Progress |
Correction: Tests work fine with anyjson-0.2.4 and kombu-1.0.4; anyjson-0.3.3 is compatible with BOTH versions of kombu.
So, it's better to use anyjson-0.3.3 as it will ease the upgrade path for kombu.