From 14d449b2f1bc51416053d1e6bdd1a5cd915e527a Mon Sep 17 00:00:00 2001 From: yatinkarel Date: Fri, 27 Jan 2023 19:52:08 +0530 Subject: [PATCH] Pin SQLAlchemy to <2.0.0 Rally code is not compatible with SQLAlchemy-2.0.0, until it's compatible let's pin it. CI jobs are broken with multiple errors, so to get this in also need following fixes:- - Remove python-dev from bindep to fix announce-release and docs jobs - Update upper-constraints for testtools to 2.5.0 to fix issues with python3.10+ - Update tox.ini for tox4 compatibility - Ignore warnings introdueced with oslo.db-12.1.0, SQLAlchemy-1.4.46 - Make tox-cover job non-voting as to get it passing coverage report need to succeed for previous commit, which will not succeed without the required changes in this patch. It will be made voting again in follow up patch. Related-Bug: #2004022 Change-Id: Ifcffd11e300e1485fdbfa54b23bcdcaa6ad61011 --- .zuul.d/zuul.yaml | 5 +++-- bindep.txt | 1 - requirements.txt | 2 +- tox.ini | 19 ++++++++++++++++--- upper-constraints.txt | 2 +- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.zuul.d/zuul.yaml b/.zuul.d/zuul.yaml index fca2f39189..6c4a5df176 100644 --- a/.zuul.d/zuul.yaml +++ b/.zuul.d/zuul.yaml @@ -6,7 +6,8 @@ rtd_webhook_id: "52691" check: jobs: - - rally-tox-cover + - rally-tox-cover: + voting: false - rally-tox-docs - rally-tox-pep8 - rally-tox-py36 @@ -24,7 +25,7 @@ - rally-docker-build gate: jobs: - - rally-tox-cover + #- rally-tox-cover - rally-tox-docs - rally-tox-pep8 - rally-tox-py36 diff --git a/bindep.txt b/bindep.txt index 21f7e3860c..09825b5150 100644 --- a/bindep.txt +++ b/bindep.txt @@ -13,7 +13,6 @@ libxml2-devel [platform:rpm] libxslt1-dev [platform:dpkg] libxslt-devel [platform:rpm] openssl-devel [platform:rpm] -python-dev [platform:dpkg] python3-devel [platform:rpm] redhat-rpm-config [platform:rpm !platform:suse] iputils-ping [platform:dpkg] diff --git a/requirements.txt b/requirements.txt index 8fc8ac54e4..8408bd844b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,5 +19,5 @@ pyOpenSSL # Apache License, Version PyYAML # MIT python-subunit # Apache-2.0 or BSD requests!=2.20.0,!=2.24.0 # Apache License, Version 2.0 -SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,<2.0.0 # MIT virtualenv!=16.3.0 # MIT diff --git a/tox.ini b/tox.ini index e6d2726f81..303500881c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,5 @@ [tox] minversion = 3.2.0 -skipsdist = True ignore_basepython_conflict = true envlist = py36,py37,py38,pep8,samples @@ -13,7 +12,7 @@ setenv = VIRTUAL_ENV={envdir} LC_ALL=C PYTHONHASHSEED=0 TOX_ENV_NAME={envname} -whitelist_externals = find +allowlist_externals = find rm make deps = -r{toxinidir}/requirements.txt @@ -25,7 +24,14 @@ commands = python {toxinidir}/tests/ci/pytest_launcher.py tests/unit --posargs={posargs} distribute = false basepython = python3.6 -passenv = PYTEST_REPORT http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY +passenv = + PYTEST_REPORT + http_proxy + HTTP_PROXY + https_proxy + HTTPS_PROXY + no_proxy + NO_PROXY [testenv:pep8] commands = flake8 @@ -71,6 +77,7 @@ commands = [testenv:cover] commands = {toxinidir}/tests/ci/cover.sh {posargs} +allowlist_externals = {toxinidir}/tests/ci/cover.sh [testenv:docs] # min py3.6 @@ -152,6 +159,10 @@ commands = \ filterwarnings = error ignore:.*EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade*: + # Introduced with oslo.db-12.1.0 + ignore:.*Support for the MySQL NDB Cluster storage engine has been deprecated and will be removed in a future release.:DeprecationWarning: + # Introuduced with SQLAlchemy-1.4.46, can be removed when rally supports SQLAlchemy>=2.0.0 + ignore:.*Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message.* # instead of ignoring all modules, let's list only libraries that are failing ignore:invalid escape sequence:DeprecationWarning:.*netaddr.* ignore:invalid escape sequence:DeprecationWarning:.*prettytable @@ -166,3 +177,5 @@ filterwarnings = ignore:Using or importing the ABCs:DeprecationWarning:unittest2.* # python 3.8 ignore:::.*netaddr.strategy.* + # pytest-cov + ignore:The --rsyncdir command line argument and rsyncdirs config variable are deprecated.:DeprecationWarning: diff --git a/upper-constraints.txt b/upper-constraints.txt index 2d2121510a..3d8336210a 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -60,7 +60,7 @@ stevedore===3.3.0 Tempita===0.5.2 testresources===2.0.1 testscenarios===0.5.0 -testtools===2.4.0 +testtools===2.5.0 traceback2===1.4.0 typing-extensions===3.10.0.0 unittest2===1.1.0