e2e: fix kubectl_retry to not return a stale error

While deploying Rook, there can be issues when the environment is not
completely settled yet. On occasion the 1st kubectl command fails with

    The connection to the server ... was refused - did you specify the right host or port?

This would set the 'ret' variable to a non-zero value, before the next
retry of the kubectl command is done. In case the kubectl command
succeeds, the 'ret' variable still contains the old non-zero value, and
kubectl_retry returns the incorrect result.

By setting the 'ret' variable to 0 before calling kubectl again, this
problem is prevented.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
Niels de Vos 2020-12-09 08:49:31 +01:00 committed by mergify[bot]
parent 9160a5309e
commit 09fac4d9e2

View File

@ -66,6 +66,10 @@ kubectl_retry() {
echo "kubectl_retry ${*} failed, will retry in ${KUBECTL_RETRY_DELAY} seconds" echo "kubectl_retry ${*} failed, will retry in ${KUBECTL_RETRY_DELAY} seconds"
sleep ${KUBECTL_RETRY_DELAY} sleep ${KUBECTL_RETRY_DELAY}
# reset ret so that a next working kubectl does not cause a non-zero
# return of the function
ret=0
done done
# write output so that calling functions can consume it # write output so that calling functions can consume it