The use of ABC classes directly from collections has been deprecated in
3.x versions of Python. The direction is to use the classes defined in
collections.abc. Python 2.7 does not have this, but Python 3.8 will be
dropping the backwards compatibility to use the old location.
Six also does not have support for this yet, so in the mean time to make
sure we don't run into issues as folks try to move to 3.8, and to get
rid of deprecation warnings in logs, this handles importing from the
preferred location and falls back if it not available.
Change-Id: If67133813634f41d89ccdf0f6d6d5ffa66c97dd8
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Without this commit, the client can lose the messages, because the
client does not handler the 'AMQP internal error 541',
read here [2] for details.
The fix retries to create the queue after a delay.
When the virtual-host is ready the declare does not fail.
This is a rare condiction, please read the bug [1] for details.
Closes-Bug: #1822778
[1] https://bugs.launchpad.net/oslo.messaging/+bug/1822778
[2] https://www.rabbitmq.com/amqp-0-9-1-reference.html
Change-Id: I7ab1f9d21ebb807285bf1422bc14cc6e07dcd32a
Commit 287a4f56f45ed9cd40116a9e7b6e529f3382a925 marked RabbitMQ
heartbeat as experimental in 2015, due to issues with the underlying
amqp library. Later, commit 168f6cc2bb72591012d54b15e1c2e4a0332fb5c9
enabled heartbeat by default, but the EXPERIMENTAL string was left.
Change-Id: I78838df2a0db9836f98d8f79624d688c3ed351ae
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: Iec59af4e909e307df789589d9e40d019d2545088
Restoring an old comment to the code that explains why the RabbitMQ
driver provides a dedicated connection for each listener.
Change-Id: If833d41d78444cc26535cb165ea821dce21b768b
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: Icb3ca5bb875df1dda9f3d86bb164b6299059664e
Sem-Ver: feature
This patch messaging intermediaries used for the amqp1 driver
test. The combination of the apache qpid-dispatch-router (qdrouterd)
with an attached apache artemis broker is used in place of the qpidd
broker. The qdrouterd will directly message oslo.messaging rpc
communications and will link route oslo.messaging notify
communications to the artemis broker (e.g. for persistence).
This patch:
* updates the dependencies
* updates the test environment setup
* uses the pifpaf drivers to create servers
Change-Id: I9fb56450346fca84bc1573fa5e9b6fe81c14e33a
Bumping the version of amqp in requirements.txt and
lower-constraints.txt from 2.4.0 to 2.4.1 to mitigate issues with
MessagingTimeouts when using TLS due to a amqp bug that was fixed in
2.4.1
Change-Id: I0b094f32dec24c70f95ccd509164a14a71fcfc7d
Closes-Bug: #1800957
python3.5 was the only supported python3 version on Xenial, now that we have
Bionic Beaver nodes that support python3.7, lets switch to testing with
python3.7 in addition with python3.6 in Stein and beyond.
See ML discussion here [1] for context.
[1] http://lists.openstack.org/pipermail/openstack-dev/2018-October/135632.html
Change-Id: I3335ccb01667d22a181d99d4d53d7356005d72ad
Signed-off-by: Charles Short <chucks@redhat.com>
Story: #2004073
Task: #27440
The key, value pair returned by items() wasn't used here,
so rewrite the logic to just iterate over the keys, filtered
by the type.
Change-Id: I7512ea93ac794d161a4cd9944546d6ca035a12cf
openstack-dev was decomissioned this night in https://review.openstack.org/621258
Update openstack-dev to openstack-discuss
Change-Id: I7d889d3f9a6c95e707ed57dbf5a9cffb1d41ddf5
This patch switches the kafka python client from kafka-python to
confluent-kafka due to documented threading issues with the
kafka-python consumer and the recommendation to use multiplrocessing.
The confluent-kafka client leverages the high performance librdkafka
C client and is safe for multiple thread use.
This patch:
* switches to confluent-kafka library
* revises consumer and producer message operations
* utilizes event.tpool method for confluent-kafka blocking calls
* updates unit tests
* adds kafka specific timeouts for functional tests
* adds release note
Depends-On: Ice374dca539b8ed1b1965b75379bad5140121483
Change-Id: Idfb9fe3700d882c8285c6dc56b0620951178eba2
A change to the global-requirements has limited use of monotonic
library to Python versions earlier than 3.3 (later versions have
built-in support for a monotonic clock), so limit it in
requirements.txt.
Note: this patch updates kafka driver (due to deprecated exception
in library) in order to pass unit tests
Change-Id: Id6b0814e05a0e548a8c2a5359daf1a6878cf6859
This change https://review.openstack.org/#/c/599912/ accidentally
removed setting the virtual host to '/' if none were provided in the
transport_url configuration option.
Closes-Bug: #1798241
Change-Id: I2dbcec3f77eb7cc513350b00ea020cc8faaecec1
Developers run all sorts of different tools within Git repositories,
any of which can leave their own special trashfiles all over the
place. We can't every hope to catalog them all, so better to
recommend developers simply configure a global core.excludesfile to
filter the irrelevant files which tend to get created by their
personal choice of tools.
To this end, remove the long-standing sections for "Mr Developer"
and "Editors" since their mere existence here sends the signal that
we welcome (and have time to review) additions for any old tool
someone ever might happen to try. Also add a comment block
explaining this, for clarity.
We can, and should of course, continue to list files created by the
tools recommended by our workflow (test frameworks called from tox,
documentation and packaging builds, et cetera).
This change is a port of I1b41efac219fca44e2548fc36633724d0ecfc0cb
from the openstack-dev/oslo-cookiecutter repository.
Change-Id: I4078179f3d55847ea23f8790572ba911e52fce53
Change d3f6ca0b47e2a5a3413b27617d9655f02b191c6a have broken
oslo.messaging defaults, no more transport are selected by default and
oslo.messaging just crash:
Traceback (most recent call last):
File "/home/sileht/workspace/openstack/oslo.messaging/.tox/py27/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "oslo_messaging/tests/test_transport.py", line 111, in test_get_transport
transport_ = oslo_messaging.get_transport(self.conf, **kwargs)
File "/home/sileht/workspace/openstack/oslo.messaging/.tox/py27/lib/python2.7/site-packages/debtcollector/removals.py", line 242, in wrapper
return f(*args, **kwargs)
File "oslo_messaging/transport.py", line 247, in get_transport
transport_cls=RPCTransport)
File "oslo_messaging/transport.py", line 205, in _get_transport
url.transport.split('+')[0],
AttributeError: 'NoneType' object has no attribute 'split'
This change restores rabbit:// as default.
Change-Id: I945a2aca60347dad672cc406cd33e80e93c588a7