| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
blueprint amqp-rpc-fast-reply-queue
As part of the Grizzly code review for the above blueprint (Idb09a714), the Grizzly
code base is "aware" of this feature in terms of receiving RPCs and provided with
an option for enabling it on the RPC send side. It was decided that in Havana
the option would be removed, RPCs would only be sent using the new functionality
yet awareness of prior functionality be retained for the receiving of RPCs.
This code change implements the Havana piece.
Change-Id: I5f2a8e432cf84a637c1aa813656c1cbc8db6e7eb
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The socket_type and bind constructor args are never used.
We always supply a value for the envelope argument.
Change-Id: Ide2e11170a3415ef347f85bfcce759cdd55d1225
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a helper method to the RpcProxy class. This is a little nicer to
use for checking to see if a given message is copmatible with the set
version cap.
Change-Id: Ic44d76f4181351dff367f2d1181a3d508a11db78
|
|/ /
| |
| |
| |
| |
| | |
H404 - multi line docstring should start with a summary.
Change-Id: I2099e1ee81ff9657f7a07401b8e8f3327d03bdbd
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The super() in MatchMakerStub.__init__ was
referencing the wrong class due to copy/paste.
I've also added a test for this class.
Fixes bug 1185501
Change-Id: I298c8c1df4dcb3d3e905ecbb5400d16b3383fdf9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qpid has a limitation where it cannot serialize a dict containing
a string greater than 65535 characters. This change alters the
Qpid implementation to JSON encode the dict before sending it, but
only if Qpid would fail to serialize it. This maintains as much
backward compatibility as possible, though long messages will
still fail if they are sent to an older receiver.
Fixes bug 1175808
Change-Id: I5d104e099f523508dae2b657f7d06d96984b10f0
|
| |
| |
| |
| |
| |
| | |
H402 one line docstring needs punctuation
Change-Id: Ie848453cace318d8310cdf0234c512f4c1121119
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes bug 1185465
Don't log exceptions that happen during connection.close(). They're
not surprising (a closed socket can't be read or written), don't
require sysadmin attention, and provide red herrings in the logs
to distract from finding real root causes of problems.
Change-Id: Ie414ba3f4ff1f1dee13e6168ac2e28dab535581b
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now, messages will not be copied into the Python memory space
from the C library. The 'topic' key *will* be copied, to make
use of several string/bytes functions that are available to us.
(Potentially, we might be able to work with this as a memoryview
in the future as a further optimization?)
Implements blueprint zmq-zero-copy
Change-Id: I20a700867ac642b1a1788b31e3a21f8a299c97c8
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
H403 multi line docstring end on new line
Change-Id: I33249651026b54ef346214965e909835288bb14e
|
|\| | |
|
| |/
| |
| |
| |
| |
| | |
H401 docstring should not start with a space
Change-Id: I761665ea9aff1f55de9f629ff8d108ba141eaf79
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes processutils/rootwrap dependency.
Fixes bug 1160420 and partially fixes 1180631.
The attempt will still be made to create
/var/run/openstack, but will give a reasonable
error when it happens.
If the directory exists, but permissions are denied,
we should also give a reasonable error.
A patch will be submitted to devstack
that will set and create the IPC directory as necessary.
Packagers should do this as well.
Change-Id: I7814320adbfd0b2fe54cc2e523452c18ab2e7687
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Fix and enable test for 'formatting operation should be outside of
localization method call'
Change-Id: I0e707f9d4aacf75f9a9239b323a57d7d39f30c84
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
Fix and enable test for multiple positional placeholders in
localizations
Change-Id: Ie3b5e3113cd0f3340b7b0f5774001893b1e6857c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a generic serialization model that the RpcProxy and
RpcDispatcher will use to serialize and deserialize arguments
and return values. The base definition is provided, as well
as a default NoOpSerializer which performs no special
action (retaining the existing behavior).
Related to blueprint rpc-object-serialization
Change-Id: I0a33baddee3e28dfc47100eb3216b679558b0bdd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows one to subclass RpcProxy for use with a particular
namespace without having to repeatedly pass the namespace into the
make_namespaced_msg() method. This new RPC_API_NAMESPACE attribute will
be used for the make_msg() call. It is defaulted to None to match previous
behavior.
Change-Id: Ied62df839cda0be6f9f9b060bbfc22e086f61be8
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The base matchmaker module should not have
all the matchmakers implemented within. Instead,
we desire to break them out.
For purposes of deprecation, logs a warning when
importing from the ZeroMQ driver.
Change-Id: I76936edd97309621a9c28363dccd792293a1c0d3
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing a rolling upgrade, we need to be able to tell all rpc clients
to hold off on sending newer versions of messages until all nodes
understand the new message version. This patch adds the oslo component
of this.
It's quite simple. The rpc proxy just stores the version cap and will
raise an exception if code ever tries to send a message that exceeds
this cap.
Allowing the cap to be configured and generating different types of
messages based on the configured value is the hard part here, but that
is left up to the project using the rpc library.
Implements blueprint rpc-version-control.
Change-Id: Ia69db03a80dc3b1c63d52c7e163ea3cfec80c882
|
|\ |
|
| |
| |
| |
| |
| |
| | |
PEP8 suggestes, "For sequences, use the fact that empty sequences are false."
Change-Id: I4c600a7a6230a55328ee46f7c59f340f37abc18f
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From http://docs.python.org/3.1/whatsnew/3.0.html
The except exc as var syntax is now standard and except exc,
var is no longer supported.
Change-Id: Ia3a11d72c474806cc2303a7fc9cb1a390266c0fb
Signed-off-by: Chuck Short <chuck.short@canonical.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
From http://docs.python.org/3.1/whatsnew/3.0.html:
"Python 3.0 uses the concepts of text and (binary) data instead of
Unicode strings and 8-bit strings."
Use six.text_type to Type for representing (Unicode) textual data. This
is unicode() in Python 2 and str in Python 3.
Change-Id: I3da268a714a34a8e626a2590f01b86e414dc3411
Signed-off-by: Chuck Short <chuck.short@canonical.com>
|
|
|
|
|
|
|
|
|
| |
Fixes bug 1172922
When reestablishing a session and a connection already exists the
existing connection will be closed prior to opening the new one.
Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a
|
|
|
|
|
|
|
| |
Mechanical translation of deprecated constructs
to 3.x compatible variants.
Change-Id: I4988d0ac656903e0d0320aaa8361d4eeb774a0f9
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Common modules can now safely import other common modules
since update.py will automatically install dependencies.
Change-Id: I0ad12d7e6e623657c40659aca4148439cd03d3fa
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RPC endpoints already had the ability to expose multiple APIs ... sort
of. You could pass multiple callback objects to the dispatcher and it
would check all of them for a method call.
This patch adds the ability to set a namespace on a callback object.
This makes exposing multiple APIs a bit more like you would expect it to
work. You can invoke a method on a specific callback object, as opposed
to having it check all of them for the method.
This will allow you to create, manage, and version APIs without any
potential conflicts with other APIs being exposed by the same endpoint.
An example of where I would like to use this is in Nova, where we have
some methods that we would like to expose on *all* rpc endpoints.
This includes no public API changes and is fully backwards compatible.
Implement blueprint rpc-multi-api.
Change-Id: Ief4433e2e1c32cfb05b4cd27b87fe32b40f4341d
|
|
|
|
|
|
|
| |
Instead of propogating more bin scripts, migrate these to be things
that can be consumed as entrypoints.
Change-Id: Ic01e0f16fe9e7634708fbb51499ccea3f4f40d63
|
|
|
|
|
|
|
|
|
|
| |
Fixes bug #1160475.
Positional arguments were dropped during the deserialization of
valid remote exceptions, while keyword arguments are correctly
supplied.
Change-Id: I7b95fc4ed3fb9e5c75f5711ed6aace7aa5593727
|
|
|
|
|
|
| |
Fixes bug 1161679
Change-Id: I4b64fccbb7871dfab4fb74534514aa269c31f03d
|
|
|
|
|
|
|
|
|
|
| |
The following should use ints not strings.
* matchmaker_heartbeat_freq
* matchmaker_heartbeat_ttl
Fix bug 1159889
Change-Id: If2ce034d2a9876dbe6b232a1f5d73367d29074b0
|
|
|
|
|
|
|
|
| |
looks like we were setting the wrong param
Fixes LP# 1158807
Change-Id: Id138926f737ce87618d625aa8b289c508a66aaf4
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because we need compatibility with Grizzly (N-1 support), this should be
reduced to two copies for Havana, before stripping down to a singular
copy for I.
The '-reply' request has its context key removed, with the
msg option maintaining one extra copy of context until I.
A TODO has been entered to clean this up following the Havana release.
This fix eliminates an extra JSON double-deserialization routine.
The double-serialization of context is still performed for Grizzly
compatibility.
fixes bug 1156956
Change-Id: I071e382ec9c7e0df3794fe9ca574a5722f8910a6
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch moves the traceback for an rpc timeout from inside an
iterator, which gave a useless traceback, into the main flow of the
program.
It also adds the rpc method being called and the topic used to the
exception's message.
When the caller logs the message higher up the stack, the log
information and traceback will be more useful.
Finally it removes the timeout logging in the amqp.py module, in the
spirit of bug #1137994 and https://review.openstack.org/#/c/23295/
Works towards: bug #1148516
Change-Id: I29a3b1b97c6114c4479e2b71c1257c4d72131535
|
|/
|
|
|
|
|
| |
Grizzly had the ability to receive messages with an envelope, but did
not send them. Now update the code to send them.
Change-Id: I73aad7697cf83ad4aabb3c2058b7cc4f53f783c2
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sockets are created by the zeromq driver
for the topic specified by each incoming message.
Because the topic is arbitrarily supplied by the sender,
path separators in the topic must be illegal.
Fixes bug 1122763
Change-Id: Iccdb9b69e646bfe7665ee34c367fd4019db25f17
|