diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3ace5c4e3c13e9f036f271d37f0677013b96a1f0..a08ce30fdc5c2cf33ceb68b1e11ff37a5dbfd1da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -158,6 +158,7 @@ build_gpu_image:
   script:
     - *update_ansible_repo
     - *get_ansible_files
+    - FAILED=false
     - export GPU_PLACEHOLDER_NAME="gpu1-placeholder"
     - export GPU_PLACEHOLDER_FLAVOR="gpu1.medium"
     - export GPU_PLACEHOLDER_IMAGE="CentOS-7-x86_64-GenericCloud-2009"
@@ -174,8 +175,12 @@ build_gpu_image:
       fi
     - packer validate openstack-gpu
     - openstack server delete --wait $GPU_PLACEHOLDER_NAME
-    - packer build -machine-readable openstack-gpu | tee gpu_build.log
+    - packer build -machine-readable openstack-gpu | tee gpu_build.log || FAILED=true
     - openstack server create --image $GPU_PLACEHOLDER_IMAGE --network cicd-net --flavor $GPU_PLACEHOLDER_FLAVOR $GPU_PLACEHOLDER_NAME
+    - |
+      if [ "$FAILED" = true ]; then
+        exit 1
+      fi
 
 build_ood_image:
   stage: build