From 7f172286342c4238d4b636c113d35835ff9299ee Mon Sep 17 00:00:00 2001 From: David Eads Date: Tue, 16 Jun 2020 10:43:52 -0400 Subject: [PATCH] prevent panic in azure cloud provider from killing the process --- .../k8s.io/legacy-cloud-providers/azure/azure_routes.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_routes.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_routes.go index a698db61235..d6797b28088 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_routes.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_routes.go @@ -29,6 +29,7 @@ import ( "github.com/Azure/go-autorest/autorest/to" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" cloudprovider "k8s.io/cloud-provider" "k8s.io/klog/v2" azcache "k8s.io/legacy-cloud-providers/azure/cache" @@ -90,9 +91,12 @@ func newDelayedRouteUpdater(az *Cloud, interval time.Duration) *delayedRouteUpda // run starts the updater reconciling loop. func (d *delayedRouteUpdater) run() { - for { + err := wait.PollImmediateInfinite(d.interval, func() (bool, error) { d.updateRoutes() - time.Sleep(d.interval) + return false, nil + }) + if err != nil { // this should never happen, if it does, panic + panic(err) } }