summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Revert "Moves supported python runtimes from version 3.8 to 3.10""HEADmasterZuul2023-05-082-55/+56
|\
| * Revert "Moves supported python runtimes from version 3.8 to 3.10"Ghanshyam2023-05-052-55/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4a18ae10b8d2dc164b4607fcd0728bb24516a723. Keeping Python 3.10 in setup.cfg classifier and testing py38 min and py310 max version. Reason for revert: Needed-By: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/882175 TC has been discussing about re-adding the python 3.8 testing in current master 2023.2 release testing. - https://meetings.opendev.org/meetings/tc/2023/tc.2023-04-25-18.00.log.html#l-191 - https://lists.openstack.org/pipermail/openstack-discuss/2023-April/033469.html While governance changes are under review, TC agreed to add py3.8 testing so that we do not see more project/lib dropping python 3.8 and make them uninstalable on python 3.8 - https://meetings.opendev.org/meetings/tc/2023/tc.2023-05-02-18.00.log.html#l-17 - https://review.opendev.org/c/openstack/governance/+/882165 Also adding py3.8 testing back in job https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/882175 Change-Id: I18508891947649aa0a696372f71877c87b5c387e
* | Fix mysql timeout4.0.0ricolin2023-04-142-1/+19
|/ | | | | | | | mysql should support customize timeout when acquire lock. Curently we only put 0, which will lead to in crush cases, lock might releases after mysql socket timeout, which is long hrs. Change-Id: I01aaff4af34b89fe82d985276ba356ce85a910de
* Moves supported python runtimes from version 3.8 to 3.10Takashi Kajinami2023-04-102-92/+92
| | | | | | | | Within 2023.2 python version 3.9 and 3.10 are the supported python runtimes [1]. [1] https: //review.opendev.org/c/openstack/governance/+/872232 Change-Id: I73a909411d4896adf1fe5903afa1dec4640f8a0b
* tox: set allowlist_externalsTobias Urdin2023-01-171-0/+3
| | | | Change-Id: I96c9822e54864cdc7cfb6e22ce069054cfef9a94
* Allow to pass ssl-related args for zookeeperDmitriy Rabotyagov2022-12-083-7/+36
| | | | | | | | | | | | | Zookeeper does support TLS encryption and authentication for client connections. There's no reason not to pass these arguments to the kazoo to allow encrypted connections. We bump minimum kazoo version to 2.6.0 since change implementin SSL support has been merged with [1] and was first released with 2.6.0 tag. [1] https://github.com/python-zk/kazoo/commit/35ce10669ace9d0d7e787793f0d4937d5d389f69 Change-Id: Ied29512989f477a19753afcb789e5588877fd688
* Loosen protobuf version that's used for docs/renosDmitriy Rabotyagov2022-11-302-1/+3
| | | | | | | | | | | | | | protobuf package is present in upper-constraints, thus should not be specified in requirements to version that is smaller that one on u-c, otherwise pip will fail due to conflict between requirements and constraints. We do that only for docs and releasenotes, since used workaround decreases performance. The issue is mainly raised by etcd3 module that we rely on, so not to affect runtime things a left as is for now. Change-Id: Ieeba8d53a8311ed6cc228f444c831d148ee29025
* Add grouping support in etcd to compatibility matrix.Christian Rohmann2022-10-282-2/+2
| | | | | | | | Support has been added with https://opendev.org/openstack/tooz/commit/6ab8c380c8d6a2e15611b225da7594e820cc773e Closes-Bug: 1995125 Change-Id: I507301618c2bb32fa989db3e5634016c8e15f305
* Merge "Enable watch functionality for Etcd3Driver"3.2.0Zuul2022-10-121-13/+10
|\
| * Enable watch functionality for Etcd3DriverEkaterina Chernova2022-04-111-13/+10
| | | | | | | | | | | | | | | | | | | | | | Add run_watchers support to Etcd3Driver. Raise NotImplemented during leader change watch methods to let corresponding tests pass since only group membership is supported Closes-bug: #1968323 Change-Id: Ibd46a3697b59cd22f386e60d29649acc5c5cd88a
* | Merge "Support etcd3gw api version"3.1.0Zuul2022-09-052-1/+12
|\ \
| * | Support etcd3gw api versionPavlo Shchelokovskyy2022-08-242-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since etcd3 3.5 dropped support for v3alpha and v3beta api, replacing those with v3. etcd3gw library supports passing api_path (v3alpha by default), but tooz lacks such possibility and thus can not work with etcd3 3.5. This patch adds handling of "api_version" in the options to "ectd3+https" connection URLs (defaults to v3alpha as it is today and corresponds to etcd3 version shipped in major LTS distros at the moment). Closes-Bug: #1983668 Depends-On: I49c480f573a4ba8294627a3ce730b816ded10aed Change-Id: Ib30c1e003f261cd7e1ac6fed87167f9974bf8542
* | | remove unicode from codejiaqi072022-08-021-4/+4
| | | | | | | | | | | | Change-Id: Ie63625d79dff284ce985e1fad8c487e5281fbbb4
* | | Merge "Add TLS support for MySQL driver"3.0.0Zuul2022-07-153-1/+103
|\ \ \
| * | | Add TLS support for MySQL driverPavlo Shchelokovskyy2021-11-083-1/+103
| | | | | | | | | | | | | | | | | | | | | | | | use pymysql TLS-related arguments as query params in DB connection URL. Change-Id: I3136df2a9ac4e05daa46f33e47c1438e3b02a321
* | | | Merge "[etcd3gw] create new lease if expired."Zuul2022-07-152-2/+17
|\ \ \ \
| * | | | [etcd3gw] create new lease if expired.Mitya_Eremeev2022-05-252-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen membership lease can be expired to the moment of lease refreshing. In this case heartbeat will try to refresh expired lease forever without success. The patch checks if lease expired and create new one. Closes-Bug: 1975524 Depends-On: https://review.opendev.org/c/openstack/etcd3gw/+/843003 Change-Id: I5017724fd0134f3f0a51f059640e641dd9853ff2
* | | | | Merge "Fix inappropriate logic in memcachedlock.release()"Zuul2022-07-152-2/+11
|\ \ \ \ \
| * | | | | Fix inappropriate logic in memcachedlock.release()zhen2022-05-262-2/+11
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whether 'was_deleted' was 'TRUE' or not, eventually we have to remove self from '_acquired_locks'. For example: 1. App #1 with coordinator 'A' wants to release lock "b" 2. 'self.coord.client.delete()' failed for some reason(.e.g, BrokenPipeError,MemcacheUnexpectedCloseError) 3. According to the former logic,lock "b" will not remove from "_acquired_locks", so "self.heartbeat()" will make it alive forever until App #1 was down or lock "b" turned expired. 4. Now App #1 with coordinator 'A' wants to acquire lock "c", who have the same lock-name with lock "b",It is clear that this will fail and prevent the locked program from continuing to execute. Change-Id: I6fc33b8e0a88510027bcfc30d1504489d2a91b4e
* | | | | Cap protobuf < 4.xStephen Finucane2022-06-282-5/+21
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tooz doesn't use upper-constraints so we get the newest version of all dependencies. It seems one of these, etcd3, is incompatible with recent versions of protobuf. Failed to import test module: tooz.tests.drivers.test_etcd3 Traceback (most recent call last): File "/usr/lib/python3.7/unittest/loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "/usr/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name __import__(name) File "/home/zuul/src/opendev.org/openstack/tooz/tooz/tests/drivers/test_etcd3.py", line 22, in <module> import tooz.drivers.etcd3 as etcd3_driver File "/home/zuul/src/opendev.org/openstack/tooz/tooz/drivers/etcd3.py", line 18, in <module> import etcd3 File "/home/zuul/src/opendev.org/openstack/tooz/.tox/py37/lib/python3.7/site-packages/etcd3/__init__.py", line 3, in <module> import etcd3.etcdrpc as etcdrpc File "/home/zuul/src/opendev.org/openstack/tooz/.tox/py37/lib/python3.7/site-packages/etcd3/etcdrpc/__init__.py", line 1, in <module> from .rpc_pb2 import * File "/home/zuul/src/opendev.org/openstack/tooz/.tox/py37/lib/python3.7/site-packages/etcd3/etcdrpc/rpc_pb2.py", line 16, in <module> from etcd3.etcdrpc import kv_pb2 as kv__pb2 File "/home/zuul/src/opendev.org/openstack/tooz/.tox/py37/lib/python3.7/site-packages/etcd3/etcdrpc/kv_pb2.py", line 36, in <module> type=None), File "/home/zuul/src/opendev.org/openstack/tooz/.tox/py37/lib/python3.7/site-packages/google/protobuf/descriptor.py", line 755, in __new__ _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). The etcd3 dependency is only used for the etcd3 driver which was deprecated in change Iff0cd3b51cfc45ecbddc831c55267e80e9c79cac. The protobuf dependency is only used for etcd3. We can't outright remove the etcd3 driver yet as it hasn't been long enough since we deprecated it. That will happen soon enough though and until then we can simply cap protobuf to an older version that is compatible with the most recent etcd3 release. While we're here, we also sync the lower boundaries in the docs requirments and add some comments indicating where they come from/what they're for. Change-Id: I8d6647118be22b0ce55e01b7e5451612ebe30e73 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* | | | Drop python3.6/3.7 support in testing runtimeHervé Beraud2022-05-052-57/+56
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Zed cycle testing runtime, we are targetting to drop the python 3.6/3.7 support, project started adding python 3.8 as minimum, example nova: - https://github.com/openstack/nova/blob/56b5aed08c6a3ed81b78dc216f0165ebfe3c3350/setup.cfg#L13 Also indicates that we support python 3.9. Change-Id: I9f9e63fcea02a90a08bfb381755ed76cdd35ddef
* | | Fix getting group with prefix in etcd3gw driver2.11.1Ekaterina Chernova2022-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | Convert group_id from string to bytes while byte string concatenation Change-Id: I29d8fe9f3d017da4f582b9bdce8631690e728c0a Closes-Bug: #1967498
* | | Bump tenacity dependency to >= 5.0.02.11.0Tobias Urdin2022-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bumps the tenacity dependency to >= 5.0.0 because that is what should have been done with the fix in [1] where that new support was added. [1] https://review.opendev.org/c/openstack/tooz/+/829412 Change-Id: I5aef75c3dba44b975b850c0745bfe317837d2c12
* | | Merge "Support later tenacity versions"Zuul2022-03-222-2/+2
|\ \ \
| * | | Support later tenacity versionsTobias Urdin2022-03-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lambda func use the defined retry_never Retrying class. Change-Id: I756b44443d8b5892c04bd1be9faa010e39c763fc
* | | | Merge "Update CI to use unversioned jobs template"Zuul2022-03-211-1/+1
|\ \ \ \ | |/ / / |/| | |
| * | | Update CI to use unversioned jobs templateStephen Finucane2022-03-151-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of the migration of this project to the independent release model, we failed to notice that the job template was still tied to a specific release. We've now introduced a new unversioned job template, 'openstack-python3-jobs' [1], which was can and should use. Do this. [1] https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/833286/ Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/833286/ Change-Id: I51acac9189a6631eb530a25aa10f56d28179c7d0 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* | | Deprecate the etcd3 driverTobias Urdin2022-03-153-20/+11
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix docstring for get_members()2.10.1Arne Wiebalck2021-12-091-2/+2
| | | | | | | | | | | | Add 'asynchronously', fix a typo, and correct a copy and paste error. Change-Id: Ib11562fe3398fe5faeba0477994513f674ee5bd6
* | Enable retries in redis driver2.10.0Pavlo Shchelokovskyy2021-06-162-37/+42
|/ | | | | | | | | this is followup to Iaab5ce609c0dcf7085f5dd43efbd37eb4b88f17b actually retry for specified number of retries instead of raising error on first ConnectionError Change-Id: Ibca3f568b65dfea252da4b67f6d5105ba7f1ecb1
* Merge "setup.cfg: Replace dashes with underscores"Zuul2021-05-260-0/+0
|\
| * setup.cfg: Replace dashes with underscoresmaaoyu2021-04-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setuptools v54.1.0 introduces a warning that the use of dash-separated options in 'setup.cfg' will not be supported in a future version [1]. Get ahead of the issue by replacing the dashes with underscores. Without this, we see 'UserWarning' messages like the following on new enough versions of setuptools: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb Change-Id: Icbbd718896cdd3858a13a149f2a65d6a3aab1c1a
* | Merge "Fix formatting of release list"Zuul2021-05-261-12/+12
|\ \
| * | Fix formatting of release listPierre Riteau2021-04-161-12/+12
| | | | | | | | | | | | Change-Id: I5b599bcc101446df96c2aebcc66962263709ad49
* | | setup.cfg: Replace dashes with underscoresyangyawei2021-05-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setuptools v54.1.0 introduces a warning that the use of dash-separated options in 'setup.cfg' will not be supported in a future version [1]. Get ahead of the issue by replacing the dashes with underscores. Without this, we see 'UserWarning' messages like the following on new enough versions of setuptools: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb Change-Id: I4b4bace2f08ce960a789fb97cf7320fc07195526
* | | Merge "Retry on redis connection errors"2.9.0Zuul2021-04-272-54/+80
|\ \ \ | |_|/ |/| |
| * | Retry on redis connection errorsMatthias Runge2021-03-312-54/+80
| | | | | | | | | | | | | | | | | | | | | Sometimes, connections get closed by the server. This change adds retrying to the code. Change-Id: Iaab5ce609c0dcf7085f5dd43efbd37eb4b88f17b
* | | Merge "Add Python3 wallaby unit tests"Zuul2021-04-161-1/+1
|\ \ \ | |_|/ |/| |
| * | Add Python3 wallaby unit testsOpenStack Release Bot2020-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for wallaby. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: Ie3e8d7b8a85251682c1a55dcfa610c232f067c8b
* | | Merge "Update master for stable/wallaby"Zuul2021-04-162-0/+7
|\ \ \
| * | | Update master for stable/wallabyOpenStack Release Bot2021-03-182-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add file to the reno documentation build to show release notes for stable/wallaby. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/wallaby. Sem-Ver: feature Change-Id: I84eb9877fd221a1c14bf02b00f38ed77c67ed7a9
* | | | Merge "Move flake8 as a pre-commit local target."Zuul2021-04-152-4/+8
|\ \ \ \ | |_|_|/ |/| | |
| * | | Move flake8 as a pre-commit local target.Daniel Bengtsson2021-04-062-4/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to avoid conflicts between flake8 and hacking version each 2 days. Inspired from nova's approach[1]. The flake8 version to install will be determined by hacking and requirements[2] will stay aligned instead of relying on different versions. [1] https://opendev.org/openstack/nova/src/branch/master/.pre-commit-config.yaml#L26-L35 [2] https://opendev.org/openstack/hacking/src/branch/master/requirements.txt#L1 Change-Id: Ic3f3d05ce7bb10a7d29815444dac00dea4f9c9d1
* | | Cap tenacity to unblock the gateMatthias Runge2021-03-091-1/+1
|/ / | | | | | | | | | | | | Recent version 7 changed retry and dropped the retry_state parameter. Change-Id: I109d3b5770c3cd8fe0bdeae78517f4d36ba3b65f
* | Merge "Use py3 as the default runtime for tox"Zuul2021-02-241-1/+1
|\ \
| * | Use py3 as the default runtime for toxHervé Beraud2020-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving on py3 as the default runtime for tox to avoid to update this at each new cycle. Wallaby support officially the following runtimes [1]: - Python 3.6 - Python 3.8 During Victoria Python 3.7 was used as the default runtime [2] however this version isn't longer officially supported. [1] https://governance.openstack.org/tc/reference/runtimes/wallaby.html#python-runtimes-for-wallaby [2] https://governance.openstack.org/tc/reference/runtimes/victoria.html#python-runtimes-for-victoria Change-Id: Id8aa147958139ddb3877c9a0066aa1513f543737
* | | Bump hacking and flake8 version to fix pep8 jobmanchandavishal2021-02-082-3/+3
|/ / | | | | | | | | | | | | This patch update hacking and flake8 version to fix pep8 job. Change-Id: Id6999d06fb2e15b5c80bc27b995bde065b342eec
* | Replace md5 with oslo version2.8.0Ade Lee2020-10-295-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | md5 is not an approved algorithm in FIPS mode, and trying to instantiate a hashlib.md5() will fail when the system is running in FIPS mode. md5 is allowed when in a non-security context. There is a plan to add a keyword parameter (usedforsecurity) to hashlib.md5() to annotate whether or not the instance is being used in a security context. In the case where it is not, the instantiation of md5 will be allowed. See https://bugs.python.org/issue9216 for more details. Some downstream python versions already support this parameter. To support these versions, a new encapsulation of md5() has been added to oslo_utils. See https://review.opendev.org/#/c/750031/ This patch is to replace the instances of hashlib.md5() with this new encapsulation, adding an annotation indicating whether the usage is a security context or not. Reviewers need to pay particular attention as to whether the keyword parameter (usedforsecurity) is set correctly. Change-Id: Idbef0f0896753765372c8dfac8ab15e6be49922f Depends-On: https://review.opendev.org/#/c/760160
* | Adding pre-commitHervé Beraud2020-10-0914-175/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced changes: - pre-commit config and rules. - Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks. - Applying fixes for pre-commit compliance in all code. Also commit hash will be used instead of version tags in pre-commit to prevend arbitrary code from running in developer's machines. pre-commit will be used to: - trailing whitespace; - Replaces or checks mixed line ending (mixed-line-ending); - Forbid files which have a UTF-8 byte-order marker (check-byte-order-marker); - Checks that non-binary executables have a proper shebang (check-executables-have-shebangs); - Check for files that contain merge conflict strings (check-merge-conflict); - Check for debugger imports and py37+ breakpoint() calls in python source (debug-statements); - Attempts to load all yaml files to verify syntax (check-yaml); - Run flake8 checks (flake8) (local) For further details about tests please refer to: https://github.com/pre-commit/pre-commit-hooks Change-Id: I7a2386a823fdd43b138956894bd915c0e11289a9 Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
* | Blacklist etcd3gw 0.2.6Elod Illes2020-09-291-1/+1
|/ | | | | | | | | | | | | | etcd3gw 0.2.6 was blacklisted in openstack/requirements [0], because that version has a bug [1]. tooz does not use openstack/requirements' upper constraints, so the same blacklisting needs to be introduced here in setup.cfg. [0] Icb6873d8c5d3a3624c0ac3d76fc9125c5d8134b2 [1] https://github.com/dims/etcd3-gateway/issues/41 Change-Id: I22b955419014dd34c63e406c488e0636ffe9013b Closes-Bug: #1891314