From 4966810392d02cd032a682ba65b06fbe3caf562c Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Tue, 30 Jul 2024 22:19:06 +0900 Subject: [PATCH] Remove Python 3.8 tests and constraints Python 3.8 reaches its EOL in October 2024, shortly after the 2024.2 release, so is no longer part of the tested runtimes for the 2024.2 release. Remove testing with Python 3.8 because some projects already started removing Python 3.8 support according to the runtime update. Also remove py3.8 specific entries from constraints. Change-Id: I0f84ee438212b4722df66c05684f73c53eca3dca --- .zuul.d/jobs.yaml | 20 ----------------- .zuul.d/project.yaml | 3 --- global-requirements.txt | 1 - tox.ini | 7 ------ upper-constraints.txt | 50 +++++++++++------------------------------ 5 files changed, 13 insertions(+), 68 deletions(-) diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 2bf6ebbbf7..987220449f 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -12,16 +12,6 @@ vars: tox_envlist: babel -- job: - name: requirements-tox-py38-check-uc - parent: openstack-tox-py38 - description: | - Run test for requirements project. - - Uses tox with the ``py38-check-uc`` environment. - files: ^upper-constraints.*txt$ - vars: - tox_envlist: py38-check-uc - job: name: requirements-tox-py39-check-uc parent: openstack-tox-py39 @@ -63,16 +53,6 @@ vars: tox_envlist: py312-check-uc -- job: - name: requirements-tox-py38-check-uc-no-wheels - parent: requirements-tox-py38-check-uc - description: | - Run test for requirements project. - - Uses tox with the ``py38-check-uc`` environment. - Does not use wheel mirror. - pre-run: playbooks/drop-wheel-mirror.yaml - - job: name: requirements-tox-py39-check-uc-no-wheels parent: requirements-tox-py39-check-uc diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index 6174e5e01c..132ef401ae 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -16,7 +16,6 @@ - requirements-tox-babel - requirements-tox-bindep: voting: false - - requirements-tox-py38-check-uc - requirements-tox-py39-check-uc - requirements-tox-py310-check-uc - requirements-tox-py311-check-uc @@ -82,7 +81,6 @@ - bindep.txt - openstack-tox-validate - requirements-tox-babel - - requirements-tox-py38-check-uc - requirements-tox-py39-check-uc - requirements-tox-py310-check-uc - requirements-tox-py311-check-uc @@ -118,7 +116,6 @@ jobs: - nova-ceph-multistore - nova-next - - requirements-tox-py38-check-uc-no-wheels - requirements-tox-py39-check-uc-no-wheels - requirements-tox-py310-check-uc-no-wheels - requirements-tox-py311-check-uc-no-wheels diff --git a/global-requirements.txt b/global-requirements.txt index 2af52ef6b8..55e02fc29c 100644 --- a/global-requirements.txt +++ b/global-requirements.txt @@ -64,7 +64,6 @@ icalendar # BSD # Do not make importlib-metadata conditional on Python version: we depend on # newer code than in [most] releases of the Python std library. importlib-metadata # Apache-2.0 -importlib-resources;python_version<'3.9' # Apache-2.0 infinisdk # BSD-3 influxdb!=5.3.0 # MIT influxdb-client # MIT diff --git a/tox.ini b/tox.ini index 52a9dd46b6..c4294ac1a6 100644 --- a/tox.ini +++ b/tox.ini @@ -12,13 +12,6 @@ deps = -c{toxinidir}/upper-constraints.txt commands = stestr run {posargs} -[testenv:py38-check-uc] -allowlist_externals = - check-conflicts -basepython = python3.8 -deps = -r{toxinidir}/upper-constraints.txt -commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt - [testenv:py39-check-uc] allowlist_externals = check-conflicts diff --git a/upper-constraints.txt b/upper-constraints.txt index 670fab3fc8..8b7285396d 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -1,5 +1,4 @@ -voluptuous===0.14.2;python_version=='3.8' -voluptuous===0.15.2;python_version>='3.9' +voluptuous===0.15.2 chardet===5.2.0 enum-compat===0.0.3 rsa===4.9 @@ -40,7 +39,6 @@ ntc_templates===6.0.0 sphinxcontrib-nwdiag===2.0.0 rbd-iscsi-client===0.1.8 requests-aws===0.1.8 -alabaster===0.7.13;python_version=='3.8' alabaster===0.7.16;python_version=='3.9' alabaster===1.0.0;python_version>='3.10' multidict===6.0.5 @@ -50,7 +48,6 @@ waiting===1.4.1 attrs===24.2.0 microversion-parse===2.0.0 jwcrypto===1.5.6 -Pint===0.21.1;python_version=='3.8' Pint===0.23;python_version=='3.9' Pint===0.24.3;python_version>='3.10' oslo.i18n===6.4.0 @@ -78,8 +75,7 @@ os-refresh-config===14.0.0 pysnmp===7.0.1 Mako===1.3.5 pyScss===1.4.0 -sphinxcontrib-htmlhelp===2.0.1;python_version=='3.8' -sphinxcontrib-htmlhelp===2.1.0;python_version>='3.9' +sphinxcontrib-htmlhelp===2.1.0 XStatic-jQuery===3.5.1.1 jaraco.collections===5.0.1 ddt===1.7.2 @@ -93,7 +89,6 @@ python-vitrageclient===5.1.1 py-pure-client===1.55.0 krest===1.3.6 psycopg2===2.9.9 -networkx===3.1;python_version=='3.8' networkx===3.2.1;python_version=='3.9' networkx===3.3;python_version>='3.10' cheroot===10.0.1 @@ -111,7 +106,6 @@ python-swiftclient===4.6.0 pyOpenSSL===24.2.1 monasca-common===3.8.0 zeroconf===0.132.2 -scipy===1.10.1;python_version=='3.8' scipy===1.13.1;python_version=='3.9' scipy===1.14.1;python_version>='3.10' opentelemetry-exporter-otlp===1.26.0 @@ -126,8 +120,7 @@ jaraco.classes===3.4.0 debtcollector===3.0.0 responses===0.25.3 croniter===2.0.7 -horizon===24.0.0;python_version=='3.8' -horizon===25.0.0;python_version>='3.9' +horizon===25.0.0 octavia-lib===3.6.0 python-watcherclient===4.5.0 MarkupSafe===2.1.5 @@ -157,7 +150,6 @@ taskflow===5.9.1 arrow===1.3.0 semantic-version===2.10.0 async-timeout===4.0.3;python_version=='3.10' -async-timeout===4.0.3;python_version=='3.8' async-timeout===4.0.3;python_version=='3.9' virtualbmc===3.1.0 SQLAlchemy===2.0.32 @@ -218,7 +210,6 @@ python-novaclient===18.7.0 pact===1.12.0 bcrypt===4.0.1 exceptiongroup===1.2.2;python_version=='3.10' -exceptiongroup===1.2.2;python_version=='3.8' exceptiongroup===1.2.2;python_version=='3.9' os-client-config===2.1.0 XStatic-Angular-Gettext===2.4.1.0 @@ -228,8 +219,7 @@ Pygments===2.18.0 XStatic-Hogan===2.0.0.3 XStatic-objectpath===1.2.1.0 python-manilaclient===5.0.0 -sphinxcontrib-serializinghtml===1.1.5;python_version=='3.8' -sphinxcontrib-serializinghtml===2.0.0;python_version>='3.9' +sphinxcontrib-serializinghtml===2.0.0 requests===2.32.3 snowballstemmer===2.2.0 Jinja2===3.1.4 @@ -252,9 +242,7 @@ sphinx-feature-classification===2.0.0 XStatic-JQuery-Migrate===3.3.2.1 pytest-html===4.1.1 appdirs===1.4.4 -importlib_resources===6.4.0;python_version=='3.8' google-auth-httplib2===0.2.0 -pkgutil_resolve_name===1.3.10;python_version=='3.8' daiquiri===3.2.5.1 influxdb===5.3.2 funcparserlib===2.0.0a0 @@ -271,8 +259,7 @@ oslo.versionedobjects===3.4.0 enmerkar===0.7.1 webcolors===24.8.0 aodhclient===3.6.0 -autobahn===23.1.2;python_version=='3.8' -autobahn===24.4.2;python_version>='3.9' +autobahn===24.4.2 SQLAlchemy-Utils===0.41.2 retryz===0.1.9 pluggy===1.5.0 @@ -294,7 +281,6 @@ oslo.log===6.1.2 nodeenv===1.9.1 gossip===2.4.0 suds-community===1.1.2 -importlib-metadata===6.2.1;python_version=='3.8' importlib-metadata===6.2.1;python_version=='3.9' importlib-metadata===6.11.0;python_version>='3.10' oslo.middleware===6.2.0 @@ -392,8 +378,7 @@ os-collect-config===14.0.0 edgegrid-python===1.3.1 python-qpid-proton===0.39.0 python-octaviaclient===3.8.0 -pysaml2===7.3.1;python_version=='3.8' -pysaml2===7.5.0;python_version>='3.9' +pysaml2===7.5.0 requests-oauthlib===1.3.1 oslo.reports===3.4.0 pysnmp-lextudio===5.0.33 @@ -408,11 +393,9 @@ python-consul===1.1.0 more-itertools===10.4.0 seqdiag===3.0.0 zc.lockfile===3.0.post1 -numpy===1.24.4;python_version=='3.8' numpy===2.0.0;python_version=='3.9' numpy===2.1.0;python_version>='3.10' msgpack===1.0.8 -Sphinx===7.1.2;python_version=='3.8' Sphinx===7.4.7;python_version=='3.9' Sphinx===8.0.2;python_version>='3.10' oslo.config===9.6.0 @@ -422,7 +405,7 @@ rpds-py===0.20.0 zake===0.2.2 flux===1.3.5 pysnmpcrypto===0.0.4 -flexparser===0.3.1;python_version>='3.9' +flexparser===0.3.1 krb5===0.6.0 PyMySQL===1.1.1 uhashring===2.3 @@ -444,9 +427,7 @@ api-object-schema===2.0.0 blinker===1.8.2 WSME===0.12.1 tomli===2.0.1;python_version=='3.10' -tomli===2.0.1;python_version=='3.8' tomli===2.0.1;python_version=='3.9' -backports.zoneinfo===0.2.1;python_version=='3.8' oslo.upgradecheck===2.4.0 tempora===5.7.0 stevedore===5.3.0 @@ -536,9 +517,8 @@ XStatic-Bootstrap-Datepicker===1.4.0.0 netifaces===0.11.0 cachetools===5.5.0 ws4py===0.5.1 -flexcache===0.3;python_version>='3.9' -sphinxcontrib-qthelp===1.0.3;python_version=='3.8' -sphinxcontrib-qthelp===2.0.0;python_version>='3.9' +flexcache===0.3 +sphinxcontrib-qthelp===2.0.0 keystoneauth1===5.8.0 statsd===4.0.1 proto-plus===1.24.0 @@ -562,8 +542,7 @@ cffi===1.17.0 python-cyborgclient===2.4.0 futurist===3.0.0 jsonschema===4.19.2 -sphinxcontrib-devhelp===1.0.2;python_version=='3.8' -sphinxcontrib-devhelp===2.0.0;python_version>='3.9' +sphinxcontrib-devhelp===2.0.0 python-blazarclient===4.1.0 alembic===1.13.2 execnet===2.1.1 @@ -595,8 +574,7 @@ sortedcontainers===2.4.0 python-linstor===1.23.0 filelock===3.15.4 python-tackerclient===2.1.0 -python-heatclient===3.5.0;python_version=='3.8' -python-heatclient===4.0.0;python_version>='3.9' +python-heatclient===4.0.0 oslo.utils===7.3.0 requests-kerberos===0.15.0 itsdangerous===2.2.0 @@ -613,7 +591,5 @@ opentelemetry-proto===1.26.0 XStatic-D3===3.5.17.0 actdiag===3.0.0 sysv-ipc===1.1.0 -sphinxcontrib-applehelp===1.0.4;python_version=='3.8' -sphinxcontrib-applehelp===2.0.0;python_version>='3.9' -scikit-learn===1.3.2;python_version=='3.8' -scikit-learn===1.5.1;python_version>='3.9' +sphinxcontrib-applehelp===2.0.0 +scikit-learn===1.5.1