| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The etcd3 driver depends on the python-etcd3 [1]
library that is currently stale and no has no
active maintenance [2] with a non-working CI
that blocks all PRs.
It's also currently blocking Tooz from supporting
newer versions of tenacity [3] that a lot of
projects is now pinning because newer version of
tenacity dropped old legacy compatibility code
that has been in there for years.
We currently have etcd3gw as an alternative driver
where the library the driver depends on is a
deliverable that we maintain.
[1] https://github.com/kragniz/python-etcd3
[2] https://github.com/kragniz/python-etcd3/issues/1719
[3] https://review.opendev.org/c/openstack/tooz/+/829412
Change-Id: Iff0cd3b51cfc45ecbddc831c55267e80e9c79cac
|
| |
|
|
|
|
|
| |
The tooz project doesn't support Python 2 anymore, using the
six library should not be necessary.
Change-Id: I9886cabcd13cbc615065ceb372efbf037dff1aeb
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.
We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.
Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]
[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328
Change-Id: I95809cf4035a6bc487b24f9e91aaa715921ad842
|
| |
|
|
|
|
|
|
| |
The etcd3 and etcd3gw drivers parse CA, key and cert options from
the coordination URL, and pass them on to the backend clients. The
etcd3gw driver implements the "etcd3+https" scheme.
Change-Id: I78d8ca0583f883f7f746791f82fbcc116458ce2c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you're not intimately familiar with RFC 1808 it can be a bit tricky to
write tooz connection strings. In addition, some drivers do not document the
options that they recognize in a connection string. This can force a user to
read the driver code in order to figure out how to configure tooz to use said
driver, which should not be the case.
This change more explicitly documents the format of the connection string,
including which parts of an RFC 1808 URI it recognizes, and the options that
can be passed. It also clarifies which parts of the connection string are
optional (possibly because they have defaults) and which must always be
included.
Note that not every possible configuration is documented. For example, the
postgres driver supports multiple methods of configuring the connection host
and port. For consistency, I only documented the one that matches the other
drivers. This should be sufficient to allow a user to write a working
connection string.
This change also wires the etcd3 and etcd3gw drivers into the doc index since
they were missing before.
Change-Id: I66e54433115f27fb54badc2173f8f6044c49aacb
|
| |
|
|
|
|
|
|
| |
Ensure that ID's are correctly binary encoded when strings are
provided, resolving compatibility issues with Python 3.
Change-Id: Ia417920a7600aacd43f17b95ecd6a34b5faa226b
Related-Bug: 1530888
|
| |
|
|
|
|
| |
Sem-Ver: feature
Change-Id: I1ce3a61c8e28b874df3583e08aa6a70f9506dd11
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
- add a test to be sure that no lock refresh is made on non-acquired locks
- add thread safety for etcd3 drivers on heartbeat() (like Redis)
Change-Id: I350ea10163d59a06712c22c4c5be4dfcb6885bf8
|
| |\ \
| |/ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The code in python-etcd3 for locks has been adjusted to reflect how tooz wants
his lock to work. That's amazing because now we can use them directly and not
implement our own locking mechanism!
Change-Id: Ia5741bae83cddd90f9bb78fba9173dca8509e6d9
|
| |/
|
|
| |
Change-Id: I364b0ca5a6361a818a084bbcb83c9e7855cb3583
|
| |
|
|
| |
Change-Id: Icdf2ecc7e3500ef6c2efdc1f61d2431b13831141
|
| |
|
|
|
|
| |
The value should be passed, not only a boolean. No need for conversion.
Change-Id: I73a8a1b377d9eb7e4a8b6433f0b09832756c7188
|
| |
|
|
|
|
|
|
|
|
| |
pifpaf always exports the URL as being etcd:// which always loads the etcd
driver, and never the etcd3 driver. Therefore, it's not currently tested.
This fixes that by exporting a variable in tox that will allow us to replace
the URL correctly.
Change-Id: Id4f54bb1f729498a39e9bf58da8ee01562c4344b
|
|
|
This patch adds support to Tooz for taking advantage of the etcd3 gRPC-based
API (instead of the etcd2 HTTP/REST-based API) via the python-etcd3 library.
Change-Id: Ic7c3d9be42a9912fcb09c43e7637270db4011c4a
|