Notifier implementation for zmq driver (ROUTER/DEALER variant).
Publishers/consumers refactoring in order to make them pluggable.
Change-Id: I2dd42cc805aa72b929a4dfa17498cd8b9c0ed7af
Change option from boolean zmq_native to string zmq_concurrency. This
eliminates ambiguity by requiring the user to explicitly name
the mechanism they want to use for concurrency.
Change-Id: I341a3eee73a0449716d3ee0df690bbe6af39bdf0
Some OpenStack services (e.g. Glance) makes a forks, so there is a sense
to initialize socket and thread related stuff `on demand`, not in
__init__().
Change-Id: Ie2012b31df86049cc841a0aaed16e6b879e0bcec
The code of ZMQ driver is under the active development now, so after
modifications some code can became unused. This patch removes this code.
Change-Id: I4cfa75560eabf82618f31584b4645fd2630ac9cb
As far as we use redis as a name service we don't need a proxy,
becase we can pass binded port over name service too.
Change-Id: I59bbe2b34dcedfeef113ef06d6a988e1c413405e
There are no code changes in this commit. The zmq tests are being
organized to match the development of the new zmq driver.
Change-Id: Id79a2ade3874c56d8d5c3eca4689d49ba68d4418
This patch replaces the old outdated matchmakers and replace it into the
new ones.
Call/Cast test_specific_server() functional tests passes now.
Change-Id: I8635396110d30d26812f39b242fbbabd1a0feaaa
- Fixed universal proxy to not get stuck with multiple backends
- Fixed threading pollers/executors (proxy side)
- Driver option to switch green/no-green impl.
- Swtiched to no-green in real-world proxy (green left for unit tests)
- Minor names fixes in serializer
Change-Id: Id6508101521d8914228c639ed58ecd29db0ef456
Refactored CallRequest.receive_reply() method to raise MessagingTimeout
exception, when timeout is reached. Removed unused _to_milliseconds() method
Functional test CallTestCase.test_timeout() passes now
Change-Id: Idc3224646c3626a56606d019ff7ff155d3e3201a
This patch adds possibility to re-raise on client's side exception, that
was raised on server side - serialize it on server side, restore and
re-raise on client.
Allowed to pass `allowed_remote_exmods` parameter from impl_zmq to
CallRequest class
Functional test CallTestCase.test_exception() passes now, so added it to
tox.ini. Modified zmq_receiver to be able run functional tests.
Change-Id: Ic055f3574962f3e80a0528d5d99320386303634e
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.
The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.
Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.
Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages
Cherry-picked from 3b6ca5b6de9e7964e1a3c41b5b0146e116b248ba
Change-Id: I05a408b76d4f31b803769a27759e91df770511bb
The loggin verbosity changed in 0.32 which our gate is pulling from the
updates repository. This patch updates the script to make it work again.
Closes-bug: #1468917
Change-Id: I88a1bc794246beb156d4301bd503fa51a7cd2cce
(cherry picked from commit 079c04f0d06539f3507c772ccc68807a6d01a73a)
- Minimal RPC (CALL + direct CAST) implementation
- Has up and running oslo_messaging/tests/drivers/test_impl_zmq
- Pep8 fixed.
- Works over REQ/REP pipeline according to [1]
- Has a beginning of eventlet/threading behavior differentiation
Fanout and Notifier are not yet supported
Devstack not yet fixed
Functional tests not yet fixed
..[1] - https://review.openstack.org/#/c/171131/
Change-Id: I44cd48070bf7c7f46152fdf0e54664a7dee97de9
Rabbitmq's amqp1.0 plugin doesn't have support for vbin8, which is the
default encoding used by qpid-proton. In order to workaround this issue
we should use inferred=True.
Closes-bug: #1465409
Change-Id: Id265917244d7e152c5e13a10df367a3e59de8e50
Now that python-qpid-proton has taken an approach similar to zmq's, it's
possible to install it in boxes where the C libraries are not present in
the system. This patch takes advantage of that to enable amqp protocol's
tests everywhere.
Change-Id: Ibce4c791aafadf45fa876d6a4f5373fde94769ff
This adds a setup script for each tox functional target to start a
rabbitmq-server, qpidd or redis daemon dedicated for the functional
testing.
This script is responsible to spawn a preconfigured daemon needed for
the functional tests.
This also changes the gate script to just install the required packages
instead of setup a devstack.
This also fixes the zmq config options loading in tests
Closes-bug: #1442612
Change-Id: I27eb2c1d3d0ca67aa361c83e41372138e03d9bdd
versionutils.py is no longer in oslo-incubator. So we can
either use versionutils from oslo_log or debtcollector instead.
However, oslo.messaging does not use oslo.log currently and we
should not be adding yet another library as a dependency here,
so we should just use the base python warnings library for
our limited use of deprecated() method.
Change-Id: Ib8a487051c894fa4828da65d4890b7a4f57f1d12
oslotest 1.7.0 breakes oslo.messaging unittests, because it doesn't add
mox to six.moves anymore - see change Ic59c73abb9b09cb594bf7df4173d7f99f81d526c
This patch fixes imports on test run.
Change-Id: Ia40b7733bd2e74b1a1703f2e1a5245f01debbd36
When the broker will block the connection for a server-side issue
like disk full, it notifies the client.
This change adds the callback methods when this occurs to inform
the deployer about the reason of this blocking.
Change-Id: I5164b9e1b720f022b45a5718258df036ba8808ed
Closes-bug: #1454449
This change causes the message sender to block until the messaging
infrastructure (e.g. the broker) assumes ownership of the message (or
fails to accept it). If the message is accepted, then the sender will
either pend for a response (in the case of RPC), or simply return (in
the case of notification). If the message is rejected by the
messaging infrastructure a MessagingException will be raised at the
sender.
Change-Id: I3f4a1ed1c17e18f6d629f16e6b5c99de45b083d6
Closes-Bug: #1377228
Connection class contains `magic` attribute conf, which contains (or at
least should contain) all config options. Set these config options as
class attributes to make the code more clear
Change-Id: Ib67f148e2ecf3def37e57d6e3359bced932fbc90
There was still a reference to the oslo.config namespace package
in _drivers/base.py. This converts it to the new package name.
Change-Id: I9c3878094bcf8015c30d87f693f51e0d48b31a33