@@ -31,6 +31,17 @@ MAKEFILE_DIR := $(shell pwd)
3131export MINIKUBE_HOME
3232export MAKEFILE_DIR
3333
34+ # Retry a command up to 5 times with a 10 second delay between attempts.
35+ # Usage: $(call retry,command)
36+ define retry
37+ success=0; \
38+ for i in $$(seq 5 ) ; do \
39+ $(1 ) \
40+ && success=1 && break || sleep 10; \
41+ done; \
42+ if [ $$success -ne 1 ]; then exit 1; fi
43+ endef
44+
3445.PHONY : setup
3546setup :
3647 $(MAKE ) $(GINKGO )
@@ -181,24 +192,24 @@ create-loop-dev:
181192
182193.PHONY : install-rook-ceph-operator
183194install-rook-ceph-operator :
184- $(HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
195+ $(call retry, $( HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
185196 --create-namespace --namespace $(CEPH_CLUSTER1_NAMESPACE ) -f testdata/values.yaml --wait \
186- rook-ceph rook-ceph
197+ rook-ceph rook-ceph)
187198 $(KUBECTL ) wait --timeout=60s --for=condition=available -n $(CEPH_CLUSTER1_NAMESPACE ) deployment/rook-ceph-operator
188199
189200.PHONY : install-rook-ceph-cluster1
190201install-rook-ceph-cluster1 :
191- $(HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
202+ $(call retry, $( HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
192203 --namespace $(CEPH_CLUSTER1_NAMESPACE ) -f testdata/values-cluster.yaml \
193- --wait rook-ceph-cluster rook-ceph-cluster
204+ --wait rook-ceph-cluster rook-ceph-cluster)
194205 $(KUBECTL ) wait --timeout=300s --for=condition=Ready -n $(CEPH_CLUSTER1_NAMESPACE ) cephclusters/rook-ceph
195206
196207.PHONY : install-rook-ceph-cluster2
197208install-rook-ceph-cluster2 :
198- $(HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
209+ $(call retry, $( HELM ) upgrade --install --version $(ROOK_CHART_VERSION ) --repo https://charts.rook.io/release \
199210 --create-namespace --namespace $(CEPH_CLUSTER2_NAMESPACE ) -f testdata/values-cluster.yaml \
200211 --set cephClusterSpec.dataDirHostPath=/var/lib/rook2 \
201- --wait rook-ceph-cluster2 rook-ceph-cluster
212+ --wait rook-ceph-cluster2 rook-ceph-cluster)
202213 $(KUBECTL ) wait --timeout=300s --for=condition=Ready -n $(CEPH_CLUSTER2_NAMESPACE ) cephclusters/rook-ceph2
203214
204215.PHONY : install-ceph-object-store
@@ -215,9 +226,9 @@ install-ceph-object-store-secret:
215226
216227.PHONY : install-cert-manager
217228install-cert-manager :
218- $(HELM ) upgrade --install --version $(CERT_MANAGER_VERSION ) --repo https://charts.jetstack.io \
229+ $(call retry, $( HELM ) upgrade --install --version $(CERT_MANAGER_VERSION ) --repo https://charts.jetstack.io \
219230 --create-namespace --namespace cert-manager --set crds.enabled=true --wait \
220- cert-manager cert-manager
231+ cert-manager cert-manager)
221232
222233.PHONY : install-tls-certificates
223234install-tls-certificates :
0 commit comments