Address the two minor improvements found during the review.
- Rename 'join' method to more explicit name
- Allow float timeout value
Change-Id: I08b1b1584414a7675257f0aac90017e91c7cd716
The asyncore module has been deprecated in Python 3.6 and removed in
Python 3.12. In the future, we should either port process_executor to
asyncio or deprecate it, but for now we just disable it starting in
Python 3.12.
Closes-Bug: #2026183
Change-Id: I6c69593c5ce5a62721294564917d7a75531a2dac
These are detected as errors since the clean up was done[1] in
the requirements repository.
[1] 314734e938f107cbd5ebcc7af4d9167c11347406
Change-Id: I6970540de396e4aa77590aadfdfa72bf3f1862f3
assertRaisesRegex is now included in unittest, we no longer need to keep
an internal implementation
Change-Id: I749a9f214c0fd0215cc6b88f67bfc3d72274746f
Some of the "unit" test cases required actual redis running. This
introduces a separate job with actual redis service enabled so that
we run these tests in CI.
Change-Id: I1ddb580e9e8eb34937acba934520a998d249da3c
We were previously calling 'connect()' on the 'connectable' object in
'run_migrations_online', regardless of whether it was an 'Engine' or
'Connection' object. This worked because, as noted in an inline comment,
"when connectable is already a Connection object, calling 'connect()'
gives us a *branched connection*." This is no longer the case. From the
SQLAlchemy docs [1]:
The Connection object does not support "branching", which was a
pattern by which a sub "connection" would be used that refers to this
connection as a parent.
Update our code to reflect this change, using the newly updated example
from the SQLAlchemy cookbook doc [2] as inspiration.
[1] https://docs.sqlalchemy.org/en/14/core/future.html#sqlalchemy.future.Connection
[2] https://alembic.sqlalchemy.org/en/latest/cookbook.html#connection-sharing
Closes-Bug: #2061375
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I5617dc7e6e97e4ba5aad2f5d8be40b2241b9cf4c
These tests are not run unless redis is actually started and these
failures were not caught in CI.
Change-Id: I4bb430c8ba77de78a8135b3f066274373f625730
This reverts commit 3fbd05078f84fc5b8190201fc6eeb7d005bf4988.
Reason for revert:
Some deployment tools such as kolla already rely on the previous
behavior which requires authentication for only redis.
Conflicts:
taskflow/jobs/backends/impl_redis.py
Closes-Bug: #2056656
Change-Id: I24e0272c269c6fd287234fd2d3b2754983911a7f
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: Ia061784457bac37b5c09f3e9245417cd5c5acecb
Sentinel clients can use fallback sentinel services so that clients can
obtain available instances even if some of the sentinel services are
unavailable.
Change-Id: Ibdf8993f7ca912bd5acf75ffbc89cf928b607b99
We generally expects that users enabled authentication both in Redis
and Redis Sentinel at the same time, and it'd be more reasonable to
use the same credential by default. This behavior is more consistent
with the other libraries used in tooz or dogpile.cache, which are used
in multiple OpenStack services.
Change-Id: Ie8c96415f72bbd5f11f908bb9f96242d57b2bd4e
Sentinel class supports ssl arguments since v4.0.0[1]. Setting these
are required to use SSL in Redis Sentinel.
[1] fea7b85dde
Related-Bug: #2052372
Change-Id: I2fdbb2cbd26ffd277b18adf45ebb7312ec6f0a24
Redis introduced ACL feature in 4.0.0, and this feature is supported by
redis-py since 3.4.0[1]. When ACL is enabled, authentication requires
username in addition to password.
[1] 8df8cd54d1
Closes-Bug: #2052371
Change-Id: Ie2de917603e752e45377edd81496cc46f5675c2c
Zuul deprecated usage of perl-style regex.
```
All regular expressions must conform to RE2 syntax, but an
expression using the deprecated Perl-style syntax has been detected.
Adjust the configuration to conform to RE2 syntax.
```
Change-Id: I0dd4596cb0138e44122486e699b8f64714e8418a
- Python 2 is no longer supported
- setup.py is no longer managed by the global tooling
- Recent pip does not require appropriate order in requirement files
Change-Id: I8853a4221c6da78f860e821be4a063176c5734f3
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: Ib88b74861cbd1260183f668b6cf616751f6b03e7
If the storage is down (for instance sqlalchemy), the logbook cannot be
loaded, then taskflow goes into a endless loop of exceptions. To
mitigate this issue, use the retry feature of tenacity, the backtrace
will be displayed only every 5 seconds
Partial-Bug: #2037050
Change-Id: I656abdf7325c46d3afb2cc7ca905f1a335fb0d2f
Since [0] _save_flow_detail and _save_atom_detail use tenacious.retry,
it means that they no longer raise StorageException but a
tenacious.RetryError which is not caught by the callers.
Some jobs may have been incorrectly consumed (instead of being
rescheduled) when StorageException was raised.
Now tenacious reraises only the last exception (StorageException), which
is correctly handled.
[0] Ic6b0a78d20124cc027468ecc6aeff189c25d1a8a
Closes-Bug: #2037050
Change-Id: I030dd8fc5b65833243cf0948af53dc1aeabf41d9
Debian Bookworm switched from MySQL to MariaDB.
Change-Id: Iffacf1bb001eca68937debe8e688002348f4a818
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I4c568a542aab8b4e45899124f30fbf7e9041749f