vendor: kubernetes v1.18.2

Fix client watch reestablishment handling of client-side timeouts

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2020-05-10 14:43:43 +02:00
parent 0d198fd096
commit a4f8be1d43
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
7 changed files with 28 additions and 22 deletions

View File

@ -75,13 +75,13 @@ golang.org/x/oauth2 0f29369cfe4552d0e4bcddc57cc7
golang.org/x/time 9d24e82272b4f38b78bc8cff74fa936d31ccd8ef golang.org/x/time 9d24e82272b4f38b78bc8cff74fa936d31ccd8ef
gopkg.in/inf.v0 v0.9.1 gopkg.in/inf.v0 v0.9.1
gopkg.in/yaml.v2 v2.2.8 gopkg.in/yaml.v2 v2.2.8
k8s.io/api v0.18.0 k8s.io/api v0.18.2
k8s.io/apimachinery v0.18.0 k8s.io/apimachinery v0.18.2
k8s.io/apiserver v0.18.0 k8s.io/apiserver v0.18.2
k8s.io/client-go v0.18.0 k8s.io/client-go v0.18.2
k8s.io/cri-api v0.18.0 k8s.io/cri-api v0.18.2
k8s.io/klog v1.0.0 k8s.io/klog v1.0.0
k8s.io/kubernetes v1.18.0 k8s.io/kubernetes v1.18.2
k8s.io/utils a9aa75ae1b89e1b992c33383f48e942d97e52dae k8s.io/utils a9aa75ae1b89e1b992c33383f48e942d97e52dae
sigs.k8s.io/structured-merge-diff/v3 v3.0.0 sigs.k8s.io/structured-merge-diff/v3 v3.0.0
sigs.k8s.io/yaml v1.2.0 sigs.k8s.io/yaml v1.2.0

4
vendor/k8s.io/api/go.mod generated vendored
View File

@ -7,11 +7,11 @@ go 1.13
require ( require (
github.com/gogo/protobuf v1.3.1 github.com/gogo/protobuf v1.3.1
github.com/stretchr/testify v1.4.0 github.com/stretchr/testify v1.4.0
k8s.io/apimachinery v0.18.0 k8s.io/apimachinery v0.18.2
) )
replace ( replace (
golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13 golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13 golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
k8s.io/apimachinery => k8s.io/apimachinery v0.18.0 k8s.io/apimachinery => k8s.io/apimachinery v0.18.2
) )

View File

@ -55,6 +55,12 @@ func JoinPreservingTrailingSlash(elem ...string) string {
return result return result
} }
// IsTimeout returns true if the given error is a network timeout error
func IsTimeout(err error) bool {
neterr, ok := err.(net.Error)
return ok && neterr != nil && neterr.Timeout()
}
// IsProbableEOF returns true if the given error resembles a connection termination // IsProbableEOF returns true if the given error resembles a connection termination
// scenario that would justify assuming that the watch is empty. // scenario that would justify assuming that the watch is empty.
// These errors are what the Go http stack returns back to us which are general // These errors are what the Go http stack returns back to us which are general

View File

@ -113,7 +113,7 @@ func (sw *StreamWatcher) receive() {
case io.ErrUnexpectedEOF: case io.ErrUnexpectedEOF:
klog.V(1).Infof("Unexpected EOF during watch stream event decoding: %v", err) klog.V(1).Infof("Unexpected EOF during watch stream event decoding: %v", err)
default: default:
if net.IsProbableEOF(err) { if net.IsProbableEOF(err) || net.IsTimeout(err) {
klog.V(5).Infof("Unable to decode an event from the watch stream: %v", err) klog.V(5).Infof("Unable to decode an event from the watch stream: %v", err)
} else { } else {
sw.result <- Event{ sw.result <- Event{

16
vendor/k8s.io/apiserver/go.mod generated vendored
View File

@ -43,10 +43,10 @@ require (
gopkg.in/square/go-jose.v2 v2.2.2 gopkg.in/square/go-jose.v2 v2.2.2
gopkg.in/yaml.v2 v2.2.8 gopkg.in/yaml.v2 v2.2.8
gotest.tools v2.2.0+incompatible // indirect gotest.tools v2.2.0+incompatible // indirect
k8s.io/api v0.18.0 k8s.io/api v0.18.2
k8s.io/apimachinery v0.18.0 k8s.io/apimachinery v0.18.2
k8s.io/client-go v0.18.0 k8s.io/client-go v0.18.2
k8s.io/component-base v0.18.0 k8s.io/component-base v0.18.2
k8s.io/klog v1.0.0 k8s.io/klog v1.0.0
k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89 k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
@ -58,8 +58,8 @@ require (
replace ( replace (
golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13 golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13 golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
k8s.io/api => k8s.io/api v0.18.0 k8s.io/api => k8s.io/api v0.18.2
k8s.io/apimachinery => k8s.io/apimachinery v0.18.0 k8s.io/apimachinery => k8s.io/apimachinery v0.18.2
k8s.io/client-go => k8s.io/client-go v0.18.0 k8s.io/client-go => k8s.io/client-go v0.18.2
k8s.io/component-base => k8s.io/component-base v0.18.0 k8s.io/component-base => k8s.io/component-base v0.18.2
) )

8
vendor/k8s.io/client-go/go.mod generated vendored
View File

@ -28,8 +28,8 @@ require (
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
google.golang.org/appengine v1.5.0 // indirect google.golang.org/appengine v1.5.0 // indirect
k8s.io/api v0.18.0 k8s.io/api v0.18.2
k8s.io/apimachinery v0.18.0 k8s.io/apimachinery v0.18.2
k8s.io/klog v1.0.0 k8s.io/klog v1.0.0
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89 k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
sigs.k8s.io/yaml v1.2.0 sigs.k8s.io/yaml v1.2.0
@ -38,6 +38,6 @@ require (
replace ( replace (
golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13 golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13 golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
k8s.io/api => k8s.io/api v0.18.0 k8s.io/api => k8s.io/api v0.18.2
k8s.io/apimachinery => k8s.io/apimachinery v0.18.0 k8s.io/apimachinery => k8s.io/apimachinery v0.18.2
) )

View File

@ -655,7 +655,7 @@ func (r *Request) Watch(ctx context.Context) (watch.Interface, error) {
if err != nil { if err != nil {
// The watch stream mechanism handles many common partial data errors, so closed // The watch stream mechanism handles many common partial data errors, so closed
// connections can be retried in many cases. // connections can be retried in many cases.
if net.IsProbableEOF(err) { if net.IsProbableEOF(err) || net.IsTimeout(err) {
return watch.NewEmptyWatch(), nil return watch.NewEmptyWatch(), nil
} }
return nil, err return nil, err