|
|
|
@ -49,7 +49,7 @@ func (rt *RetryingRoundTripper) roundTrip(req *http.Request, retry int, prevResp
|
|
|
|
|
b, err := io.ReadAll(resp.Body)
|
|
|
|
|
resp.Body.Close()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return resp, rtErr
|
|
|
|
|
return resp, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var ke kubernetesError
|
|
|
|
@ -58,10 +58,10 @@ func (rt *RetryingRoundTripper) roundTrip(req *http.Request, retry int, prevResp
|
|
|
|
|
r.Seek(0, io.SeekStart)
|
|
|
|
|
resp.Body = io.NopCloser(r)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return resp, rtErr
|
|
|
|
|
return resp, nil
|
|
|
|
|
}
|
|
|
|
|
if ke.Code < 500 {
|
|
|
|
|
return resp, rtErr
|
|
|
|
|
return resp, nil
|
|
|
|
|
}
|
|
|
|
|
// Matches messages like "etcdserver: leader changed"
|
|
|
|
|
if strings.HasSuffix(ke.Message, "etcdserver: leader changed") {
|
|
|
|
@ -71,7 +71,7 @@ func (rt *RetryingRoundTripper) roundTrip(req *http.Request, retry int, prevResp
|
|
|
|
|
if strings.HasSuffix(ke.Message, "raft proposal dropped") {
|
|
|
|
|
return rt.roundTrip(req, retry-1, resp)
|
|
|
|
|
}
|
|
|
|
|
return resp, rtErr
|
|
|
|
|
return resp, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type kubernetesError struct {
|
|
|
|
|