Occasionally I saw large number of connectionforced exceptions.
such exceptions cannot be healed automatically and requires a reboot.
catch it and ensure connection established.
Change-Id: I5c468d10230f05438df780e045f1e92662edf070
Closes-Bug: #1883038
The 'kombu.connection.Connection.ensure_connection' method has changed
from calling 'retry_over_time' on 'self.connect' to calling it on
'self._connection_factory' [1], meaning our mocks are outdated. Address
this change.
[1] https://github.com/celery/kombu/pull/1193/commits/398aa5b8cd1fe1fc
Change-Id: Ibbcf21a57ab1e3f90c21901296e5c088b645127c
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1885923
test-setup.sh is called after bindep is run in CI, and tox is not setup.
Simplify the script so that it only does what's needed - install
qdrouterd for Ubuntu from qpid/testing.
Install the other packages using bindep, add test to amqp1 profile.
Add amqp1 to bindep_profiles where needed for scenario tests, previously
test-setup.sh added it everywhere.
Some tests are skipped due to changes in recent versions of kombu. These
will be unskipped when we come up with a proper fix.
Change-Id: Ic3a9e2c873619670edfbf71022d593f3cb5f70f2
Related-Bug: #1885923
Previously (when python 2 was supported) we introduced some specific
exception management to detect connections issues when a rabbitmq
cluster node disappearing.
The original issue was that a ConnectionRefusedError is thrown and not
managed by oslo.messaging to detect heartbeat issue and call ensure_connection
for switching the connection destination (cluster node).
`ConnectionRefusedError` is only a python 3 exception [2].
Now that we only support python 3 we don't need to continue to
wrap/emulate this kind of exceptions (ConnectionRefusedError) [2] and
so we can drop the python 2 compatibility code to only support python 3 code.
[1] 9d8b1430e5
[2] https://docs.python.org/3/library/exceptions.html#ConnectionRefusedError
Change-Id: I4c459d8c947dac213a1866c0d37e8f3d547aa82e
We're seeing the following in our build logs:
In file included from confluent_kafka/src/confluent_kafka.c:17:0:
confluent_kafka/src/confluent_kafka.h:22:10: fatal error: librdkafka/rdkafka.h: No such file or directory
#include <librdkafka/rdkafka.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Resolve this by installing the development headers.
Change-Id: Idda79dc87bcd0e3367a6abd1b52104c000ad1dcd
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Switch to openstackdocstheme 2.2.0 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering
Update Sphinx version as well.
Remove docs requirements from lower-constraints, they are not needed
during install or test but only for docs building.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
Depends-On: https://review.opendev.org/728938
Change-Id: I70c7edf8b95cde890e6263195be1de6bb826e700
Python modules related to coding style checks (listed in blacklist.txt in
openstack/requirements repo) are dropped from lower-constraints.txt
as they are not actually used in tests (other than pep8).
more info: https://github.com/openstack/requirements/blob/master/blacklist.txt
Change-Id: Iac09dcd4c97950717c72f2f6a669b2f11e5f6ee6
I believe when connection pool running out of available
resources, there will be all kinds of weird consequences
following. So let's print warning logs when we are going
to waiting indefinitely for the lock
Change-Id: I5ca930cada523bc77c644703a0f02b9160816231
Related-bug: #1871813
Remove six, the python 2/3 compatibility library. It's not needed
anymore since the repo is python3 only.
Remove a now unneeded hacking test.
Change-Id: I40522c4accb4aaf8115d11fee8b081e2d991cb4d
The monotonic package was needed for monotonic time operations when
running under Python runtimes older than 3.3. Since we now only support
versions higher than this, this third party package requirement can now
be removed.
Change-Id: I598530b3f417964ff697b48e681b135bd119ae81
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.
This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.
Change-Id: I1992bad2ee6bffade2f937cc0d8dc6ae800f4159
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: Ibe733cb482501544644133fed494f672ef566b7a
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Add file to the reno documentation build to show release notes for
stable/ussuri.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.
Change-Id: I74595d2712ed45ce5b9336e17152f50caab838a0
Sem-Ver: feature
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.
Update local hacking check for new flake8 version.
Blacklist:
W504 line break after binary operator
Fix:
E741 ambiguous variable name
E117 over-indented
E305 expected 2 blank lines after class or function definition, found 1
F841 local variable 'e' is assigned to but never used
W605 invalid escape sequence '\.'
Change-Id: I99d574ca6569f1f177d2c5ce1011f269f4343619
The blocking executor has been deprecated in Pike and marked for removal
in Rocky, but some user like Mistral asked us to wait before. We decided
to remove this executor for Train or next cycle, now we are in the
Ussuri and after some researchs on usage I think we can go ahead.
This patch drop the deprecation warnings, related unit tests and
set the server with the threading executor is the default executor.
Change-Id: If07bab61ee2b148658b88be98b12f8539f274efe
Closes-Bug: #1715141
This patchset introduces scenarios for the functional tests to unify the
setup and configuration of alternate messaging backends for RPC and
Notifications. The scenarios are defined to reduce redundancy in
the testing of backends and to demonstrate functional correctness
across driver combinations.
Current driver support:
rabbit - RPC, Notify
amqp - RPC
kafka - Notify
RPC Notify
--------- ----------
scenario01 rabbit rabbit
scenario02 rabbit kafka
scenario03 amqp rabbit
scenario04 amqp kafka
It is anticipated that additional scenarios will be defined as new
drivers are introduced and/or new messaging intermediarites are supported.
Note: The removal of python2 jobs are also included patch
Change-Id: I0f86416623a0b718516147f0660b4df2b74cf867
Such non-existing methods are used as health probes.
Please see bug for details.
Change-Id: I8f6b4a669ec11721f76cf03abcd7d802c3c11eb5
Closes-Bug: #1857319
Adding some debug logs to track execution on the AMQPListener poll
function to observe if workers incoming messages are dispatched to
workers and if listener is stuck.
Change-Id: Ia9b9ef62b0b59c78283c6a8cc5b7ce42282e73b5
Waiting on a threading.Event with eventlet can cause busy looping via
epoll_wait, see related bug for more details.
Change-Id: I007613058a2d21d1712c02fa6d1602b63705c1ab
Related-bug: #1518430
This broke non-rabbitmq message bus drivers. See:
https://bugs.launchpad.net/oslo.messaging/+bug/1855775
This reverts commit b104f254ab43d5e2589e845eff84b1bd096cb42d.
Change-Id: I17a448a768b544482b375b0076889db989e03e8c
The telemetry tests are not actively maintained and have been failing
checks for quite some time. Remove the non-voting tests for now and
plan to introduce new tests in the future for better coverage of
notifications.
Change-Id: I6c30c28ee4c8be4677ccecf8822af15b060cf804