When transport url is set to something like "amqp://hostname:/"
it currently raise ValueError while any url parsing library
(like urlparse) just ignore the port, and don't fail since this is a
value url.
This change make the transport url ignore empty port instead of raising
ValueError.
Change-Id: I04df76012e3b133eddbcf365363cd261d277e369
oslo.messaging doesn't ensure ordering of notification. By chance
that works for some driver/setup. But for example zmq job often
fail this one.
This changes removes this assumption.
That fixes the zmq gate job
Change-Id: I2087f0a219a4a5b8fb30bb8ed84e1a72f8d9e0ab
During the tox refactoring for the constraint stuffs [1], we pass
all target timeout from 60s to 30s, making functional tests to fail.
This change just restore the default, even the py27 job doesn't need
such small timeout.
[1] 78f113780510b741bc974c69eb9b0718cd657c1d
Change-Id: I515786a2e8b7cf8d17b5ee970b13a68f565965ea
Adding constraints support to libraries is slightly more complex than
services as the libraries themselves are listed in upper-constraints.txt
which leads to errors that you can't install a specific version and a
constrained version.
This change adds constraints support by also adding a helper script to
edit the constraints to remove oslo.messaging.
Change-Id: I8be883215f27abb58d15b85e8542cbdf32000bac
1.As mentioned in [1], we should avoid using six.iteritems to achieve iterators.
We can use dict.items instead, as it will return iterators in PY3 as well.
And dict.items/keys will more readable. 2.In py2, the performance about
list should be negligible, see the link [2].
[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html
Change-Id: Ia235afc3532f62f265f91ca46d2306c72fc2a2a2
Currently zmq functional gate jobs run the same configuration zeromq
for all three configurations zeromq/zeromq-proxy/zeromq-pub-sub while
locally if we run
tox -e py27-func-zeromq-proxy (or pub-sub or zeromq)
the proper one will run.
Gate job has to work similarly to what we have in local testing.
Change-Id: I94342be65564665faf27d8d01ae6650183146874
Closes-Bug: #1643929
Add detailed documentation to the driver API to help driver developers
create drivers that behave consistently. Specifically prescribes a
set of operational characteristics that a driver must conform to in
order to provide consistent behavior across different implementations.
Change-Id: Icb251ee724f9a0ac4fede702a367910de4ba95e3
Move from __init__ any redis hosts discovering, because
at the first few seconds of sentinel starting no master
or slave are synced and in this case the constructor
of MatchmakerSentinel may thrown MasterNotFoundError
or SlaveNotFoundError exception that kills openstack
service at the starting (nova/neutron).
Change-Id: I3f0e0cb13072e438224675055678fc8cee913961
Currently we set it before the channel and as a result nothing
happens, only an error is logged at the debug level.
Change-Id: Ifebdd957d403e47039c10f7e55c4e7ef08fba658
Closes-Bug: #1640773
update srouce doc pika_driver.rst the charactor
the word:more then shoud be more than
Closes-Bug: #1639995
Change-Id: I41460492c4503cf395c93b0bf643ccb98f4e12c3
Calling threading.Event.wait() when using eventlet results in a busy
loop calling epoll_wait, because the Python 2.x
threading.Condition.wait() implementation busy-waits by calling
sleep() with very small values (0.0005..0.05s). Because sleep() is
monkey-patched by eventlet, this results in many very short timers
being added to the eventlet hub, and forces eventlet to constantly
epoll_wait looking for new data unecessarily.
This utilizes a new Event from eventletutils which conditionalizes the
event primitive depending on whether or not eventlet is being used.
If it is, eventlet.event.Event is used instead of threading.Event.
The eventlet.event.Event implementation does not suffer from the same
busy-wait sleep problem. If eventlet is not used, the previous
behavior is retained.
Change-Id: I5c211092d282e724d1c87ce4d06b6c44b592e764
Depends-On: Id33c9f8c17102ba1fe24c12b053c336b6d265501
Closes-bug: #1518430
by removing some class which don't exist and adding some function
which exist in current source.
Change-Id: I1aa78db34051dd554bfdb81e9e24378cbf7f0ea3
Closes-Bugs: #1637930
This patch cleans up the documentation by removing some functions
which don't exist anymore and cause sphinx warnings. The patch also
adds pika_driver to index.rst.
Change-Id: I23908089ef6ad1f05c78521c2eea3a0a3276eb2a
Closes-Bug: #1639171
This patch replaces the legacy retrying library with the newer
and more convenient tenacity one, taking into account that:
1) retrying uses milliseconds for wait times, but tenacity uses seconds;
2) retrying has a lot of numeric arguments for specifying behaviour
of decorated functions, while tenacity has a few of them, which are
specialized objects, thus making the retry-decorator more flexible.
Change-Id: Ib6ecffe5d1cf292badbb9eb6db6260f17460f343
Closes-Bug: #1635399