Fix race condition in deployment script
This fixes a(nother) race condition in the gate, where `kubectl wait` was getting called before the objects being waited on existed, which causes it to fail [0]. It also moves to using `kubectl rollout status` for daemonsets/deployments, for a bit more robustness. [0]: https://github.com/kubernetes/kubernetes/issues/83242 Signed-off-by: Sean Eagan <seaneagan1@gmail.com> Change-Id: I87014a3bae05ad35f063c1082893a3075a05e3ee
This commit is contained in:
parent
bccf6d68c5
commit
817cbfc967
@ -7,12 +7,12 @@ make deploy
|
||||
kubectl get po -A
|
||||
#Wait for vino controller manager Pod.
|
||||
count=0
|
||||
until [[ $(kubectl -n vino-system get pod -l control-plane=controller-manager 2>/dev/null) ]]; do
|
||||
until [[ $(kubectl -n vino-system get deployment -l control-plane=controller-manager 2>/dev/null) ]]; do
|
||||
count=$((count + 1))
|
||||
if [[ ${count} -eq "120" ]]; then
|
||||
echo ' Timed out waiting for vino controller manager pod to exist'
|
||||
echo ' Timed out waiting for vino controller manager deployment to exist'
|
||||
return 1
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
kubectl wait -n vino-system pod -l control-plane=controller-manager --for=condition=ready --timeout=240s
|
||||
kubectl -n vino-system rollout status deployment vino-controller-manager --timeout=240s
|
@ -15,11 +15,29 @@ function vinoDebugInfo () {
|
||||
kubectl apply -f config/samples/vino_cr.yaml
|
||||
|
||||
# Remove logs collection from here, when we will have zuul collect logs job
|
||||
until [[ $(kubectl get vino vino-test-cr 2>/dev/null) ]]; do
|
||||
count=$((count + 1))
|
||||
if [[ ${count} -eq "30" ]]; then
|
||||
echo ' Timed out waiting for vino test cr to exist'
|
||||
vinoDebugInfo
|
||||
return 1
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
if ! kubectl wait --for=condition=Ready vino vino-test-cr --timeout=180s; then
|
||||
vinoDebugInfo
|
||||
fi
|
||||
|
||||
# no need to collect logs on fail, since they are already collected before
|
||||
if ! kubectl wait --for=condition=Ready pods -l 'vino-role=vino-builder' --timeout=5s; then
|
||||
until [[ $(kubectl get ds vino-test-cr 2>/dev/null) ]]; do
|
||||
count=$((count + 1))
|
||||
if [[ ${count} -eq "30" ]]; then
|
||||
echo ' Timed out waiting for vino builder daemonset to exist'
|
||||
vinoDebugInfo
|
||||
return 1
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
if ! kubectl rollout status ds vino-test-cr --timeout=10s; then
|
||||
vinoDebugInfo
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user