diff --git a/README.md b/README.md
index 9d3a57c816da5e6fd811c65a43b301b762623011..7bb62ef17ebd98dc69a8372c9add0f2f475de6e0 100644
--- a/README.md
+++ b/README.md
@@ -143,11 +143,11 @@ vagrant up
 - **Flatcar Container Linux by Kinvolk**
 - **Debian** Bookworm, Bullseye
 - **Ubuntu** 20.04, 22.04, 24.04
-- **CentOS/RHEL** 7, [8, 9](docs/operating_systems/centos.md#centos-8)
+- **CentOS/RHEL** [8, 9](docs/operating_systems/centos.md#centos-8)
 - **Fedora** 37, 38
 - **Fedora CoreOS** (see [fcos Note](docs/operating_systems/fcos.md))
 - **openSUSE** Leap 15.x/Tumbleweed
-- **Oracle Linux** 7, [8, 9](docs/operating_systems/centos.md#centos-8)
+- **Oracle Linux** [8, 9](docs/operating_systems/centos.md#centos-8)
 - **Alma Linux** [8, 9](docs/operating_systems/centos.md#centos-8)
 - **Rocky Linux** [8, 9](docs/operating_systems/centos.md#centos-8)
 - **Kylin Linux Advanced Server V10** (experimental: see [kylin linux notes](docs/operating_systems/kylinlinux.md))
diff --git a/Vagrantfile b/Vagrantfile
index 9733105b04bd49e7bbc307205de04c167bd18732..8b43088b06c17f844661dac78b353a99e91444d9 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -22,8 +22,6 @@ SUPPORTED_OS = {
   "ubuntu2004"          => {box: "generic/ubuntu2004",         user: "vagrant"},
   "ubuntu2204"          => {box: "generic/ubuntu2204",         user: "vagrant"},
   "ubuntu2404"          => {box: "bento/ubuntu-24.04",         user: "vagrant"},
-  "centos"              => {box: "centos/7",                   user: "vagrant"},
-  "centos-bento"        => {box: "bento/centos-7.6",           user: "vagrant"},
   "centos8"             => {box: "centos/8",                   user: "vagrant"},
   "centos8-bento"       => {box: "bento/centos-8",             user: "vagrant"},
   "almalinux8"          => {box: "almalinux/8",                user: "vagrant"},
@@ -36,7 +34,6 @@ SUPPORTED_OS = {
   "opensuse-tumbleweed" => {box: "opensuse/Tumbleweed.x86_64", user: "vagrant"},
   "oraclelinux"         => {box: "generic/oracle7",            user: "vagrant"},
   "oraclelinux8"        => {box: "generic/oracle8",            user: "vagrant"},
-  "rhel7"               => {box: "generic/rhel7",              user: "vagrant"},
   "rhel8"               => {box: "generic/rhel8",              user: "vagrant"},
   "debian11"            => {box: "debian/bullseye64",          user: "vagrant"},
   "debian12"            => {box: "debian/bookworm64",          user: "vagrant"},
diff --git a/contrib/dind/group_vars/all/distro.yaml b/contrib/dind/group_vars/all/distro.yaml
index b9c2670e9c5ce55aac4e89cbe66645017243eacb..279536c005646e006e8982b6b39a8b2b4c55dd75 100644
--- a/contrib/dind/group_vars/all/distro.yaml
+++ b/contrib/dind/group_vars/all/distro.yaml
@@ -18,7 +18,7 @@ distro_settings:
     init: |
       /sbin/init
   centos: &CENTOS
-    image: "centos:7"
+    image: "centos:8"
     user: "centos"
     pid1_exe: /usr/lib/systemd/systemd
     init: |
diff --git a/docs/CNI/calico.md b/docs/CNI/calico.md
index 8708f0bcc818c99ccba3b5dc486e87bd35071e2e..91642682795a58fb4378b98fdc8ffbcbb1602caf 100644
--- a/docs/CNI/calico.md
+++ b/docs/CNI/calico.md
@@ -424,7 +424,7 @@ calico_wireguard_enabled: true
 
 The following OSes will require enabling the EPEL repo in order to bring in wireguard tools:
 
-* CentOS 7 & 8
+* CentOS 8
 * AlmaLinux 8
 * Rocky Linux 8
 * Amazon Linux 2
diff --git a/docs/CRI/docker.md b/docs/CRI/docker.md
index b5de70274c4beed42cfd0f0644f99b0401ac401d..aba0051d83cb211206ec58078bc7722e3d418354 100644
--- a/docs/CRI/docker.md
+++ b/docs/CRI/docker.md
@@ -16,14 +16,6 @@ Enabling the `overlay2` graph driver:
 docker_storage_options: -s overlay2
 ```
 
-Enabling `docker_container_storage_setup`, it will configure devicemapper driver on Centos7 or RedHat7.
-Deployers must be define a disk path for `docker_container_storage_setup_devs`, otherwise docker-storage-setup will be executed incorrectly.
-
-```yaml
-docker_container_storage_setup: true
-docker_container_storage_setup_devs: /dev/vdb
-```
-
 Changing the Docker cgroup driver (native.cgroupdriver); valid options are `systemd` or `cgroupfs`, default is `systemd`:
 
 ```yaml
diff --git a/docs/developers/ci.md b/docs/developers/ci.md
index e60e11f41e6f39a2c2cb9e21dd84dab2776edce3..406ad156d7ce241a4952e5265cea86f9db0e4a21 100644
--- a/docs/developers/ci.md
+++ b/docs/developers/ci.md
@@ -8,7 +8,7 @@ To generate this Matrix run `./tests/scripts/md-table/main.py`
 |---| --- | --- | --- | --- | --- | --- | --- | --- |
 almalinux8 |  :white_check_mark: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: |
 amazon |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
-centos7 |  :white_check_mark: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :x: | :white_check_mark: |
+centos8 |  :white_check_mark: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :x: | :white_check_mark: |
 debian11 |  :white_check_mark: | :x: | :white_check_mark: | :x: | :x: | :x: | :white_check_mark: | :x: |
 debian12 |  :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: |
 fedora37 |  :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: |
@@ -26,7 +26,7 @@ ubuntu24 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 |---| --- | --- | --- | --- | --- | --- | --- | --- |
 almalinux8 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 amazon |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
-centos7 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
+centos8 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 debian11 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 debian12 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 fedora37 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
@@ -44,7 +44,7 @@ ubuntu24 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 |---| --- | --- | --- | --- | --- | --- | --- | --- |
 almalinux8 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 amazon |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
-centos7 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
+centos8 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 debian11 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 debian12 |  :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
 fedora37 |  :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: |
diff --git a/docs/developers/vagrant.md b/docs/developers/vagrant.md
index 824b3953bdecaf72ad8a3ea98f8b277aeb765a46..83b5b999e9c590fb8eda160b601c34d61a8fe4ce 100644
--- a/docs/developers/vagrant.md
+++ b/docs/developers/vagrant.md
@@ -80,7 +80,7 @@ cat << EOF > vagrant/config.rb
 \$instance_name_prefix = "kub"
 \$vm_cpus = 1
 \$num_instances = 3
-\$os = "centos-bento"
+\$os = "centos8-bento"
 \$subnet = "10.0.20"
 \$network_plugin = "flannel"
 \$inventory = "$INV"
diff --git a/docs/operating_systems/centos.md b/docs/operating_systems/centos.md
index 4b6b7331e3997862005c435252665d3776e01990..2f1125ae02ebaec303ccdfc6a94dac05ed7d60e5 100644
--- a/docs/operating_systems/centos.md
+++ b/docs/operating_systems/centos.md
@@ -1,10 +1,5 @@
 # CentOS and derivatives
 
-## CentOS 7
-
-The maximum python version officially supported in CentOS is 3.6. Ansible as of version 5 (ansible core 2.12.x) increased their python requirement to python 3.8 and above.
-Kubespray supports multiple ansible versions but only the default (5.x) gets wide testing coverage. If your deployment host is CentOS 7 it is recommended to use one of the earlier versions still supported.
-
 ## CentOS 8
 
 If you have containers that are using iptables in the host network namespace (`hostNetwork=true`),
diff --git a/inventory/sample/group_vars/all/offline.yml b/inventory/sample/group_vars/all/offline.yml
index 6fb8dfc0333b43a17414ee3dff7e738f6da4a577..c27aa8956e1bf1336452ab6db51443591d7e5184 100644
--- a/inventory/sample/group_vars/all/offline.yml
+++ b/inventory/sample/group_vars/all/offline.yml
@@ -82,7 +82,7 @@
 # krew_download_url: "{{ files_repo }}/github.com/kubernetes-sigs/krew/releases/download/{{ krew_version }}/krew-{{ host_os }}_{{ image_arch }}.tar.gz"
 
 ## CentOS/Redhat/AlmaLinux
-### For EL7, base and extras repo must be available, for EL8, baseos and appstream
+### For EL8, baseos and appstream must be available,
 ### By default we enable those repo automatically
 # rhel_enable_repos: false
 ### Docker / Containerd
diff --git a/playbooks/ansible_version.yml b/playbooks/ansible_version.yml
index 2c8bac63c2818aa123dce08622c53c94364e327a..009183f7f6bc738536605938dd9c30c4c445ff2f 100644
--- a/playbooks/ansible_version.yml
+++ b/playbooks/ansible_version.yml
@@ -25,7 +25,6 @@
       tags:
         - check
 
-    # CentOS 7 provides too old jinja version
     - name: "Check that jinja is not too old (install via pip)"
       assert:
         msg: "Your Jinja version is too old, install via pip"
diff --git a/roles/bootstrap-os/molecule/default/molecule.yml b/roles/bootstrap-os/molecule/default/molecule.yml
index 76e5b7a94ba4b8172f235a83065eeaab7df404c8..9fa29ae9124f05fad5d80505e0d370052cf4799f 100644
--- a/roles/bootstrap-os/molecule/default/molecule.yml
+++ b/roles/bootstrap-os/molecule/default/molecule.yml
@@ -19,12 +19,6 @@ platforms:
     memory: 1024
     provider_options:
       driver: kvm
-  - name: centos7
-    box: centos/7
-    cpus: 1
-    memory: 512
-    provider_options:
-      driver: kvm
   - name: almalinux8
     box: almalinux/8
     cpus: 1
diff --git a/roles/bootstrap-os/tasks/centos.yml b/roles/bootstrap-os/tasks/centos.yml
index 304a37b079e16a643f1c994798ab9a1598ac15a5..93816ff2f30095d1f561ee0f25f2e0dbf4094534 100644
--- a/roles/bootstrap-os/tasks/centos.yml
+++ b/roles/bootstrap-os/tasks/centos.yml
@@ -80,40 +80,13 @@
     - { option: "name", value: "CentOS-{{ ansible_distribution_major_version }} - Extras" }
     - { option: "enabled", value: "1" }
     - { option: "gpgcheck", value: "0" }
-    - { option: "baseurl", value: "http://vault.centos.org/{{ 'altarch' if (ansible_distribution_major_version | int) <= 7 and ansible_architecture == 'aarch64' else 'centos' }}/{{ ansible_distribution_major_version }}/extras/$basearch/{% if ansible_distribution_major_version | int > 7 %}os/{% endif %}" }
+    - { option: "baseurl", value: "http://mirror.centos.org/centos/{{ ansible_distribution_major_version }}/extras/$basearch/os/" }
   when:
     - use_oracle_public_repo | default(true)
     - '''ID="ol"'' in os_release.stdout_lines'
     - (ansible_distribution_version | float) >= 7.6
     - (ansible_distribution_version | float) < 9
 
-# CentOS 7 EOL at July 1, 2024.
-- name: Check CentOS-Base.repo exists for CentOS 7
-  stat:
-    path: /etc/yum.repos.d/CentOS-Base.repo
-  register: centos_base_repo_stat
-  when:
-    - ansible_distribution_major_version == "7"
-
-# CentOS 7 EOL at July 1, 2024.
-- name: Update CentOS 7 CentOS-Base.repo
-  when:
-    - ansible_distribution_major_version == "7"
-    - centos_base_repo_stat.stat.exists
-  become: true
-  block:
-    - name: Disable CentOS 7 mirrorlist in CentOS-Base.repo
-      replace:
-        path: "{{ centos_base_repo_stat.stat.path }}"
-        regexp: '^mirrorlist='
-        replace: '#mirrorlist='
-
-    - name: Update CentOS 7 baseurl in CentOS-Base.repo
-      replace:
-        path: "{{ centos_base_repo_stat.stat.path }}"
-        regexp: '^#baseurl=http:\/\/mirror.centos.org'
-        replace: 'baseurl=http:\/\/vault.centos.org'
-
 # CentOS ships with python installed
 
 - name: Check presence of fastestmirror.conf
diff --git a/roles/bootstrap-os/tasks/redhat.yml b/roles/bootstrap-os/tasks/redhat.yml
index 76a39b2f515e41d530e12b46883c1d136c86e028..2bf508d9b62e90d96ca7921daa30b407397235ce 100644
--- a/roles/bootstrap-os/tasks/redhat.yml
+++ b/roles/bootstrap-os/tasks/redhat.yml
@@ -62,17 +62,6 @@
     - rh_subscription_username is defined
     - rh_subscription_status.changed
 
-# container-selinux is in extras repo
-- name: Enable RHEL 7 repos
-  community.general.rhsm_repository:
-    name:
-      - "rhel-7-server-rpms"
-      - "rhel-7-server-extras-rpms"
-    state: "{{ 'enabled' if (rhel_enable_repos | default(True) | bool) else 'disabled' }}"
-  when:
-    - ansible_distribution_major_version == "7"
-    - (not rh_subscription_status.changed) or (rh_subscription_username is defined) or (rh_subscription_org_id is defined)
-
 # container-selinux is in appstream repo
 - name: Enable RHEL 8 repos
   community.general.rhsm_repository:
diff --git a/roles/container-engine/docker-storage/defaults/main.yml b/roles/container-engine/docker-storage/defaults/main.yml
deleted file mode 100644
index 6a69556cd496f3dde0d7406f994ba2ce6433c011..0000000000000000000000000000000000000000
--- a/roles/container-engine/docker-storage/defaults/main.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-docker_container_storage_setup_repository: https://github.com/projectatomic/container-storage-setup.git
-docker_container_storage_setup_version: v0.6.0
-docker_container_storage_setup_profile_name: kubespray
-docker_container_storage_setup_storage_driver: devicemapper
-docker_container_storage_setup_container_thinpool: docker-pool
-# It must be define a disk path for docker_container_storage_setup_devs.
-# Otherwise docker-storage-setup will be executed incorrectly.
-# docker_container_storage_setup_devs: /dev/vdb
-docker_container_storage_setup_data_size: 40%FREE
-docker_container_storage_setup_min_data_size: 2G
-docker_container_storage_setup_chunk_size: 512K
-docker_container_storage_setup_growpart: "false"
-docker_container_storage_setup_auto_extend_pool: "yes"
-docker_container_storage_setup_pool_autoextend_threshold: 60
-docker_container_storage_setup_pool_autoextend_percent: 20
-docker_container_storage_setup_device_wait_timeout: 60
-docker_container_storage_setup_wipe_signatures: "false"
-docker_container_storage_setup_container_root_lv_size: 40%FREE
diff --git a/roles/container-engine/docker-storage/files/install_container_storage_setup.sh b/roles/container-engine/docker-storage/files/install_container_storage_setup.sh
deleted file mode 100644
index 604c8439e9d67cc52bf0c86e2bbf1ca31bcc20a5..0000000000000000000000000000000000000000
--- a/roles/container-engine/docker-storage/files/install_container_storage_setup.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-set -e
-
-repository=${1:-https://github.com/projectatomic/container-storage-setup.git}
-version=${2:-master}
-profile_name=${3:-kubespray}
-dir=`mktemp -d`
-export GIT_DIR=$dir/.git
-export GIT_WORK_TREE=$dir
-
-git init
-git fetch --depth 1 $repository $version
-git merge FETCH_HEAD
-make -C $dir install
-rm -rf /var/lib/container-storage-setup/$profile_name $dir
-
-set +e
-
-/usr/bin/container-storage-setup create $profile_name /etc/sysconfig/docker-storage-setup && /usr/bin/container-storage-setup activate $profile_name
-# FIXME: exit status can be 1 for both fatal and non fatal errors in current release,
-# could be improved by matching error strings
-exit 0
diff --git a/roles/container-engine/docker-storage/tasks/main.yml b/roles/container-engine/docker-storage/tasks/main.yml
deleted file mode 100644
index d90dcb775c36dd6535a43ef8cd2b739411782207..0000000000000000000000000000000000000000
--- a/roles/container-engine/docker-storage/tasks/main.yml
+++ /dev/null
@@ -1,48 +0,0 @@
----
-
-- name: Docker-storage-setup | install git and make
-  with_items: [git, make]
-  package:
-    pkg: "{{ item }}"
-    state: present
-
-- name: Docker-storage-setup | docker-storage-setup sysconfig template
-  template:
-    src: docker-storage-setup.j2
-    dest: /etc/sysconfig/docker-storage-setup
-    mode: "0644"
-
-- name: Docker-storage-override-directory | docker service storage-setup override dir
-  file:
-    dest: /etc/systemd/system/docker.service.d
-    mode: "0755"
-    owner: root
-    group: root
-    state: directory
-
-- name: Docker-storage-override | docker service storage-setup override file
-  copy:
-    dest: /etc/systemd/system/docker.service.d/override.conf
-    content: |-
-      ### This file is managed by Ansible
-      [Service]
-      EnvironmentFile=-/etc/sysconfig/docker-storage
-
-    owner: root
-    group: root
-    mode: "0644"
-
-# https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-using-the-repository
-- name: Docker-storage-setup | install lvm2
-  package:
-    name: lvm2
-    state: present
-
-- name: Docker-storage-setup | install and run container-storage-setup
-  become: true
-  script: |
-    install_container_storage_setup.sh \
-      {{ docker_container_storage_setup_repository }} \
-      {{ docker_container_storage_setup_version }} \
-      {{ docker_container_storage_setup_profile_name }}
-  notify: Docker | reload systemd
diff --git a/roles/container-engine/docker-storage/templates/docker-storage-setup.j2 b/roles/container-engine/docker-storage/templates/docker-storage-setup.j2
deleted file mode 100644
index 1a502b2c9b937541bcaea087af85814dd7606e5b..0000000000000000000000000000000000000000
--- a/roles/container-engine/docker-storage/templates/docker-storage-setup.j2
+++ /dev/null
@@ -1,35 +0,0 @@
-{%if docker_container_storage_setup_storage_driver is defined%}STORAGE_DRIVER={{docker_container_storage_setup_storage_driver}}{%endif%}
-
-{%if docker_container_storage_setup_extra_storage_options is defined%}EXTRA_STORAGE_OPTIONS={{docker_container_storage_setup_extra_storage_options}}{%endif%}
-
-{%if docker_container_storage_setup_devs is defined%}DEVS={{docker_container_storage_setup_devs}}{%endif%}
-
-{%if docker_container_storage_setup_container_thinpool is defined%}CONTAINER_THINPOOL={{docker_container_storage_setup_container_thinpool}}{%endif%}
-
-{%if docker_container_storage_setup_vg is defined%}VG={{docker_container_storage_setup_vg}}{%endif%}
-
-{%if docker_container_storage_setup_root_size is defined%}ROOT_SIZE={{docker_container_storage_setup_root_size}}{%endif%}
-
-{%if docker_container_storage_setup_data_size is defined%}DATA_SIZE={{docker_container_storage_setup_data_size}}{%endif%}
-
-{%if docker_container_storage_setup_min_data_size is defined%}MIN_DATA_SIZE={{docker_container_storage_setup_min_data_size}}{%endif%}
-
-{%if docker_container_storage_setup_chunk_size is defined%}CHUNK_SIZE={{docker_container_storage_setup_chunk_size}}{%endif%}
-
-{%if docker_container_storage_setup_growpart is defined%}GROWPART={{docker_container_storage_setup_growpart}}{%endif%}
-
-{%if docker_container_storage_setup_auto_extend_pool is defined%}AUTO_EXTEND_POOL={{docker_container_storage_setup_auto_extend_pool}}{%endif%}
-
-{%if docker_container_storage_setup_pool_autoextend_threshold is defined%}POOL_AUTOEXTEND_THRESHOLD={{docker_container_storage_setup_pool_autoextend_threshold}}{%endif%}
-
-{%if docker_container_storage_setup_pool_autoextend_percent is defined%}POOL_AUTOEXTEND_PERCENT={{docker_container_storage_setup_pool_autoextend_percent}}{%endif%}
-
-{%if docker_container_storage_setup_device_wait_timeout is defined%}DEVICE_WAIT_TIMEOUT={{docker_container_storage_setup_device_wait_timeout}}{%endif%}
-
-{%if docker_container_storage_setup_wipe_signatures is defined%}WIPE_SIGNATURES={{docker_container_storage_setup_wipe_signatures}}{%endif%}
-
-{%if docker_container_storage_setup_container_root_lv_name is defined%}CONTAINER_ROOT_LV_NAME={{docker_container_storage_setup_container_root_lv_name}}{%endif%}
-
-{%if docker_container_storage_setup_container_root_lv_size is defined%}CONTAINER_ROOT_LV_SIZE={{docker_container_storage_setup_container_root_lv_size}}{%endif%}
-
-{%if docker_container_storage_setup_container_root_lv_mount_path is defined%}CONTAINER_ROOT_LV_MOUNT_PATH={{docker_container_storage_setup_container_root_lv_mount_path}}{%endif%}
diff --git a/roles/container-engine/docker/meta/main.yml b/roles/container-engine/docker/meta/main.yml
index d7e47517ad86a4da0d24a1f8eb6000278640cfb9..1a53ba7d6ec3aadb7dc27f42a2d6bf5bd22a1998 100644
--- a/roles/container-engine/docker/meta/main.yml
+++ b/roles/container-engine/docker/meta/main.yml
@@ -1,5 +1,3 @@
 ---
 dependencies:
   - role: container-engine/containerd-common
-  - role: container-engine/docker-storage
-    when: docker_container_storage_setup and ansible_os_family == "RedHat"
diff --git a/roles/container-engine/docker/templates/docker.service.j2 b/roles/container-engine/docker/templates/docker.service.j2
index 44ccbd8e158742fa79256082529d5cc4fe730fba..bc220197df152c7f6f4fd44df6fcc034d13310c6 100644
--- a/roles/container-engine/docker/templates/docker.service.j2
+++ b/roles/container-engine/docker/templates/docker.service.j2
@@ -1,19 +1,11 @@
 [Unit]
 Description=Docker Application Container Engine
 Documentation=http://docs.docker.com
-{% if ansible_os_family == "RedHat" %}
-After=network.target {{ ' docker-storage-setup.service' if docker_container_storage_setup else '' }} containerd.service
+After=network.target docker.socket containerd.service lvm2-monitor.service SuSEfirewall2.service
+{% if ansible_os_family != "Suse" %}
 BindsTo=containerd.service
-{{ 'Wants=docker-storage-setup.service' if docker_container_storage_setup else '' }}
-{% elif ansible_os_family == "Debian" %}
-After=network.target docker.socket containerd.service
-BindsTo=containerd.service
-Wants=docker.socket
-{% elif ansible_os_family == "Suse" %}
-After=network.target lvm2-monitor.service SuSEfirewall2.service
-# After=network.target containerd.service
-# BindsTo=containerd.service
 {% endif %}
+Wants=docker.socket
 
 [Service]
 Type=notify
diff --git a/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/vars/centos-7.yml b/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/vars/centos-7.yml
deleted file mode 100644
index b1ea65ba79b99a240d044b9e8a4ada4debe1704c..0000000000000000000000000000000000000000
--- a/roles/kubernetes-apps/container_engine_accelerator/nvidia_gpu/vars/centos-7.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-nvidia_driver_install_container: "{{ nvidia_driver_install_centos_container }}"
-nvidia_driver_install_supported: true
diff --git a/roles/kubernetes/preinstall/defaults/main.yml b/roles/kubernetes/preinstall/defaults/main.yml
index 3c4d8a40d527130659211c2ae6944245ff1112d2..bf537f18d3300079946c5edf74d72ef00fba174a 100644
--- a/roles/kubernetes/preinstall/defaults/main.yml
+++ b/roles/kubernetes/preinstall/defaults/main.yml
@@ -139,6 +139,3 @@ systemd_resolved_disable_stub_listener: "{{ ansible_os_family in ['Flatcar', 'Fl
 # Used to disable File Access Policy Daemon service.
 # If service is enabled, the CNI plugin installation will fail
 disable_fapolicyd: true
-
-# Enable 0120-growpart-azure-centos-7 tasks
-growpart_azure_enabled: true
diff --git a/roles/kubernetes/preinstall/tasks/0120-growpart-azure-centos-7.yml b/roles/kubernetes/preinstall/tasks/0120-growpart-azure-centos-7.yml
deleted file mode 100644
index b9c35875e03738367b9965a5fca7391179c1f149..0000000000000000000000000000000000000000
--- a/roles/kubernetes/preinstall/tasks/0120-growpart-azure-centos-7.yml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-
-# Running growpart seems to be only required on Azure, as other Cloud Providers do this at boot time
-
-- name: Install growpart
-  package:
-    name: cloud-utils-growpart
-    state: present
-
-- name: Gather mounts facts
-  setup:
-    gather_subset: 'mounts'
-
-- name: Search root filesystem device
-  vars:
-    query: "[?mount=='/'].device"
-    _root_device: "{{ ansible_mounts | json_query(query) }}"
-  set_fact:
-    device: "{{ _root_device | first | regex_replace('([^0-9]+)[0-9]+', '\\1') }}"
-    partition: "{{ _root_device | first | regex_replace('[^0-9]+([0-9]+)', '\\1') }}"
-    root_device: "{{ _root_device }}"
-
-- name: Check if growpart needs to be run
-  command: growpart -N {{ device }} {{ partition }}
-  failed_when: false
-  changed_when: "'NOCHANGE:' not in growpart_needed.stdout"
-  register: growpart_needed
-  environment:
-    LC_ALL: C
-
-- name: Check fs type
-  command: file -Ls {{ root_device }}
-  changed_when: false
-  register: fs_type
-
-- name: Run growpart  # noqa no-handler
-  command: growpart {{ device }} {{ partition }}
-  when: growpart_needed.changed
-  environment:
-    LC_ALL: C
-
-- name: Run xfs_growfs  # noqa no-handler
-  command: xfs_growfs {{ root_device }}
-  when: growpart_needed.changed and 'XFS' in fs_type.stdout
diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index 722beecd3a85b2185e5320bb0c72afcd530b3d16..a6450808f292cb57cc2e42e8aaa5ded56a920044 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -130,16 +130,6 @@
   tags:
     - bootstrap-os
 
-- name: Grow partition on azure CentOS
-  import_tasks: 0120-growpart-azure-centos-7.yml
-  when:
-    - not dns_late
-    - azure_check.stat.exists
-    - ansible_os_family == "RedHat"
-    - growpart_azure_enabled
-  tags:
-    - bootstrap-os
-
 - name: Run calico checks
   include_role:
     name: network_plugin/calico
diff --git a/roles/kubernetes/preinstall/vars/main.yml b/roles/kubernetes/preinstall/vars/main.yml
index 4b3524a54dfffef927c43a35a2fc94b3540dea45..e788b5db7276ea0d53fc27ef7be35d0e893a9bc6 100644
--- a/roles/kubernetes/preinstall/vars/main.yml
+++ b/roles/kubernetes/preinstall/vars/main.yml
@@ -93,11 +93,8 @@ pkgs:
   python3-libselinux:
     os:
       distributions:
-        RedHat: &major_redhat_like
-          major_versions:
-          - "8"
-          - "9"
-        CentOS: *major_redhat_like
+        RedHat: {}
+        CentOS: {}
   rsync: {}
   socat: {}
   software-properties-common: *debian_family_base
diff --git a/roles/kubespray-defaults/defaults/main/main.yml b/roles/kubespray-defaults/defaults/main/main.yml
index c648bcc7230790625b3b2fbdfdc3753b1789a085..4f1dfd2b92a23cafd37694e0e5845842aba4109b 100644
--- a/roles/kubespray-defaults/defaults/main/main.yml
+++ b/roles/kubespray-defaults/defaults/main/main.yml
@@ -317,13 +317,6 @@ crio_insecure_registries: []
 ## Please note that overlay2 is only supported on newer kernels
 # docker_storage_options: -s overlay2
 
-## Enable docker_container_storage_setup, it will configure devicemapper driver on Centos7 or RedHat7.
-docker_container_storage_setup: false
-
-## It must be define a disk path for docker_container_storage_setup_devs.
-## Otherwise docker-storage-setup will be executed incorrectly.
-# docker_container_storage_setup_devs: /dev/vdb
-
 ## Only set this if you have more than 3 nameservers:
 ## If true Kubespray will only use the first 3, otherwise it will fail
 docker_dns_servers_strict: false
diff --git a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
index 1b9f5d4014251d8611af2e3df81bf472e9770959..4d3ae83a77ddbff366ce3251594b2aa04a171a5a 100644
--- a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
+++ b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml
@@ -48,13 +48,6 @@ images:
     converted: true
     tag: "latest"
 
-  centos-7:
-    filename: CentOS-7-x86_64-GenericCloud-2009.qcow2
-    url: http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2211.qcow2
-    checksum: sha256:284aab2b23d91318f169ff464bce4d53404a15a0618ceb34562838c59af4adea
-    converted: true
-    tag: "latest"
-
   centos-8:
     filename: CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2
     url: http://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2
diff --git a/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml b/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml
index 4bf59b5fa9bf0e87ba245fbf2cc35474203ba568..6223d1368d5e9c54c4a80a73e8142d080ca53970 100644
--- a/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml
+++ b/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml
@@ -25,7 +25,6 @@ mode: all-in-one
 # distro: rhel (+ sudo and hostname packages): -> I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo=
 # generic one -> I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1
 cloud_init:
-  centos-7: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
   centos-8: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
   almalinux-8: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
   rockylinux-8: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlczoKIC0gc3VkbwogLSBob3N0bmFtZQpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo="
diff --git a/tests/files/packet_centos7-calico-ha-once-localhost.yml b/tests/files/packet_centos8-calico-ha-once-localhost.yml
similarity index 93%
rename from tests/files/packet_centos7-calico-ha-once-localhost.yml
rename to tests/files/packet_centos8-calico-ha-once-localhost.yml
index 950aae0730e2b3d36664fdecc355523ea7aa2f31..62272c678d9e886bb96afce0aa335721a8e240a8 100644
--- a/tests/files/packet_centos7-calico-ha-once-localhost.yml
+++ b/tests/files/packet_centos8-calico-ha-once-localhost.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: ha
 
 # Kubespray settings
diff --git a/tests/files/packet_centos7-calico-ha.yml b/tests/files/packet_centos8-calico-ha.yml
similarity index 91%
rename from tests/files/packet_centos7-calico-ha.yml
rename to tests/files/packet_centos8-calico-ha.yml
index be93a607a2b64cfff3d3942e51d70185e2a657b7..33049bfdd1ac8888f0980a4eaf6299e3fde18477 100644
--- a/tests/files/packet_centos7-calico-ha.yml
+++ b/tests/files/packet_centos8-calico-ha.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: ha
 
 # Kubespray settings
diff --git a/tests/files/packet_centos7-flannel-addons-ha.yml b/tests/files/packet_centos8-flannel-addons-ha.yml
similarity index 98%
rename from tests/files/packet_centos7-flannel-addons-ha.yml
rename to tests/files/packet_centos8-flannel-addons-ha.yml
index ef7cb1bfd26b9a71133bd9ee9f83232938f8903f..821988ffceac2fbd4ec93fe444e6f22de226590a 100644
--- a/tests/files/packet_centos7-flannel-addons-ha.yml
+++ b/tests/files/packet_centos8-flannel-addons-ha.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: ha
 
 # Kubespray settings
diff --git a/tests/files/packet_centos7-multus-calico.yml b/tests/files/packet_centos8-multus-calico.yml
similarity index 80%
rename from tests/files/packet_centos7-multus-calico.yml
rename to tests/files/packet_centos8-multus-calico.yml
index 350c101b7b65dcc52f17ff5a1143da3e69c28d49..7337537e49ce2bbdc8a2c755d73bfb9725f103d7 100644
--- a/tests/files/packet_centos7-multus-calico.yml
+++ b/tests/files/packet_centos8-multus-calico.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: default
 
 # Kubespray settings
diff --git a/tests/files/packet_centos7-weave-upgrade-ha.yml b/tests/files/packet_centos8-weave-upgrade-ha.yml
similarity index 90%
rename from tests/files/packet_centos7-weave-upgrade-ha.yml
rename to tests/files/packet_centos8-weave-upgrade-ha.yml
index e290ae4ae4f318ef20e7455a033c16f712dc20a5..25ca8d370599824ed96447ac9fb4d1b838b068b3 100644
--- a/tests/files/packet_centos7-weave-upgrade-ha.yml
+++ b/tests/files/packet_centos8-weave-upgrade-ha.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: ha
 
 # Kubespray settings
diff --git a/tests/files/vagrant_centos7-kube-router.rb b/tests/files/vagrant_centos8-kube-router.rb
similarity index 95%
rename from tests/files/vagrant_centos7-kube-router.rb
rename to tests/files/vagrant_centos8-kube-router.rb
index 620df711ae2c874cf9720344530c87c8df78b610..c7426fb3fceb1cdae7466c4d6510d726b00c0558 100644
--- a/tests/files/vagrant_centos7-kube-router.rb
+++ b/tests/files/vagrant_centos8-kube-router.rb
@@ -1,6 +1,6 @@
 $num_instances = 2
 $vm_memory ||= 2048
-$os = "centos"
+$os = "centos8"
 
 $kube_master_instances = 1
 $etcd_instances = 1
diff --git a/tests/files/vagrant_centos7-kube-router.yml b/tests/files/vagrant_centos8-kube-router.yml
similarity index 84%
rename from tests/files/vagrant_centos7-kube-router.yml
rename to tests/files/vagrant_centos8-kube-router.yml
index e9e4161afc1b43d34456353ddcdfb776854ae3a3..434c37c96ba1d5aea17029417e4f8e0d22b8b9fe 100644
--- a/tests/files/vagrant_centos7-kube-router.yml
+++ b/tests/files/vagrant_centos8-kube-router.yml
@@ -1,6 +1,6 @@
 ---
 # Instance settings
-cloud_image: centos-7
+cloud_image: centos-8
 mode: default
 
 # Kubespray settings