The Notification Listener Tracker class is not threadsafe,
so when a test stop an already stopped listener this one
can be restarted, due to concurrency access of the threads list and
concurrency execution of the start/stop/wait method of the notification
listener.
This result of a lockup of the test or a listener can continue to
got unepxected message.
This change fixes that by never stop the tread with the tracker callback
but only manually with the test.
This test also rename some 'Listener' to 'Server', to not mismatch
the driver listener from the notification listener.
Closes-bug: #1410902
Change-Id: I4777c7dd0ba71c61850d36641e85f33f9461e9c1
I516c580faef04f55fcc095d22adbfabcfa001da7 have been
merged just after the namespace change patch, but change only
the old test directory.
So reapply I516c580faef04f55fcc095d22adbfabcfa001da7 to the
new test directory.
Change-Id: I5cd7d7b6c507967e7fb4744012b2ad215c4f1ad3
Closes-Bug: #1409899
This properly deploys the oslo.messaging package may resolve
sphinx build errors for projects which have not yet
upgraded to oslo_messaging.
Change-Id: I4db750fb2356ebf44a8fccf7c422b474fefec0ee
Tests now ensure that eventlet monkey patching is enabled before
importing the qpid module, otherwise qpid will hang.
Currently, qpid randomly hangs, depending on the order of the Python
module import, which probably depends on the local file modification
time.
Closes-Bug: #1409899
Change-Id: I516c580faef04f55fcc095d22adbfabcfa001da7
Move the public API out of oslo.messaging to oslo_messaging. Retain
the ability to import from the old namespace package for backwards
compatibility for this release cycle.
bp/drop-namespace-packages
Co-authored-by: Mehdi Abaakouk <mehdi.abaakouk@enovance.com>
Change-Id: Ia562010c152a214f1c0fed767c82022c7c2c52e7
When the duration of the timeout timer used in the rabbit driver.is
None and we want that the timer return a maximum of N secs it return None
(infinite) instead of N.
This change fixes that.
Closes-bug: #1408370
Change-Id: I7f4cb3075f776c63aa7dc497173677f92b68c16d
oslo.utils.strutils.mask_password take too much time on
big payload (nova-conductor can receive payload ~ 66k in
largeops jobs for example).
This change removes this logging until we make mask_password
more efficient or we have a smarted the oslo.messaging logging to
not log everything.
Change-Id: Ib1f1d70c5cb820e8ff2de10e6064037808ea1f3a
Closes-bug: #1408362
* add i18n support to some exception messages
* remove the return value of DecayingTimer.start()
Relates to review: I898a236a384b3466147026abc7a1ee21801e8ca1
Change-Id: I7adf5478732f1f46db1009b059b66ff8af6ecdc3
The concurrent.futures module is one of the ways
that async activities can be done in the future,
so we should try to work on getting to that future
by using more futures. To enable this (as well as
to enable getting off eventlet), add a thread pool
based executor which will process incoming messages
using the pool.
Also begins adding according docs as well for the
different types of executors that are available.
Change-Id: I1482fd70abbf69f4e2994597c5e95d91fecb815e
Sanitizes password fields found in lists of dicts for messages
before logging.
This change uses oslo.utils.strutils.mask_password to do it.
Change-Id: I7cd1e53e2ced7ebf9c5942b7a0dbbeb991acab4d
Closes-Bug: #1268459
This change improves test coverage of the rabbit driver for new
value allowed in rpc_backend config option.
Change-Id: I52a8a8beb5b0d32647f52bb21abd5f7164dac2df
This change warns the user that it does have monkeypatched the
oslo.messaging library correclty.
Change-Id: Ice80ffc6cbc39919eac4bc0809992daea51b5922
Closes-bug: #1288878
Basic functional and unit tests for zmq driver.
Note as the zmq driver is directly dependent on eventlet, this
change also updates the notify logger tests to remove the
direct dependency on threading which was being monkey patched,
causing test failures.
As the zmq driver has a direct dependency on eventlet, tests are
skipped under py3.
Co-Authored-By: Kapil Thangavelu <kapil.thangavelu@canonical.com>
Co-Authored-By: Edward Hope-Morley <edward.hope-morley@canonical.com>
Change-Id: I93b8b2e92d0f2a353d3357a5e61f6d472ec84944
Partial-bug: #1302941
It's up to the driver to set a suitable timeout for polling the broker,
this one can be different that the one requested by the driver
caller as long as the caller timeout is respected.
This change also adds a new driver listener API, to be able
to stop it cleanly, specially in case of timeout=None.
Closes bug: #1400268
Closes bug: #1399257
Change-Id: I674c0def1efb420c293897d49683593a0b10e291
The qpid driver must always honor the timeout passed the iterconsume
method, this change fixes that.
Related bug: #1400268
Related bug: #1399257
Change-Id: I8f267fc8b5a7abc852f0caf84d1e7c2c342ba951
The iterconsume always set the timeout of kombu to 1 second
even the requested timeout more precise or < 1 second.
This change fixes that.
Related bug: #1400268
Related bug: #1399257
Change-Id: I157dab80cdb4afcf9a5f26fa900f96f0696db502
Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.
Change-Id: I1ba19377ed279ccb9f8d698b15678c528cbeade3
This change reintroduces the fake_rabbit only for backward compatibility,
but mark it as deprecated.
Now, to use the kombu in-memory driver (that is not thread safe) we must
set the transport_url config option to 'kombu+memory:////" or the
rpc_backend to kombu+memory.
Or we can use the fake driver of oslo.messaging by setting the
transport_url to 'fake:///' or the rpc_backend to 'fake'
This is effectively reverting commit bcb3b23b8f6e7d01e38fdc031982558711bb7586.
Closes-bug: #1399085
Change-Id: I7b6fb3811fc6f695f75ecd350e04e69afd26c428
It is confusing to report that the version cap is too low, rather we
should report that the message version is too high.
Change-Id: Ic37eabb6f211fb68ca567ed4c400a1314e25cc68
This change documents that MessageHandlingServer.wait
the released driver resources associated to this
MessageHandlingServer instance.
Like closing network connections to the broker.
Closes bug: #1397459
Change-Id: I3b0710faeb32ca8e9ee09b14aa1f79290c6061f5