From 48f96397444d5dad2fad4da74a4461f61c173f2e Mon Sep 17 00:00:00 2001
From: Stephen Finucane <stephenfin@redhat.com>
Date: Mon, 8 Jul 2024 17:00:24 +0100
Subject: [PATCH] Drop support for Python 3.8

We haven't tested this in the gate for some time. While we appear to
still work under 3.8, it goes end-of-life in October 2024 and is holding
us back from adding more, better typing. It's time to let it go.

Change-Id: I0e1cef837febe3baa0dd145640ebc96192c0c915
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Depends-on: https://review.opendev.org/c/openstack/python-openstackclient/+/924493
---
 releasenotes/notes/drop-python-37-38-2a6336af44050fec.yaml | 6 ++++++
 setup.cfg                                                  | 3 +--
 tox.ini                                                    | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)
 create mode 100644 releasenotes/notes/drop-python-37-38-2a6336af44050fec.yaml

diff --git a/releasenotes/notes/drop-python-37-38-2a6336af44050fec.yaml b/releasenotes/notes/drop-python-37-38-2a6336af44050fec.yaml
new file mode 100644
index 000000000..ab605dfad
--- /dev/null
+++ b/releasenotes/notes/drop-python-37-38-2a6336af44050fec.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+  - |
+    Support for Python 3.7 and 3.8 has been dropped. Python 3.7 support was
+    untested and known to be broken for multiple releases, while Python 3.8
+    is going EOL in October 2024.
diff --git a/setup.cfg b/setup.cfg
index 2030b35a9..2f375b29a 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -6,7 +6,7 @@ description_file =
 author = OpenStack
 author_email = openstack-discuss@lists.openstack.org
 home_page = https://docs.openstack.org/openstacksdk/
-python_requires = >=3.8
+python_requires = >=3.9
 classifier =
     Environment :: OpenStack
     Intended Audience :: Information Technology
@@ -15,7 +15,6 @@ classifier =
     Operating System :: POSIX :: Linux
     Programming Language :: Python
     Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
     Programming Language :: Python :: 3.10
     Programming Language :: Python :: 3.11
diff --git a/tox.ini b/tox.ini
index 36491ed8d..68fcacfcd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@ commands =
     stestr run {posargs}
     stestr slowest
 
-[testenv:functional{,-py38,-py39,-py310,-py311,-py312}]
+[testenv:functional{-py39,-py310,-py311,-py312}]
 description =
     Run functional tests.
 # Some jobs (especially heat) takes longer, therefore increase default timeout