diff --git a/tools/update-test-platforms.py b/tools/update-test-platforms.py
index 2f38415eb..77c86a34d 100755
--- a/tools/update-test-platforms.py
+++ b/tools/update-test-platforms.py
@@ -30,7 +30,6 @@ import ruamellib
 # in the multinode jobs, so just use the real labels everywhere.
 
 CENTOS_PLATFORMS = [
-    'centos-7',
     'centos-8-stream',
     'centos-9-stream',
 ]
@@ -68,8 +67,6 @@ TAGS = {
 # Insert a job to make that single job non-voting
 NON_VOTING_JOBS = [
     'zuul-jobs-test-multinode-roles-gentoo-17-0-systemd',
-    # nimble jobs for centos-7 and opensuse-15 are broken since long time
-    'zuul-jobs-test-nimble-centos-7',
 ]
 
 
diff --git a/zuul-tests.d/container-roles-jobs.yaml b/zuul-tests.d/container-roles-jobs.yaml
index 291c4454c..2008bbc50 100644
--- a/zuul-tests.d/container-roles-jobs.yaml
+++ b/zuul-tests.d/container-roles-jobs.yaml
@@ -12,16 +12,6 @@
       - centos-platforms
       - fedora-platforms
 
-- job:
-    name: zuul-jobs-test-ensure-docker-centos-7
-    description: Tests ensure-docker role on centos-7
-    parent: zuul-jobs-test-ensure-docker
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-ensure-docker-centos-8-stream
     description: Tests ensure-docker role on centos-8-stream
@@ -567,7 +557,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-ensure-docker-centos-7
         - zuul-jobs-test-ensure-docker-centos-8-stream
         - zuul-jobs-test-ensure-docker-centos-9-stream
         - zuul-jobs-test-ensure-docker-debian-bookworm
diff --git a/zuul-tests.d/general-roles-jobs.yaml b/zuul-tests.d/general-roles-jobs.yaml
index 63585e5d5..2e5cb9f5e 100644
--- a/zuul-tests.d/general-roles-jobs.yaml
+++ b/zuul-tests.d/general-roles-jobs.yaml
@@ -132,16 +132,6 @@
       - ^roles/validate-host/.*
       - ^test-playbooks/base-roles/.*
 
-- job:
-    name: zuul-jobs-test-base-roles-centos-7
-    description: Tests roles in the 'base' job on centos-7
-    parent: zuul-jobs-test-base-roles
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-base-roles-centos-8-stream
     description: Tests roles in the 'base' job on centos-8-stream
@@ -225,16 +215,6 @@
       role_name: bindep
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-bindep-centos-7
-    description: Test the bindep role on centos-7
-    parent: zuul-jobs-test-bindep
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-bindep-centos-8-stream
     description: Test the bindep role on centos-8-stream
@@ -421,16 +401,6 @@
       - ^roles/dstat-graph/.*
       - ^test-playbooks/dstat-graph.yaml
 
-- job:
-    name: zuul-jobs-test-dstat-graph-centos-7
-    description: Test the dstat-graph roles on centos-7
-    parent: zuul-jobs-test-dstat-graph
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-dstat-graph-centos-8-stream
     description: Test the dstat-graph roles on centos-8-stream
@@ -519,25 +489,6 @@
       - ^roles/persistent-firewall/.*
       - ^test-playbooks/multinode/.*
 
-- job:
-    name: zuul-jobs-test-multinode-roles-centos-7
-    description: Tests multinode setup roles on centos-7
-    parent: zuul-jobs-test-multinode-roles
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: primary
-          label: centos-7
-        - name: secondary
-          label: centos-7
-      groups:
-        - name: switch
-          nodes:
-            - primary
-        - name: peers
-          nodes:
-            - secondary
-
 - job:
     name: zuul-jobs-test-multinode-roles-centos-8-stream
     description: Tests multinode setup roles on centos-8-stream
@@ -831,7 +782,6 @@
         - zuul-jobs-test-add-gpgkey
         - zuul-jobs-test-add-sshkey
         - zuul-jobs-test-encrypt-file
-        - zuul-jobs-test-base-roles-centos-7
         - zuul-jobs-test-base-roles-centos-8-stream
         - zuul-jobs-test-base-roles-centos-9-stream
         - zuul-jobs-test-base-roles-debian-bookworm
@@ -839,7 +789,6 @@
         - zuul-jobs-test-base-roles-ubuntu-bionic
         - zuul-jobs-test-base-roles-ubuntu-focal
         - zuul-jobs-test-base-roles-ubuntu-jammy
-        - zuul-jobs-test-bindep-centos-7
         - zuul-jobs-test-bindep-centos-8-stream
         - zuul-jobs-test-bindep-centos-9-stream
         - zuul-jobs-test-bindep-debian-bookworm
@@ -856,7 +805,6 @@
         - zuul-jobs-test-validate-zone-db-ubuntu-bionic
         - zuul-jobs-test-validate-zone-db-ubuntu-focal
         - zuul-jobs-test-validate-zone-db-ubuntu-jammy
-        - zuul-jobs-test-dstat-graph-centos-7
         - zuul-jobs-test-dstat-graph-centos-8-stream
         - zuul-jobs-test-dstat-graph-centos-9-stream
         - zuul-jobs-test-dstat-graph-debian-bookworm
@@ -864,7 +812,6 @@
         - zuul-jobs-test-dstat-graph-ubuntu-bionic
         - zuul-jobs-test-dstat-graph-ubuntu-focal
         - zuul-jobs-test-dstat-graph-ubuntu-jammy
-        - zuul-jobs-test-multinode-roles-centos-7
         - zuul-jobs-test-multinode-roles-centos-8-stream
         - zuul-jobs-test-multinode-roles-centos-9-stream
         - zuul-jobs-test-multinode-roles-debian-bookworm
diff --git a/zuul-tests.d/go-jobs.yaml b/zuul-tests.d/go-jobs.yaml
index 5339091c0..a967856ca 100644
--- a/zuul-tests.d/go-jobs.yaml
+++ b/zuul-tests.d/go-jobs.yaml
@@ -15,16 +15,6 @@
 #    tox -e update-test-platforms
 #  Please re-run to generate new job lists
 
-- job:
-    name: zuul-jobs-test-golang-go-centos-7
-    description: Test the golang-go job on centos-7
-    parent: zuul-jobs-test-golang-go
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-golang-go-centos-8-stream
     description: Test the golang-go job on centos-8-stream
@@ -98,7 +88,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-golang-go-centos-7
         - zuul-jobs-test-golang-go-centos-8-stream
         - zuul-jobs-test-golang-go-centos-9-stream
         - zuul-jobs-test-golang-go-debian-bookworm
diff --git a/zuul-tests.d/helm-jobs.yaml b/zuul-tests.d/helm-jobs.yaml
index 5a05d86bb..03104f9b6 100644
--- a/zuul-tests.d/helm-jobs.yaml
+++ b/zuul-tests.d/helm-jobs.yaml
@@ -17,16 +17,6 @@
 #    tox -e update-test-platforms
 #  Please re-run to generate new job lists
 
-- job:
-    name: zuul-jobs-test-helm-lint-centos-7
-    description: Test the helm-lint job on centos-7
-    parent: zuul-jobs-test-helm-lint
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-helm-lint-centos-8-stream
     description: Test the helm-lint job on centos-8-stream
@@ -100,7 +90,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-helm-lint-centos-7
         - zuul-jobs-test-helm-lint-centos-8-stream
         - zuul-jobs-test-helm-lint-centos-9-stream
         - zuul-jobs-test-helm-lint-debian-bookworm
diff --git a/zuul-tests.d/packer-jobs.yaml b/zuul-tests.d/packer-jobs.yaml
index d926641c2..e710b4035 100644
--- a/zuul-tests.d/packer-jobs.yaml
+++ b/zuul-tests.d/packer-jobs.yaml
@@ -17,16 +17,6 @@
       packer_variables:
         packer_test_content: "abc\n"
 
-- job:
-    name: zuul-jobs-test-packer-centos-7
-    description: Test packer job on centos-7
-    parent: zuul-jobs-test-packer
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-packer-centos-8-stream
     description: Test packer job on centos-8-stream
@@ -100,7 +90,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-packer-centos-7
         - zuul-jobs-test-packer-centos-8-stream
         - zuul-jobs-test-packer-centos-9-stream
         - zuul-jobs-test-packer-debian-bookworm
diff --git a/zuul-tests.d/python-jobs.yaml b/zuul-tests.d/python-jobs.yaml
index 5deab5687..cba9de036 100644
--- a/zuul-tests.d/python-jobs.yaml
+++ b/zuul-tests.d/python-jobs.yaml
@@ -7,16 +7,6 @@
     run: test-playbooks/ensure-nox.yaml
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-ensure-nox-centos-7
-    description: Test the ensure-nox role on centos-7
-    parent: zuul-jobs-test-ensure-nox
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-ensure-nox-centos-8-stream
     description: Test the ensure-nox role on centos-8-stream
@@ -96,16 +86,6 @@
     run: test-playbooks/ensure-pip/ensure-pip.yaml
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-ensure-pip-centos-7
-    description: Test the ensure-pip role on centos-7
-    parent: zuul-jobs-test-ensure-pip
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-ensure-pip-centos-8-stream
     description: Test the ensure-pip role on centos-8-stream
@@ -202,16 +182,6 @@
     run: test-playbooks/ensure-tox.yaml
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-ensure-tox-centos-7
-    description: Test the ensure-tox role on centos-7
-    parent: zuul-jobs-test-ensure-tox
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-ensure-tox-centos-8-stream
     description: Test the ensure-tox role on centos-8-stream
@@ -293,16 +263,6 @@
       - roles/tox/library/.*
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-fetch-sphinx-tarball-centos-7
-    description: Test the fetch-sphinx-tarball role on centos-7
-    parent: zuul-jobs-test-fetch-sphinx-tarball
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-fetch-sphinx-tarball-centos-8-stream
     description: Test the fetch-sphinx-tarball role on centos-8-stream
@@ -487,7 +447,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-ensure-nox-centos-7
         - zuul-jobs-test-ensure-nox-centos-8-stream
         - zuul-jobs-test-ensure-nox-centos-9-stream
         - zuul-jobs-test-ensure-nox-debian-bookworm
@@ -495,7 +454,6 @@
         - zuul-jobs-test-ensure-nox-ubuntu-bionic
         - zuul-jobs-test-ensure-nox-ubuntu-focal
         - zuul-jobs-test-ensure-nox-ubuntu-jammy
-        - zuul-jobs-test-ensure-pip-centos-7
         - zuul-jobs-test-ensure-pip-centos-8-stream
         - zuul-jobs-test-ensure-pip-centos-9-stream
         - zuul-jobs-test-ensure-pip-debian-bookworm
@@ -505,7 +463,6 @@
         - zuul-jobs-test-ensure-pip-ubuntu-jammy
         - zuul-jobs-test-ensure-pip-localhost
         - zuul-jobs-test-ensure-sphinx
-        - zuul-jobs-test-ensure-tox-centos-7
         - zuul-jobs-test-ensure-tox-centos-8-stream
         - zuul-jobs-test-ensure-tox-centos-9-stream
         - zuul-jobs-test-ensure-tox-debian-bookworm
@@ -513,7 +470,6 @@
         - zuul-jobs-test-ensure-tox-ubuntu-bionic
         - zuul-jobs-test-ensure-tox-ubuntu-focal
         - zuul-jobs-test-ensure-tox-ubuntu-jammy
-        - zuul-jobs-test-fetch-sphinx-tarball-centos-7
         - zuul-jobs-test-fetch-sphinx-tarball-centos-8-stream
         - zuul-jobs-test-fetch-sphinx-tarball-centos-9-stream
         - zuul-jobs-test-fetch-sphinx-tarball-debian-bookworm
diff --git a/zuul-tests.d/python-roles-jobs.yaml b/zuul-tests.d/python-roles-jobs.yaml
index 67ae4c30e..e4dcb2dc3 100644
--- a/zuul-tests.d/python-roles-jobs.yaml
+++ b/zuul-tests.d/python-roles-jobs.yaml
@@ -12,16 +12,6 @@
     run: test-playbooks/simple-role-test.yaml
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-build-python-release-jobs-centos-7
-    description: Test the build-python-release-jobs role on centos-7
-    parent: zuul-jobs-test-build-python-release-jobs
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-build-python-release-jobs-centos-8-stream
     description: Test the build-python-release-jobs role on centos-8-stream
@@ -100,16 +90,6 @@
     run: test-playbooks/ensure-python-pyenv.yaml
     tags: all-platforms
 
-- job:
-    name: zuul-jobs-test-ensure-python-pyenv-centos-7
-    description: Test the ensure-python role with pyenv on centos-7
-    parent: zuul-jobs-test-ensure-python-pyenv
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-ensure-python-pyenv-centos-8-stream
     description: Test the ensure-python role with pyenv on centos-8-stream
@@ -183,7 +163,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-build-python-release-jobs-centos-7
         - zuul-jobs-test-build-python-release-jobs-centos-8-stream
         - zuul-jobs-test-build-python-release-jobs-centos-9-stream
         - zuul-jobs-test-build-python-release-jobs-debian-bookworm
@@ -191,7 +170,6 @@
         - zuul-jobs-test-build-python-release-jobs-ubuntu-bionic
         - zuul-jobs-test-build-python-release-jobs-ubuntu-focal
         - zuul-jobs-test-build-python-release-jobs-ubuntu-jammy
-        - zuul-jobs-test-ensure-python-pyenv-centos-7
         - zuul-jobs-test-ensure-python-pyenv-centos-8-stream
         - zuul-jobs-test-ensure-python-pyenv-centos-9-stream
         - zuul-jobs-test-ensure-python-pyenv-debian-bookworm
diff --git a/zuul-tests.d/rust-jobs.yaml b/zuul-tests.d/rust-jobs.yaml
index d2fb8d43c..f2f11ddc6 100644
--- a/zuul-tests.d/rust-jobs.yaml
+++ b/zuul-tests.d/rust-jobs.yaml
@@ -14,16 +14,6 @@
 #    tox -e update-test-platforms
 #  Please re-run to generate new job lists
 
-- job:
-    name: zuul-jobs-test-rust-centos-7
-    description: Test the rust roles on centos-7
-    parent: zuul-jobs-test-rust
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-rust-centos-8-stream
     description: Test the rust roles on centos-8-stream
@@ -97,7 +87,6 @@
 - project:
     check:
       jobs: &id001
-        - zuul-jobs-test-rust-centos-7
         - zuul-jobs-test-rust-centos-8-stream
         - zuul-jobs-test-rust-centos-9-stream
         - zuul-jobs-test-rust-debian-bookworm
diff --git a/zuul-tests.d/terraform-jobs-roles.yaml b/zuul-tests.d/terraform-jobs-roles.yaml
index 4c3b7ad10..263ffa668 100644
--- a/zuul-tests.d/terraform-jobs-roles.yaml
+++ b/zuul-tests.d/terraform-jobs-roles.yaml
@@ -19,16 +19,6 @@
               source = "./other-module"
             }
 
