Skip to content

Commit f3d1d2d

Browse files
committed
prow.sh: fix hostpath driver version check
The previous logic failed for canary jobs, those also deploy a recent driver. Instead of guessing what driver gets installed based on job parameters, check what really runs in the cluster and base the decision on that. We only need to maintain this blacklist for 1.0.x until we replace it with 1.1.0, then this entire hostpath_supports_block can be removed.
1 parent 31dfaf3 commit f3d1d2d

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

prow.sh

+11-11
Original file line numberDiff line numberDiff line change
@@ -619,18 +619,18 @@ install_sanity () (
619619

620620
# Whether the hostpath driver supports raw block devices depends on which version
621621
# we are testing. It would be much nicer if we could determine that by querying the
622-
# installed driver.
622+
# installed driver's capabilities instead of having to do a version check.
623623
hostpath_supports_block () {
624-
if [ -e "cmd/hostpathplugin" ] && ${CSI_PROW_BUILD_JOB}; then
625-
# The assumption is that if we build the hostpath driver, then it is
626-
# a current version with support.
627-
echo true
628-
return
629-
fi
630-
631-
case "${CSI_PROW_DEPLOYMENT}" in kubernetes-1.13) echo false;; # wasn't supported and probably won't be backported
632-
*) echo true;; # probably all other deployments have a recent driver
633-
esac
624+
local result
625+
result="$(docker exec csi-prow-control-plane docker image ls --format='{{.Repository}} {{.Tag}} {{.ID}}' | grep hostpath | while read -r repo tag id; do
626+
if [ "$tag" == "v1.0.1" ]; then
627+
# Old version because the revision label is missing: didn't have support yet.
628+
echo "false"
629+
return
630+
fi
631+
done)"
632+
# If not set, then it must be a newer driver with support.
633+
echo "${result:-true}"
634634
}
635635
636636
# Captures pod output while running some other command.

0 commit comments

Comments
 (0)