rebase: bump k8s.io/kubernetes from 1.23.4 to 1.23.5

Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.23.4 to 1.23.5.
- [Release notes](https://github.com/kubernetes/kubernetes/releases)
- [Commits](https://github.com/kubernetes/kubernetes/compare/v1.23.4...v1.23.5)

---
updated-dependencies:
- dependency-name: k8s.io/kubernetes
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
dependabot[bot]
2022-03-21 20:11:55 +00:00
committed by mergify[bot]
parent 8c5e414d53
commit fe4b5fe337
7 changed files with 145 additions and 86 deletions

View File

@ -144,7 +144,6 @@ message PodDisruptionBudgetSpec {
// A null selector selects no pods.
// An empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods.
// In policy/v1, an empty selector will select all pods in the namespace.
// +patchStrategy=replace
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;

View File

@ -36,9 +36,8 @@ type PodDisruptionBudgetSpec struct {
// A null selector selects no pods.
// An empty selector ({}) also selects no pods, which differs from standard behavior of selecting all pods.
// In policy/v1, an empty selector will select all pods in the namespace.
// +patchStrategy=replace
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty" patchStrategy:"replace" protobuf:"bytes,2,opt,name=selector"`
Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`
// An eviction is allowed if at most "maxUnavailable" pods selected by
// "selector" are unavailable after the eviction, i.e. even in absence of

View File

@ -316,7 +316,8 @@ func RegisterCommonFlags(flags *flag.FlagSet) {
flags.BoolVar(&TestContext.DumpSystemdJournal, "dump-systemd-journal", false, "Whether to dump the full systemd journal.")
flags.StringVar(&TestContext.ImageServiceEndpoint, "image-service-endpoint", "", "The image service endpoint of cluster VM instances.")
flags.StringVar(&TestContext.DockershimCheckpointDir, "dockershim-checkpoint-dir", "/var/lib/dockershim/sandbox", "The directory for dockershim to store sandbox checkpoints.")
flags.StringVar(&TestContext.NonblockingTaints, "non-blocking-taints", `node-role.kubernetes.io/master`, "Nodes with taints in this comma-delimited list will not block the test framework from starting tests.")
// Expect the test suite to work with both the new and legacy non-blocking control plane taints by default
flags.StringVar(&TestContext.NonblockingTaints, "non-blocking-taints", `node-role.kubernetes.io/control-plane,node-role.kubernetes.io/master`, "Nodes with taints in this comma-delimited list will not block the test framework from starting tests. The default taint 'node-role.kubernetes.io/master' is DEPRECATED and will be removed from the list in a future release.")
flags.BoolVar(&TestContext.ListImages, "list-images", false, "If true, will show list of images used for runnning tests.")
flags.BoolVar(&TestContext.ListConformanceTests, "list-conformance-tests", false, "If true, will show list of conformance tests.")

74
vendor/modules.txt vendored
View File

@ -743,7 +743,7 @@ gopkg.in/yaml.v2
# gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
## explicit
gopkg.in/yaml.v3
# k8s.io/api v0.23.4 => k8s.io/api v0.23.4
# k8s.io/api v0.23.5 => k8s.io/api v0.23.5
## explicit; go 1.16
k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1
@ -792,7 +792,7 @@ k8s.io/api/scheduling/v1beta1
k8s.io/api/storage/v1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1beta1
# k8s.io/apimachinery v0.23.4 => k8s.io/apimachinery v0.23.4
# k8s.io/apimachinery v0.23.5 => k8s.io/apimachinery v0.23.5
## explicit; go 1.16
k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/errors
@ -848,7 +848,7 @@ k8s.io/apimachinery/pkg/watch
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/reflect
# k8s.io/apiserver v0.23.4 => k8s.io/apiserver v0.23.4
# k8s.io/apiserver v0.23.5 => k8s.io/apiserver v0.23.5
## explicit; go 1.16
k8s.io/apiserver/pkg/admission
k8s.io/apiserver/pkg/admission/configuration
@ -889,7 +889,7 @@ k8s.io/apiserver/pkg/util/feature
k8s.io/apiserver/pkg/util/webhook
k8s.io/apiserver/pkg/util/x509metrics
k8s.io/apiserver/pkg/warning
# k8s.io/client-go v12.0.0+incompatible => k8s.io/client-go v0.23.4
# k8s.io/client-go v12.0.0+incompatible => k8s.io/client-go v0.23.5
## explicit; go 1.16
k8s.io/client-go/applyconfigurations/admissionregistration/v1
k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1
@ -1132,12 +1132,12 @@ k8s.io/client-go/util/homedir
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/retry
k8s.io/client-go/util/workqueue
# k8s.io/cloud-provider v0.23.4 => k8s.io/cloud-provider v0.23.4
# k8s.io/cloud-provider v0.23.5 => k8s.io/cloud-provider v0.23.5
## explicit; go 1.16
k8s.io/cloud-provider
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume/helpers
# k8s.io/component-base v0.23.4 => k8s.io/component-base v0.23.4
# k8s.io/component-base v0.23.5 => k8s.io/component-base v0.23.5
## explicit; go 1.16
k8s.io/component-base/cli/flag
k8s.io/component-base/config
@ -1148,7 +1148,7 @@ k8s.io/component-base/metrics/legacyregistry
k8s.io/component-base/metrics/testutil
k8s.io/component-base/traces
k8s.io/component-base/version
# k8s.io/component-helpers v0.23.4 => k8s.io/component-helpers v0.23.4
# k8s.io/component-helpers v0.23.5 => k8s.io/component-helpers v0.23.5
## explicit; go 1.16
k8s.io/component-helpers/node/util/sysctl
k8s.io/component-helpers/scheduling/corev1
@ -1160,14 +1160,14 @@ k8s.io/klog/v2
## explicit; go 1.16
k8s.io/kube-openapi/pkg/schemaconv
k8s.io/kube-openapi/pkg/util/proto
# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.23.4
# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.23.5
## explicit; go 1.16
k8s.io/kubectl/pkg/scale
k8s.io/kubectl/pkg/util/podutils
# k8s.io/kubelet v0.0.0 => k8s.io/kubelet v0.23.4
# k8s.io/kubelet v0.0.0 => k8s.io/kubelet v0.23.5
## explicit; go 1.16
k8s.io/kubelet/pkg/apis/stats/v1alpha1
# k8s.io/kubernetes v1.23.4
# k8s.io/kubernetes v1.23.5
## explicit; go 1.16
k8s.io/kubernetes/pkg/api/legacyscheme
k8s.io/kubernetes/pkg/api/service
@ -1230,7 +1230,7 @@ k8s.io/kubernetes/test/e2e/storage/podlogs
k8s.io/kubernetes/test/e2e/storage/utils
k8s.io/kubernetes/test/utils
k8s.io/kubernetes/test/utils/image
# k8s.io/mount-utils v0.23.4 => k8s.io/mount-utils v0.23.4
# k8s.io/mount-utils v0.23.5 => k8s.io/mount-utils v0.23.5
## explicit; go 1.16
k8s.io/mount-utils
# k8s.io/utils v0.0.0-20211116205334-6203023598ed
@ -1250,7 +1250,7 @@ k8s.io/utils/nsenter
k8s.io/utils/path
k8s.io/utils/pointer
k8s.io/utils/trace
# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27
# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30
## explicit; go 1.17
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client
@ -1309,29 +1309,29 @@ sigs.k8s.io/yaml
# github.com/golang/protobuf => github.com/golang/protobuf v1.4.3
# github.com/portworx/sched-ops => github.com/portworx/sched-ops v0.20.4-openstorage-rc3
# gomodules.xyz/jsonpatch/v2 => github.com/gomodules/jsonpatch/v2 v2.2.0
# k8s.io/api => k8s.io/api v0.23.4
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.4
# k8s.io/apimachinery => k8s.io/apimachinery v0.23.4
# k8s.io/apiserver => k8s.io/apiserver v0.23.4
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.4
# k8s.io/client-go => k8s.io/client-go v0.23.4
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.4
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.4
# k8s.io/code-generator => k8s.io/code-generator v0.23.4
# k8s.io/component-base => k8s.io/component-base v0.23.4
# k8s.io/component-helpers => k8s.io/component-helpers v0.23.4
# k8s.io/controller-manager => k8s.io/controller-manager v0.23.4
# k8s.io/cri-api => k8s.io/cri-api v0.23.4
# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.4
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.4
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.4
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.4
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.4
# k8s.io/kubectl => k8s.io/kubectl v0.23.4
# k8s.io/kubelet => k8s.io/kubelet v0.23.4
# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.4
# k8s.io/metrics => k8s.io/metrics v0.23.4
# k8s.io/mount-utils => k8s.io/mount-utils v0.23.4
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.4
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.4
# k8s.io/api => k8s.io/api v0.23.5
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.5
# k8s.io/apimachinery => k8s.io/apimachinery v0.23.5
# k8s.io/apiserver => k8s.io/apiserver v0.23.5
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.23.5
# k8s.io/client-go => k8s.io/client-go v0.23.5
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.23.5
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.23.5
# k8s.io/code-generator => k8s.io/code-generator v0.23.5
# k8s.io/component-base => k8s.io/component-base v0.23.5
# k8s.io/component-helpers => k8s.io/component-helpers v0.23.5
# k8s.io/controller-manager => k8s.io/controller-manager v0.23.5
# k8s.io/cri-api => k8s.io/cri-api v0.23.5
# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.23.5
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.23.5
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.23.5
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.23.5
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.23.5
# k8s.io/kubectl => k8s.io/kubectl v0.23.5
# k8s.io/kubelet => k8s.io/kubelet v0.23.5
# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.23.5
# k8s.io/metrics => k8s.io/metrics v0.23.5
# k8s.io/mount-utils => k8s.io/mount-utils v0.23.5
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.23.5
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.23.5
# layeh.com/radius => github.com/layeh/radius v0.0.0-20190322222518-890bc1058917

View File

@ -43,10 +43,17 @@ type dialResult struct {
connid int64
}
type pendingDial struct {
// resultCh is the channel to send the dial result to
resultCh chan<- dialResult
// cancelCh is the channel closed when resultCh no longer has a receiver
cancelCh <-chan struct{}
}
// grpcTunnel implements Tunnel
type grpcTunnel struct {
stream client.ProxyService_ProxyClient
pendingDial map[int64]chan<- dialResult
pendingDial map[int64]pendingDial
conns map[int64]*conn
pendingDialLock sync.RWMutex
connsLock sync.RWMutex
@ -76,12 +83,13 @@ func CreateSingleUseGrpcTunnel(ctx context.Context, address string, opts ...grpc
stream, err := grpcClient.Proxy(ctx)
if err != nil {
c.Close()
return nil, err
}
tunnel := &grpcTunnel{
stream: stream,
pendingDial: make(map[int64]chan<- dialResult),
pendingDial: make(map[int64]pendingDial),
conns: make(map[int64]*conn),
readTimeoutSeconds: 10,
}
@ -110,7 +118,7 @@ func (t *grpcTunnel) serve(c clientConn) {
case client.PacketType_DIAL_RSP:
resp := pkt.GetDialResponse()
t.pendingDialLock.RLock()
ch, ok := t.pendingDial[resp.Random]
pendingDial, ok := t.pendingDial[resp.Random]
t.pendingDialLock.RUnlock()
if !ok {
@ -122,10 +130,16 @@ func (t *grpcTunnel) serve(c clientConn) {
connid: resp.ConnectID,
}
select {
case ch <- result:
default:
klog.ErrorS(fmt.Errorf("blocked pending channel"), "Received second dial response for connection request", "connectionID", resp.ConnectID, "dialID", resp.Random)
// On multiple dial responses, avoid leaking serve goroutine.
// try to send to the result channel
case pendingDial.resultCh <- result:
// unblock if the cancel channel is closed
case <-pendingDial.cancelCh:
// If there are no readers of the pending dial channel above, it means one of two things:
// 1. There was a second DIAL_RSP for the connection request (this is very unlikely but possible)
// 2. grpcTunnel.DialContext() returned early due to a dial timeout or the client canceling the context
//
// In either scenario, we should return here as this tunnel is no longer needed.
klog.V(1).InfoS("Pending dial has been cancelled; dropped", "connectionID", resp.ConnectID, "dialID", resp.Random)
return
}
}
@ -182,9 +196,16 @@ func (t *grpcTunnel) DialContext(ctx context.Context, protocol, address string)
}
random := rand.Int63() /* #nosec G404 */
resCh := make(chan dialResult, 1)
// This channel is closed once we're returning and no longer waiting on resultCh
cancelCh := make(chan struct{})
defer close(cancelCh)
// This channel MUST NOT be buffered. The sender needs to know when we are not receiving things, so they can abort.
resCh := make(chan dialResult)
t.pendingDialLock.Lock()
t.pendingDial[random] = resCh
t.pendingDial[random] = pendingDial{resultCh: resCh, cancelCh: cancelCh}
t.pendingDialLock.Unlock()
defer func() {
t.pendingDialLock.Lock()
@ -225,8 +246,10 @@ func (t *grpcTunnel) DialContext(ctx context.Context, protocol, address string)
t.conns[res.connid] = c
t.connsLock.Unlock()
case <-time.After(30 * time.Second):
klog.V(5).InfoS("Timed out waiting for DialResp", "dialID", random)
return nil, errors.New("dial timeout, backstop")
case <-ctx.Done():
klog.V(5).InfoS("Context canceled waiting for DialResp", "ctxErr", ctx.Err(), "dialID", random)
return nil, errors.New("dial timeout, context")
}