-- job:
-    name: zuul-jobs-test-terraform-centos-7
-    description: Test terraform job on centos-7
-    parent: zuul-jobs-test-terraform
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-terraform-centos-8-stream
     description: Test terraform job on centos-8-stream
@@ -121,16 +111,6 @@
               source = "./other-module"
             }
 
-- job:
-    name: zuul-jobs-test-terraform-role-centos-7
-    description: Test terraform roles on centos-7
-    parent: zuul-jobs-test-terraform-role
-    tags: auto-generated
-    nodeset:
-      nodes:
-        - name: centos-7
-          label: centos-7
-
 - job:
     name: zuul-jobs-test-terraform-role-centos-8-stream
     description: Test terraform roles on centos-8-stream
@@ -204,7 +184,6 @@
 - project:
     check: &id001
       jobs: &id002
-        - zuul-jobs-test-terraform-centos-7
         - zuul-jobs-test-terraform-centos-8-stream
         - zuul-jobs-test-terraform-centos-9-stream
         - zuul-jobs-test-terraform-debian-bookworm
@@ -212,7 +191,6 @@
         - zuul-jobs-test-terraform-ubuntu-bionic
         - zuul-jobs-test-terraform-ubuntu-focal
         - zuul-jobs-test-terraform-ubuntu-jammy
-        - zuul-jobs-test-terraform-role-centos-7
         - zuul-jobs-test-terraform-role-centos-8-stream
         - zuul-jobs-test-terraform-role-centos-9-stream
         - zuul-jobs-test-terraform-role-debian-bookworm