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.
This commit is contained in:
Patrick Ohly
2019-04-08 08:47:15 +02:00
parent 31dfaf31dc
commit f3d1d2df5c

22
prow.sh
View File

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