From 12abe93e1db5f7463afd4847031bf87a0780505a Mon Sep 17 00:00:00 2001 From: Richard Wall Date: Thu, 9 Nov 2017 16:27:51 +0000 Subject: [PATCH] Retry the kube-system RBAC cluserrolebinding fix This should prevent intermittent E2E test failures in case Minikube API server is not yet ready to accept configuration changes. Inspired by: https://github.com/kubernetes/minikube/pull/1904 --- hack/install-e2e-dependencies.sh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/hack/install-e2e-dependencies.sh b/hack/install-e2e-dependencies.sh index 8cc41249d..f242172ae 100755 --- a/hack/install-e2e-dependencies.sh +++ b/hack/install-e2e-dependencies.sh @@ -43,6 +43,21 @@ fi # See: # * https://github.com/kubernetes/minikube/issues/1734 # * https://github.com/kubernetes/minikube/issues/1722 -kubectl create clusterrolebinding cluster-admin:kube-system \ - --clusterrole=cluster-admin \ - --serviceaccount=kube-system:default +# * https://github.com/kubernetes/minikube/pull/1904 +function elevate_kube_system_privileges() { + if kubectl get clusterrolebinding minikube-rbac; then + return 0 + fi + if kubectl create clusterrolebinding minikube-rbac \ + --clusterrole=cluster-admin \ + --serviceaccount=kube-system:default; then + return 0 + fi + return 1 +} + +if ! retry elevate_kube_system_privileges; then + minikube logs + echo "ERROR: Timeout waiting for Minikube to accept RBAC fixes" + exit 1 +fi