Use the new oslo.sphinx version of the OpenStack doc
theme instead of copying it into this repo.
blueprint oslo.sphinx
Change-Id: I0bd91f7bb43f97b99051fed65b75fc05d5149cc8
The notifier in oslo-incubator does:
payload = jsonutils.to_primitive(payload, convert_instances=True)
Using the serializer abstraction should be a more general was of
supporting this.
Inspired by tulip, have every module define a __all__ list and import *
from the top-level module.
Rename transport.set_defaults() since we don't want this to be a
top-level set_defaults() function as there may be multiple.
Also, rather than configuring flake8 to allow star imports, just exclude
the __init__.py files from flake8 checks.
By storing the reply_q on the listener, we were assuming there was only
one message being dispatched at the time. Put it on the incoming message
instead and use it directly in reply().
Add a helper method to the RPCClient class. This is a little nicer to
use for checking to see if a given message is copmatible with the set
version cap.
This can be used in a bunch of different ways:
client = RPCClient(version_cap='1.6', version='1.0')
client.can_send_version()
client.can_send_version(version='1.6')
client = client.prepare(version_cap='1.8', version='1.5')
client.can_send_version()
client.can_send_version(version='1.2')
Co-authored-by: Russell Bryant <rbryant@redhat.com>
Similar to doing listen() on the server side, if the driver throws an
exception when we do a cast() or call() we should translate it into
a transport-agnostic exception.
Currently, if there are no servers listening on a topic then a message
to that topic just gets dropped by the fake driver.
This makes the tests intermittently fail if the server takes longer to
start.
Turn things on their head so that the client always creates the queues
on the exchange so that messages can get queued up even if there is no
server listening.
Now we also need to delete the "duplicate server on topic" test - it's
actually fine to have multiple servers listening on the one topic.