diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 80ea6e0128b486359c8d2f2c5266c10d3cd97cd4..43442077f2ffd6fd001f179f7c5cb04bcbee3c2a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,7 +36,9 @@ before_script:
 .job: &job
   tags:
     - packet
-  image: quay.io/kubespray/kubespray:v2.9.0
+  variables:
+    KUBESPRAY_VERSION: v2.9.0
+  image: quay.io/kubespray/kubespray:$KUBESPRAY_VERSION
 
 .testcases: &testcases
   <<: *job
diff --git a/tests/scripts/testcases_run.sh b/tests/scripts/testcases_run.sh
index 9028ec5f95dd8bc54f5cb88c8a36d2f785c67404..e434095ba1757ad71db2d18f11f1dbb6a2aead5e 100755
--- a/tests/scripts/testcases_run.sh
+++ b/tests/scripts/testcases_run.sh
@@ -10,7 +10,7 @@ echo ${PWD}
 cd tests && make create-${CI_PLATFORM} -s ; cd -
 
 # Check out latest tag if testing upgrade
-test "${UPGRADE_TEST}" != "false" && git fetch --all && git checkout $(git describe --tags $(git rev-list --tags --max-count=1))
+test "${UPGRADE_TEST}" != "false" && git fetch --all && git checkout "$KUBESPRAY_VERSION"
 # Checkout the CI vars file so it is available
 test "${UPGRADE_TEST}" != "false" && git checkout "${CI_BUILD_REF}" tests/files/${CI_JOB_NAME}.yml