Restore static direct connections which may be useful
for services running RPC on controllers only and talking
to agents via other means (ssh for example).
Change-Id: Icbe45978cb4a8ba5db74e5593ea7be23cba3f44e
The kafka functional tests don't use our setup framework but hardcode
the kafka url.
The kafka driver is broken and currently try to be loaded with other
driver tests (and break py3 gate job).
This change remove the hardcoded stuff and uses the normal functional
tests setup to check kafka.
This avoids kafka tests to be ran on other driver tests job.
It also creates the tox target for functional tests and use
pifpaf to setup kafka.
As today, the functional test suite doesn't work all.
Change-Id: Ie6af35321905a04b38e549bf7268dd40543d9e3a
Use zmq_target_expire rather than zmq_target_update
as it supposed to represent longer period of time so
all services will definitely be updated.
Change-Id: I0b9a1c8cbc7fea9b2c0c543a270dad318d135c1f
Leverage the fact that there is never more than one socket active to
simplify the event loop's I/O processing. This removes the need to
look up active connections. Also removes the need to query the return
values from select since there is only one socket to process. This
change improves RPC throughput under the simulator by up to 20%
As part of this change I've clarified the code's use of the pyngus
connection by renaming the connection property to something a bit more
specific.
Change-Id: If7c020bb0bd96490af78bc06659db10073b02417
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
In TransportURL.parse(), a classmethod, we expect conf.transport_url
to be accessible if a url is not passed in. However, since the
_transport_opts are not registered yet, that will fail, which is
a pretty easy case to hit if we're constructing our TransportURL
for the first time on startup.
This registers the opts if we're likely to hit it.
Change-Id: Id94bc0a7fec3ce536e134d4f162ac253a775b238
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