This driver was deprecated in the 2.11.0 release[1]. The 3.2.0 release
which contains this deprecation is used in upper-constraints of
stable/2023.1 so we are ready to remove this feature now.
[1] 7ee2780af8
Change-Id: I5ca2fe43cb25b4687ace6bd21a866b74f289d628
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
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>
This repo has been using train tests and thus was missed by the bot to
update from ussuri to victoria, update manually. also, update other jobs
to use now py38.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: Ie1ef901d7b52800912365cfeae96b0e66108e1fc
os-testr is only needed to provide the "subunit-trace" command which
is used in the tools/pretty_tox.sh script. And pretty_tox.sh is not
needed. "stestr" can be used directly in tox.ini. So drop
tools/pretty_tox.sh .
Change-Id: I6a18183f092689c8c9d283c19914da9baa59cc32
The bug `https://github.com/tox-dev/tox/issues/706` mentioned in the
comments has been resolved since tox version 3.1.0.
Change-Id: Idb5428d883efa776f0782a543cb7423ae9d4e4b4
This is a squash of two commits needed to get gate tests passing
again on tooz. See below for details:
Move testing to py36
The base infra images no longer have python 3.5 available and are
all failing. We should be testing on py36 now anyway since that is
the minimum supported version for Train.
Stop redis-server before running tests
Just installing redis-server on Ubuntu Bionic starts the service,
which means when we try to start one via pifpaf it fails due to the
port already being in use.
This change adds a pre-run playbook that stops the redis-server
service so ours can run successfully.
Change-Id: I3f7f7ea9069d8c890a82f31ad14c9663e98c09dc
Closes-Bug: 1828610
This project needs some special setup before running its tests, and
that wasn't happening in the cover tox env. This switches cover to
use the same methods for running tests as the regular test envs.
Change-Id: Ie4a6543286caa11dc15173679455b2aa2020dc97
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Decode the output of subprocess in doc/source/conf.py so that we always
have a string.
Change-Id: I17601d56b6e6d9d300bb07d8982a7bbde637822e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Set the default python to python3 except for the py27 environment. We
have to set that explicitly to override the new default.
Change-Id: Ib90566414f0967b2c7c7633950e3dc2fa8634982
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Fix doc building with new PTI changes and job updates.
Add a doc/requirements.txt file with all needed dependencies.
Change-Id: Ic7963520aeb0b9c463c4f9b5675589308720d6f8
list-table is easier to be maintained.
In addition, we avoid too long lines.
We no longer have too long lines which doc8 complains,
so doc8 ignore_path can be dropped.
Change-Id: I574391295288ef9e33744aa608c2f2930a6e46f8
- Update sphinx so that warning-is-error option is available
- Fix sphinx warnings
- Install python modules required for automodule into docs env
- Fix docstring warning in tooz/coordination.py
- pbr warnerrors is no longer needed in favor of sphinx warning-is-error
Change-Id: I5d54c452522b6ee00884d7d17105af22b4c95189
This should make it easy to run any Python version test, e.g. Python 3.6,
without any further change.
Change-Id: I91a47b736371549e50b7c7fd60e46e0f87c357ae
Using grpc to directly access etcd3 does not work well with
eventlet based services. So we need to use the grpc HTTP
gateway API (/v3alpha).
https://coreos.com/etcd/docs/latest/dev-guide/api_grpc_gateway.html
For this we use the etcd3gw package:
https://pypi.python.org/pypi/etcd3gw
The structure of the code is very similar to the one we
already have that uses the etcd3 package.
Change-Id: I97bd7ffb05a7e40cb08c9b9d62cc45236ad292aa
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
This makes sure that the test fails if not URL is set. This allows make sure we
test the non-coordination tests (e.g. partitioner) with all base drives (zake,
ipc, file) by using the TOOZ_TEST_URL to run the tests.
Change-Id: Id500636d166e5ebcc54fda16ef128f91f32170d6
There was a typo in pifpaf call where the prefix for the variable name should
be prefixed by using the -e option and not -g.
Change-Id: I5a97e0a0ffc5ba675914bb0881520ddc9693fa1b
The release management team have indicated this is their preferred way
to collect release notes in future.
Closes-Bug: #1634356
Change-Id: I10fbc4cb80d53d4bf5b8b6365c7472b7706d46b2
When using the wait functionality, one must use the last index increased
by one, as the wait returns once that index has been used. Using the
index that is already been returned by the etcd instance will cause
'wait' to return immediately, producing a busy-wait loop while spamming
the server with the same requests over and over.
Closes-Bug: #1603002
Change-Id: I4f3bee0a52dcf2eb69b96b53a9f777a5e2a7efb1
This makes sure we install the correct and only the correct dependencies
when installing tooz, based on the driver one wants to use.
Change-Id: I58825cf228771a00b28d515a552141b42f884efa
There's no need to depends on all the stack, as hacking is pulling
everything. We also can only install hacking in the pep8 target, as it's
not used per say for tests in tooz.
Change-Id: I69426ab2373ba2f76b098cf9e9eb812c8124748f
For now it only supports locks, in the
future it may support more functionality
as time allows (and/or if people want to
add it).
Co-Authored-By: Joshua Harlow <harlowja@gmail.com>
Implements: bp add-consul-driver
Change-Id: I6064383e9db4e90fd16f17065bd7b0934ca7e125