From 8a45ba19814d612df04a5d3290795cc2797a1f13 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Fri, 24 May 2019 12:47:08 +0000 Subject: [PATCH] fix azure retry issue when return 2XX with error fix comments --- .../src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go | 5 +++-- .../legacy-cloud-providers/azure/azure_backoff_test.go | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go index a07da82a73c..281ba764363 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff.go @@ -596,8 +596,9 @@ func shouldRetryHTTPRequest(resp *http.Response, err error) bool { return false } +// processHTTPRetryResponse : return true means stop retry, false means continue retry func (az *Cloud) processHTTPRetryResponse(service *v1.Service, reason string, resp *http.Response, err error) (bool, error) { - if resp != nil && isSuccessHTTPResponse(resp) { + if err == nil && resp != nil && isSuccessHTTPResponse(resp) { // HTTP 2xx suggests a successful response return true, nil } @@ -620,7 +621,7 @@ func (az *Cloud) processHTTPRetryResponse(service *v1.Service, reason string, re } func (az *Cloud) processHTTPResponse(service *v1.Service, reason string, resp *http.Response, err error) error { - if isSuccessHTTPResponse(resp) { + if err == nil && isSuccessHTTPResponse(resp) { // HTTP 2xx suggests a successful response return nil } diff --git a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff_test.go b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff_test.go index d0a1399e27c..c14ace656f2 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff_test.go +++ b/staging/src/k8s.io/legacy-cloud-providers/azure/azure_backoff_test.go @@ -119,6 +119,11 @@ func TestProcessRetryResponse(t *testing.T) { code: http.StatusOK, stop: true, }, + { + code: http.StatusOK, + err: fmt.Errorf("some error"), + stop: false, + }, { code: 399, stop: true,