Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
dc12eca4
Unverified
Commit
dc12eca4
authored
May 14, 2021
by
Erik Wilson
Committed by
GitHub
May 14, 2021
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3329 from erikwilson/v1.20.7-k3s1
Update Kubernetes to v1.20.7-k3s1
parents
9e679305
f90bce1b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
303 additions
and
165 deletions
+303
-165
.drone.yml
.drone.yml
+0
-1
Dockerfile.dapper
Dockerfile.dapper
+1
-1
Dockerfile.manifest
Dockerfile.manifest
+1
-1
Dockerfile.test.dapper
Dockerfile.test.dapper
+1
-1
Dockerfile.test.mod.dapper
Dockerfile.test.mod.dapper
+1
-1
go.mod
go.mod
+29
-29
go.sum
go.sum
+0
-0
quantity_proto.go
...or/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go
+1
-1
httpstream.go
vendor/k8s.io/apimachinery/pkg/util/httpstream/httpstream.go
+2
-0
connection.go
...8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go
+18
-4
default.go
...8s.io/apiserver/pkg/apis/flowcontrol/bootstrap/default.go
+14
-0
delegating.go
...ver/pkg/authentication/authenticatorfactory/delegating.go
+4
-1
authentication.go
vendor/k8s.io/apiserver/pkg/server/options/authentication.go
+14
-10
webhook.go
...iserver/plugin/pkg/authenticator/token/webhook/webhook.go
+19
-8
base.go
vendor/k8s.io/client-go/pkg/version/base.go
+3
-3
json.go
vendor/k8s.io/component-base/logs/json/json.go
+3
-2
base.go
vendor/k8s.io/component-base/version/base.go
+3
-3
aws_ebs.go
vendor/k8s.io/csi-translation-lib/plugins/aws_ebs.go
+1
-1
azure_disk.go
vendor/k8s.io/csi-translation-lib/plugins/azure_disk.go
+1
-1
azure_file.go
vendor/k8s.io/csi-translation-lib/plugins/azure_file.go
+7
-2
gce_pd.go
vendor/k8s.io/csi-translation-lib/plugins/gce_pd.go
+1
-1
in_tree_volume.go
vendor/k8s.io/csi-translation-lib/plugins/in_tree_volume.go
+2
-1
openstack_cinder.go
...or/k8s.io/csi-translation-lib/plugins/openstack_cinder.go
+1
-1
vsphere_volume.go
vendor/k8s.io/csi-translation-lib/plugins/vsphere_volume.go
+1
-1
translate.go
vendor/k8s.io/csi-translation-lib/translate.go
+2
-2
create_ingress.go
vendor/k8s.io/kubectl/pkg/cmd/create/create_ingress.go
+8
-2
create_service.go
vendor/k8s.io/kubectl/pkg/cmd/create/create_service.go
+11
-4
server_others.go
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_others.go
+7
-1
server_windows.go
...or/k8s.io/kubernetes/cmd/kube-proxy/app/server_windows.go
+6
-2
validation.go
.../k8s.io/kubernetes/pkg/apis/core/validation/validation.go
+11
-7
validation.go
...io/kubernetes/pkg/apis/discovery/validation/validation.go
+2
-0
endpointslice_tracker.go
...tes/pkg/controller/endpointslice/endpointslice_tracker.go
+17
-3
endpointslice_tracker.go
...ontroller/endpointslicemirroring/endpointslice_tracker.go
+17
-3
util.go
...ubernetes/pkg/controller/volume/attachdetach/util/util.go
+5
-5
apiserver.go
vendor/k8s.io/kubernetes/pkg/kubelet/config/apiserver.go
+24
-3
httpstream.go
...netes/pkg/kubelet/cri/streaming/portforward/httpstream.go
+4
-0
BUILD
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/BUILD
+5
-0
exec.go
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/exec.go
+3
-1
kubelet.go
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
+27
-32
kubelet_getters.go
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
+1
-12
worker.go
vendor/k8s.io/kubernetes/pkg/kubelet/prober/worker.go
+2
-1
desired_state_of_world_populator.go
...lumemanager/populator/desired_state_of_world_populator.go
+2
-2
azure_provision.go
...8s.io/kubernetes/pkg/volume/azure_file/azure_provision.go
+2
-1
plugin_manager.go
...s.io/kubernetes/pkg/volume/csimigration/plugin_manager.go
+3
-3
operation_generator.go
.../pkg/volume/util/operationexecutor/operation_generator.go
+1
-1
azure_backoff.go
vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go
+6
-0
azure_loadbalancer.go
...k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
+5
-3
mount_helper_unix.go
vendor/k8s.io/mount-utils/mount_helper_unix.go
+1
-1
mount_helper_windows.go
vendor/k8s.io/mount-utils/mount_helper_windows.go
+2
-1
mount_windows.go
vendor/k8s.io/mount-utils/mount_windows.go
+1
-1
modules.txt
vendor/modules.txt
+0
-0
No files found.
.drone.yml
View file @
dc12eca4
...
@@ -190,7 +190,6 @@ steps:
...
@@ -190,7 +190,6 @@ steps:
environment
:
environment
:
GCLOUD_AUTH
:
GCLOUD_AUTH
:
from_secret
:
gcloud_auth
from_secret
:
gcloud_auth
GOLANG
:
golang:1.16.2-alpine3.12
commands
:
commands
:
-
dapper ci
-
dapper ci
-
echo "${DRONE_TAG}-arm" | sed -e 's/+/-/g' >.tags
-
echo "${DRONE_TAG}-arm" | sed -e 's/+/-/g' >.tags
...
...
Dockerfile.dapper
View file @
dc12eca4
ARG GOLANG=golang:1.15.1
0
-alpine3.12
ARG GOLANG=golang:1.15.1
2
-alpine3.12
FROM ${GOLANG}
FROM ${GOLANG}
ARG http_proxy=$http_proxy
ARG http_proxy=$http_proxy
...
...
Dockerfile.manifest
View file @
dc12eca4
ARG GOLANG=golang:1.15.1
0
-alpine3.12
ARG GOLANG=golang:1.15.1
2
-alpine3.12
FROM ${GOLANG}
FROM ${GOLANG}
COPY --from=plugins/manifest:1.2.3 /bin/* /bin/
COPY --from=plugins/manifest:1.2.3 /bin/* /bin/
...
...
Dockerfile.test.dapper
View file @
dc12eca4
ARG GOLANG=golang:1.15.1
0
-alpine3.12
ARG GOLANG=golang:1.15.1
2
-alpine3.12
FROM ${GOLANG}
FROM ${GOLANG}
RUN apk -U --no-cache add bash git gcc musl-dev docker curl jq coreutils python2 openssl py-pip
RUN apk -U --no-cache add bash git gcc musl-dev docker curl jq coreutils python2 openssl py-pip
...
...
Dockerfile.test.mod.dapper
View file @
dc12eca4
ARG GOLANG=golang:1.1
6.
2-alpine3.12
ARG GOLANG=golang:1.1
5.1
2-alpine3.12
FROM ${GOLANG}
FROM ${GOLANG}
RUN apk -U --no-cache add bash jq
RUN apk -U --no-cache add bash jq
...
...
go.mod
View file @
dc12eca4
...
@@ -34,34 +34,34 @@ replace (
...
@@ -34,34 +34,34 @@ replace (
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
google.golang.org/grpc => google.golang.org/grpc v1.27.1
google.golang.org/grpc => google.golang.org/grpc v1.27.1
gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2
gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.
6
-k3s1
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.
7
-k3s1
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.
6
-k3s1
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.
7
-k3s1
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.
6
-k3s1
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.
7
-k3s1
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.
6
-k3s1
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.
7
-k3s1
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.
6
-k3s1
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.
7
-k3s1
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.
6
-k3s1
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.
7
-k3s1
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.
6
-k3s1
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.
7
-k3s1
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.
6
-k3s1
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.
7
-k3s1
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.
6
-k3s1
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.
7
-k3s1
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.
6
-k3s1
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.
7
-k3s1
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.
6
-k3s1
k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.
7
-k3s1
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.
6
-k3s1
k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.
7
-k3s1
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.
6
-k3s1
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.
7
-k3s1
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.
6
-k3s1
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.
7
-k3s1
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.
6
-k3s1
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.
7
-k3s1
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.
6
-k3s1
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.
7
-k3s1
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.
6
-k3s1
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.
7
-k3s1
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.
6
-k3s1
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.
7
-k3s1
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.
6
-k3s1
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.
7
-k3s1
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.
6
-k3s1
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.
7
-k3s1
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.
6
-k3s1
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.
7
-k3s1
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.
6
-k3s1
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.
7
-k3s1
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.
6
-k3s1
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.
7
-k3s1
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.
6
-k3s1
k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.
7
-k3s1
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.
6
-k3s1
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.
7
-k3s1
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.
6
-k3s1
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.
7
-k3s1
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.
6
-k3s1
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.
7
-k3s1
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.
6
-k3s1
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.
7
-k3s1
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
)
)
...
@@ -124,6 +124,6 @@ require (
...
@@ -124,6 +124,6 @@ require (
k8s.io/cri-api v1.20.0
k8s.io/cri-api v1.20.0
k8s.io/klog v1.0.0
k8s.io/klog v1.0.0
k8s.io/kubectl v1.20.5
k8s.io/kubectl v1.20.5
k8s.io/kubernetes v1.20.
6
k8s.io/kubernetes v1.20.
7
sigs.k8s.io/yaml v1.2.0
sigs.k8s.io/yaml v1.2.0
)
)
go.sum
View file @
dc12eca4
This diff is collapsed.
Click to expand it.
vendor/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go
View file @
dc12eca4
...
@@ -166,7 +166,7 @@ func (m *Quantity) Unmarshal(data []byte) error {
...
@@ -166,7 +166,7 @@ func (m *Quantity) Unmarshal(data []byte) error {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
skippy
<
0
{
if
(
skippy
<
0
)
||
(
iNdEx
+
skippy
)
<
0
{
return
ErrInvalidLengthGenerated
return
ErrInvalidLengthGenerated
}
}
if
(
iNdEx
+
skippy
)
>
l
{
if
(
iNdEx
+
skippy
)
>
l
{
...
...
vendor/k8s.io/apimachinery/pkg/util/httpstream/httpstream.go
View file @
dc12eca4
...
@@ -78,6 +78,8 @@ type Connection interface {
...
@@ -78,6 +78,8 @@ type Connection interface {
// SetIdleTimeout sets the amount of time the connection may remain idle before
// SetIdleTimeout sets the amount of time the connection may remain idle before
// it is automatically closed.
// it is automatically closed.
SetIdleTimeout
(
timeout
time
.
Duration
)
SetIdleTimeout
(
timeout
time
.
Duration
)
// RemoveStreams can be used to remove a set of streams from the Connection.
RemoveStreams
(
streams
...
Stream
)
}
}
// Stream represents a bidirectional communications channel that is part of an
// Stream represents a bidirectional communications channel that is part of an
...
...
vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go
View file @
dc12eca4
...
@@ -31,7 +31,7 @@ import (
...
@@ -31,7 +31,7 @@ import (
// streams.
// streams.
type
connection
struct
{
type
connection
struct
{
conn
*
spdystream
.
Connection
conn
*
spdystream
.
Connection
streams
[
]
httpstream
.
Stream
streams
map
[
uint32
]
httpstream
.
Stream
streamLock
sync
.
Mutex
streamLock
sync
.
Mutex
newStreamHandler
httpstream
.
NewStreamHandler
newStreamHandler
httpstream
.
NewStreamHandler
ping
func
()
(
time
.
Duration
,
error
)
ping
func
()
(
time
.
Duration
,
error
)
...
@@ -85,7 +85,12 @@ func NewServerConnectionWithPings(conn net.Conn, newStreamHandler httpstream.New
...
@@ -85,7 +85,12 @@ func NewServerConnectionWithPings(conn net.Conn, newStreamHandler httpstream.New
// will be invoked when the server receives a newly created stream from the
// will be invoked when the server receives a newly created stream from the
// client.
// client.
func
newConnection
(
conn
*
spdystream
.
Connection
,
newStreamHandler
httpstream
.
NewStreamHandler
,
pingPeriod
time
.
Duration
,
pingFn
func
()
(
time
.
Duration
,
error
))
httpstream
.
Connection
{
func
newConnection
(
conn
*
spdystream
.
Connection
,
newStreamHandler
httpstream
.
NewStreamHandler
,
pingPeriod
time
.
Duration
,
pingFn
func
()
(
time
.
Duration
,
error
))
httpstream
.
Connection
{
c
:=
&
connection
{
conn
:
conn
,
newStreamHandler
:
newStreamHandler
,
ping
:
pingFn
}
c
:=
&
connection
{
conn
:
conn
,
newStreamHandler
:
newStreamHandler
,
ping
:
pingFn
,
streams
:
make
(
map
[
uint32
]
httpstream
.
Stream
),
}
go
conn
.
Serve
(
c
.
newSpdyStream
)
go
conn
.
Serve
(
c
.
newSpdyStream
)
if
pingPeriod
>
0
&&
pingFn
!=
nil
{
if
pingPeriod
>
0
&&
pingFn
!=
nil
{
go
c
.
sendPings
(
pingPeriod
)
go
c
.
sendPings
(
pingPeriod
)
...
@@ -105,7 +110,7 @@ func (c *connection) Close() error {
...
@@ -105,7 +110,7 @@ func (c *connection) Close() error {
// calling Reset instead of Close ensures that all streams are fully torn down
// calling Reset instead of Close ensures that all streams are fully torn down
s
.
Reset
()
s
.
Reset
()
}
}
c
.
streams
=
make
(
[
]
httpstream
.
Stream
,
0
)
c
.
streams
=
make
(
map
[
uint32
]
httpstream
.
Stream
,
0
)
c
.
streamLock
.
Unlock
()
c
.
streamLock
.
Unlock
()
// now that all streams are fully torn down, it's safe to call close on the underlying connection,
// now that all streams are fully torn down, it's safe to call close on the underlying connection,
...
@@ -114,6 +119,15 @@ func (c *connection) Close() error {
...
@@ -114,6 +119,15 @@ func (c *connection) Close() error {
return
c
.
conn
.
Close
()
return
c
.
conn
.
Close
()
}
}
// RemoveStreams can be used to removes a set of streams from the Connection.
func
(
c
*
connection
)
RemoveStreams
(
streams
...
httpstream
.
Stream
)
{
c
.
streamLock
.
Lock
()
for
_
,
stream
:=
range
streams
{
delete
(
c
.
streams
,
stream
.
Identifier
())
}
c
.
streamLock
.
Unlock
()
}
// CreateStream creates a new stream with the specified headers and registers
// CreateStream creates a new stream with the specified headers and registers
// it with the connection.
// it with the connection.
func
(
c
*
connection
)
CreateStream
(
headers
http
.
Header
)
(
httpstream
.
Stream
,
error
)
{
func
(
c
*
connection
)
CreateStream
(
headers
http
.
Header
)
(
httpstream
.
Stream
,
error
)
{
...
@@ -133,7 +147,7 @@ func (c *connection) CreateStream(headers http.Header) (httpstream.Stream, error
...
@@ -133,7 +147,7 @@ func (c *connection) CreateStream(headers http.Header) (httpstream.Stream, error
// it owns.
// it owns.
func
(
c
*
connection
)
registerStream
(
s
httpstream
.
Stream
)
{
func
(
c
*
connection
)
registerStream
(
s
httpstream
.
Stream
)
{
c
.
streamLock
.
Lock
()
c
.
streamLock
.
Lock
()
c
.
streams
=
append
(
c
.
streams
,
s
)
c
.
streams
[
s
.
Identifier
()]
=
s
c
.
streamLock
.
Unlock
()
c
.
streamLock
.
Unlock
()
}
}
...
...
vendor/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap/default.go
View file @
dc12eca4
...
@@ -64,6 +64,7 @@ var (
...
@@ -64,6 +64,7 @@ var (
}
}
SuggestedFlowSchemas
=
[]
*
flowcontrol
.
FlowSchema
{
SuggestedFlowSchemas
=
[]
*
flowcontrol
.
FlowSchema
{
SuggestedFlowSchemaSystemNodes
,
// references "system" priority-level
SuggestedFlowSchemaSystemNodes
,
// references "system" priority-level
SuggestedFlowSchemaProbes
,
// references "exempt" priority-level
SuggestedFlowSchemaSystemLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaSystemLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaWorkloadLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaWorkloadLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaKubeControllerManager
,
// references "workload-high" priority-level
SuggestedFlowSchemaKubeControllerManager
,
// references "workload-high" priority-level
...
@@ -394,6 +395,19 @@ var (
...
@@ -394,6 +395,19 @@ var (
},
},
},
},
)
)
// the following flow schema exempts probes
SuggestedFlowSchemaProbes
=
newFlowSchema
(
"probes"
,
"exempt"
,
2
,
""
,
// distinguisherMethodType
flowcontrol
.
PolicyRulesWithSubjects
{
Subjects
:
groups
(
user
.
AllUnauthenticated
,
user
.
AllAuthenticated
),
NonResourceRules
:
[]
flowcontrol
.
NonResourcePolicyRule
{
nonResourceRule
(
[]
string
{
"get"
},
[]
string
{
"/healthz"
,
"/readyz"
,
"/livez"
}),
},
},
)
)
)
func
newPriorityLevelConfiguration
(
name
string
,
spec
flowcontrol
.
PriorityLevelConfigurationSpec
)
*
flowcontrol
.
PriorityLevelConfiguration
{
func
newPriorityLevelConfiguration
(
name
string
,
spec
flowcontrol
.
PriorityLevelConfigurationSpec
)
*
flowcontrol
.
PriorityLevelConfiguration
{
...
...
vendor/k8s.io/apiserver/pkg/authentication/authenticatorfactory/delegating.go
View file @
dc12eca4
...
@@ -44,6 +44,9 @@ type DelegatingAuthenticatorConfig struct {
...
@@ -44,6 +44,9 @@ type DelegatingAuthenticatorConfig struct {
// TokenAccessReviewClient is a client to do token review. It can be nil. Then every token is ignored.
// TokenAccessReviewClient is a client to do token review. It can be nil. Then every token is ignored.
TokenAccessReviewClient
authenticationclient
.
TokenReviewInterface
TokenAccessReviewClient
authenticationclient
.
TokenReviewInterface
// TokenAccessReviewTimeout specifies a time limit for requests made by the authorization webhook client.
TokenAccessReviewTimeout
time
.
Duration
// WebhookRetryBackoff specifies the backoff parameters for the authentication webhook retry logic.
// WebhookRetryBackoff specifies the backoff parameters for the authentication webhook retry logic.
// This allows us to configure the sleep time at each iteration and the maximum number of retries allowed
// This allows us to configure the sleep time at each iteration and the maximum number of retries allowed
// before we fail the webhook call in order to limit the fan out that ensues when the system is degraded.
// before we fail the webhook call in order to limit the fan out that ensues when the system is degraded.
...
@@ -88,7 +91,7 @@ func (c DelegatingAuthenticatorConfig) New() (authenticator.Request, *spec.Secur
...
@@ -88,7 +91,7 @@ func (c DelegatingAuthenticatorConfig) New() (authenticator.Request, *spec.Secur
if
c
.
WebhookRetryBackoff
==
nil
{
if
c
.
WebhookRetryBackoff
==
nil
{
return
nil
,
nil
,
errors
.
New
(
"retry backoff parameters for delegating authentication webhook has not been specified"
)
return
nil
,
nil
,
errors
.
New
(
"retry backoff parameters for delegating authentication webhook has not been specified"
)
}
}
tokenAuth
,
err
:=
webhooktoken
.
NewFromInterface
(
c
.
TokenAccessReviewClient
,
c
.
APIAudiences
,
*
c
.
WebhookRetryBackoff
)
tokenAuth
,
err
:=
webhooktoken
.
NewFromInterface
(
c
.
TokenAccessReviewClient
,
c
.
APIAudiences
,
*
c
.
WebhookRetryBackoff
,
c
.
TokenAccessReviewTimeout
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
nil
,
err
return
nil
,
nil
,
err
}
}
...
...
vendor/k8s.io/apiserver/pkg/server/options/authentication.go
View file @
dc12eca4
...
@@ -195,9 +195,9 @@ type DelegatingAuthenticationOptions struct {
...
@@ -195,9 +195,9 @@ type DelegatingAuthenticationOptions struct {
// before we fail the webhook call in order to limit the fan out that ensues when the system is degraded.
// before we fail the webhook call in order to limit the fan out that ensues when the system is degraded.
WebhookRetryBackoff
*
wait
.
Backoff
WebhookRetryBackoff
*
wait
.
Backoff
//
Clien
tTimeout specifies a time limit for requests made by the authorization webhook client.
//
TokenReques
tTimeout specifies a time limit for requests made by the authorization webhook client.
// The default value is set to 10 seconds.
// The default value is set to 10 seconds.
Clien
tTimeout
time
.
Duration
TokenReques
tTimeout
time
.
Duration
}
}
func
NewDelegatingAuthenticationOptions
()
*
DelegatingAuthenticationOptions
{
func
NewDelegatingAuthenticationOptions
()
*
DelegatingAuthenticationOptions
{
...
@@ -211,7 +211,7 @@ func NewDelegatingAuthenticationOptions() *DelegatingAuthenticationOptions {
...
@@ -211,7 +211,7 @@ func NewDelegatingAuthenticationOptions() *DelegatingAuthenticationOptions {
ExtraHeaderPrefixes
:
[]
string
{
"x-remote-extra-"
},
ExtraHeaderPrefixes
:
[]
string
{
"x-remote-extra-"
},
},
},
WebhookRetryBackoff
:
DefaultAuthWebhookRetryBackoff
(),
WebhookRetryBackoff
:
DefaultAuthWebhookRetryBackoff
(),
ClientTimeout
:
10
*
time
.
Second
,
TokenRequestTimeout
:
10
*
time
.
Second
,
}
}
}
}
...
@@ -220,9 +220,9 @@ func (s *DelegatingAuthenticationOptions) WithCustomRetryBackoff(backoff wait.Ba
...
@@ -220,9 +220,9 @@ func (s *DelegatingAuthenticationOptions) WithCustomRetryBackoff(backoff wait.Ba
s
.
WebhookRetryBackoff
=
&
backoff
s
.
WebhookRetryBackoff
=
&
backoff
}
}
// With
ClientTimeout sets the given timeout for
the authentication webhook client.
// With
RequestTimeout sets the given timeout for requests made by
the authentication webhook client.
func
(
s
*
DelegatingAuthenticationOptions
)
With
Clien
tTimeout
(
timeout
time
.
Duration
)
{
func
(
s
*
DelegatingAuthenticationOptions
)
With
Reques
tTimeout
(
timeout
time
.
Duration
)
{
s
.
Clien
tTimeout
=
timeout
s
.
TokenReques
tTimeout
=
timeout
}
}
func
(
s
*
DelegatingAuthenticationOptions
)
Validate
()
[]
error
{
func
(
s
*
DelegatingAuthenticationOptions
)
Validate
()
[]
error
{
...
@@ -274,9 +274,10 @@ func (s *DelegatingAuthenticationOptions) ApplyTo(authenticationInfo *server.Aut
...
@@ -274,9 +274,10 @@ func (s *DelegatingAuthenticationOptions) ApplyTo(authenticationInfo *server.Aut
}
}
cfg
:=
authenticatorfactory
.
DelegatingAuthenticatorConfig
{
cfg
:=
authenticatorfactory
.
DelegatingAuthenticatorConfig
{
Anonymous
:
true
,
Anonymous
:
true
,
CacheTTL
:
s
.
CacheTTL
,
CacheTTL
:
s
.
CacheTTL
,
WebhookRetryBackoff
:
s
.
WebhookRetryBackoff
,
WebhookRetryBackoff
:
s
.
WebhookRetryBackoff
,
TokenAccessReviewTimeout
:
s
.
TokenRequestTimeout
,
}
}
client
,
err
:=
s
.
getClient
()
client
,
err
:=
s
.
getClient
()
...
@@ -419,7 +420,10 @@ func (s *DelegatingAuthenticationOptions) getClient() (kubernetes.Interface, err
...
@@ -419,7 +420,10 @@ func (s *DelegatingAuthenticationOptions) getClient() (kubernetes.Interface, err
// set high qps/burst limits since this will effectively limit API server responsiveness
// set high qps/burst limits since this will effectively limit API server responsiveness
clientConfig
.
QPS
=
200
clientConfig
.
QPS
=
200
clientConfig
.
Burst
=
400
clientConfig
.
Burst
=
400
clientConfig
.
Timeout
=
s
.
ClientTimeout
// do not set a timeout on the http client, instead use context for cancellation
// if multiple timeouts were set, the request will pick the smaller timeout to be applied, leaving other useless.
//
// see https://github.com/golang/go/blob/a937729c2c2f6950a32bc5cd0f5b88700882f078/src/net/http/client.go#L364
return
kubernetes
.
NewForConfig
(
clientConfig
)
return
kubernetes
.
NewForConfig
(
clientConfig
)
}
}
vendor/k8s.io/apiserver/plugin/pkg/authenticator/token/webhook/webhook.go
View file @
dc12eca4
...
@@ -52,17 +52,18 @@ type tokenReviewer interface {
...
@@ -52,17 +52,18 @@ type tokenReviewer interface {
}
}
type
WebhookTokenAuthenticator
struct
{
type
WebhookTokenAuthenticator
struct
{
tokenReview
tokenReviewer
tokenReview
tokenReviewer
retryBackoff
wait
.
Backoff
retryBackoff
wait
.
Backoff
implicitAuds
authenticator
.
Audiences
implicitAuds
authenticator
.
Audiences
requestTimeout
time
.
Duration
}
}
// NewFromInterface creates a webhook authenticator using the given tokenReview
// NewFromInterface creates a webhook authenticator using the given tokenReview
// client. It is recommend to wrap this authenticator with the token cache
// client. It is recommend to wrap this authenticator with the token cache
// authenticator implemented in
// authenticator implemented in
// k8s.io/apiserver/pkg/authentication/token/cache.
// k8s.io/apiserver/pkg/authentication/token/cache.
func
NewFromInterface
(
tokenReview
authenticationv1client
.
TokenReviewInterface
,
implicitAuds
authenticator
.
Audiences
,
retryBackoff
wait
.
Backoff
)
(
*
WebhookTokenAuthenticator
,
error
)
{
func
NewFromInterface
(
tokenReview
authenticationv1client
.
TokenReviewInterface
,
implicitAuds
authenticator
.
Audiences
,
retryBackoff
wait
.
Backoff
,
requestTimeout
time
.
Duration
)
(
*
WebhookTokenAuthenticator
,
error
)
{
return
newWithBackoff
(
tokenReview
,
retryBackoff
,
implicitAuds
)
return
newWithBackoff
(
tokenReview
,
retryBackoff
,
implicitAuds
,
requestTimeout
)
}
}
// New creates a new WebhookTokenAuthenticator from the provided kubeconfig
// New creates a new WebhookTokenAuthenticator from the provided kubeconfig
...
@@ -74,12 +75,12 @@ func New(kubeConfigFile string, version string, implicitAuds authenticator.Audie
...
@@ -74,12 +75,12 @@ func New(kubeConfigFile string, version string, implicitAuds authenticator.Audie
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
return
newWithBackoff
(
tokenReview
,
retryBackoff
,
implicitAuds
)
return
newWithBackoff
(
tokenReview
,
retryBackoff
,
implicitAuds
,
time
.
Duration
(
0
)
)
}
}
// newWithBackoff allows tests to skip the sleep.
// newWithBackoff allows tests to skip the sleep.
func
newWithBackoff
(
tokenReview
tokenReviewer
,
retryBackoff
wait
.
Backoff
,
implicitAuds
authenticator
.
Audiences
)
(
*
WebhookTokenAuthenticator
,
error
)
{
func
newWithBackoff
(
tokenReview
tokenReviewer
,
retryBackoff
wait
.
Backoff
,
implicitAuds
authenticator
.
Audiences
,
requestTimeout
time
.
Duration
)
(
*
WebhookTokenAuthenticator
,
error
)
{
return
&
WebhookTokenAuthenticator
{
tokenReview
,
retryBackoff
,
implicitAuds
},
nil
return
&
WebhookTokenAuthenticator
{
tokenReview
,
retryBackoff
,
implicitAuds
,
requestTimeout
},
nil
}
}
// AuthenticateToken implements the authenticator.Token interface.
// AuthenticateToken implements the authenticator.Token interface.
...
@@ -105,7 +106,17 @@ func (w *WebhookTokenAuthenticator) AuthenticateToken(ctx context.Context, token
...
@@ -105,7 +106,17 @@ func (w *WebhookTokenAuthenticator) AuthenticateToken(ctx context.Context, token
var
(
var
(
result
*
authenticationv1
.
TokenReview
result
*
authenticationv1
.
TokenReview
auds
authenticator
.
Audiences
auds
authenticator
.
Audiences
cancel
context
.
CancelFunc
)
)
// set a hard timeout if it was defined
// if the child has a shorter deadline then it will expire first,
// otherwise if the parent has a shorter deadline then the parent will expire and it will be propagate to the child
if
w
.
requestTimeout
>
0
{
ctx
,
cancel
=
context
.
WithTimeout
(
ctx
,
w
.
requestTimeout
)
defer
cancel
()
}
// WithExponentialBackoff will return tokenreview create error (tokenReviewErr) if any.
// WithExponentialBackoff will return tokenreview create error (tokenReviewErr) if any.
if
err
:=
webhook
.
WithExponentialBackoff
(
ctx
,
w
.
retryBackoff
,
func
()
error
{
if
err
:=
webhook
.
WithExponentialBackoff
(
ctx
,
w
.
retryBackoff
,
func
()
error
{
var
tokenReviewErr
error
var
tokenReviewErr
error
...
...
vendor/k8s.io/client-go/pkg/version/base.go
View file @
dc12eca4
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"20"
gitMinor
=
"20"
gitVersion
=
"v1.20.
6
-k3s1"
gitVersion
=
"v1.20.
7
-k3s1"
gitCommit
=
"
21bfff3cb0d4b3542596333109c93355d78beca0
"
gitCommit
=
"
def098cc98a34931afa07e8500cbf55253e67481
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"2021-0
4-15T19:24:25
Z"
buildDate
=
"2021-0
5-14T10:11:46
Z"
)
)
vendor/k8s.io/component-base/logs/json/json.go
View file @
dc12eca4
...
@@ -148,8 +148,9 @@ func (l *zapLogger) WithName(name string) logr.Logger {
...
@@ -148,8 +148,9 @@ func (l *zapLogger) WithName(name string) logr.Logger {
var
encoderConfig
=
zapcore
.
EncoderConfig
{
var
encoderConfig
=
zapcore
.
EncoderConfig
{
MessageKey
:
"msg"
,
MessageKey
:
"msg"
,
TimeKey
:
"ts"
,
TimeKey
:
"ts"
,
EncodeTime
:
zapcore
.
EpochMillisTimeEncoder
,
EncodeTime
:
zapcore
.
EpochMillisTimeEncoder
,
EncodeDuration
:
zapcore
.
StringDurationEncoder
,
}
}
// NewJSONLogger creates a new json logr.Logger using the given Zap Logger to log.
// NewJSONLogger creates a new json logr.Logger using the given Zap Logger to log.
...
...
vendor/k8s.io/component-base/version/base.go
View file @
dc12eca4
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"20"
gitMinor
=
"20"
gitVersion
=
"v1.20.
6
-k3s1"
gitVersion
=
"v1.20.
7
-k3s1"
gitCommit
=
"
21bfff3cb0d4b3542596333109c93355d78beca0
"
gitCommit
=
"
def098cc98a34931afa07e8500cbf55253e67481
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"2021-0
4-15T19:24:25
Z"
buildDate
=
"2021-0
5-14T10:11:46
Z"
)
)
vendor/k8s.io/csi-translation-lib/plugins/aws_ebs.go
View file @
dc12eca4
...
@@ -85,7 +85,7 @@ func (t *awsElasticBlockStoreCSITranslator) TranslateInTreeStorageClassToCSI(sc
...
@@ -85,7 +85,7 @@ func (t *awsElasticBlockStoreCSITranslator) TranslateInTreeStorageClassToCSI(sc
// TranslateInTreeInlineVolumeToCSI takes a Volume with AWSElasticBlockStore set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with AWSElasticBlockStore set from in-tree
// and converts the AWSElasticBlockStore source to a CSIPersistentVolumeSource
// and converts the AWSElasticBlockStore source to a CSIPersistentVolumeSource
func
(
t
*
awsElasticBlockStoreCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
t
*
awsElasticBlockStoreCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
AWSElasticBlockStore
==
nil
{
if
volume
==
nil
||
volume
.
AWSElasticBlockStore
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or AWS EBS not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or AWS EBS not defined on volume"
)
}
}
...
...
vendor/k8s.io/csi-translation-lib/plugins/azure_disk.go
View file @
dc12eca4
...
@@ -93,7 +93,7 @@ func (t *azureDiskCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
...
@@ -93,7 +93,7 @@ func (t *azureDiskCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureDisk set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureDisk set from in-tree
// and converts the AzureDisk source to a CSIPersistentVolumeSource
// and converts the AzureDisk source to a CSIPersistentVolumeSource
func
(
t
*
azureDiskCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
t
*
azureDiskCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
AzureDisk
==
nil
{
if
volume
==
nil
||
volume
.
AzureDisk
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or Azure Disk not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or Azure Disk not defined on volume"
)
}
}
...
...
vendor/k8s.io/csi-translation-lib/plugins/azure_file.go
View file @
dc12eca4
...
@@ -65,7 +65,7 @@ func (t *azureFileCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
...
@@ -65,7 +65,7 @@ func (t *azureFileCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureFile set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureFile set from in-tree
// and converts the AzureFile source to a CSIPersistentVolumeSource
// and converts the AzureFile source to a CSIPersistentVolumeSource
func
(
t
*
azureFileCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
t
*
azureFileCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
AzureFile
==
nil
{
if
volume
==
nil
||
volume
.
AzureFile
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or Azure File not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or Azure File not defined on volume"
)
}
}
...
@@ -77,6 +77,11 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
...
@@ -77,6 +77,11 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
accountName
=
azureSource
.
SecretName
accountName
=
azureSource
.
SecretName
}
}
secretNamespace
:=
defaultSecretNamespace
if
podNamespace
!=
""
{
secretNamespace
=
podNamespace
}
var
(
var
(
pv
=
&
v1
.
PersistentVolume
{
pv
=
&
v1
.
PersistentVolume
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
...
@@ -93,7 +98,7 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
...
@@ -93,7 +98,7 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
VolumeAttributes
:
map
[
string
]
string
{
shareNameField
:
azureSource
.
ShareName
},
VolumeAttributes
:
map
[
string
]
string
{
shareNameField
:
azureSource
.
ShareName
},
NodeStageSecretRef
:
&
v1
.
SecretReference
{
NodeStageSecretRef
:
&
v1
.
SecretReference
{
Name
:
azureSource
.
SecretName
,
Name
:
azureSource
.
SecretName
,
Namespace
:
defaultS
ecretNamespace
,
Namespace
:
s
ecretNamespace
,
},
},
},
},
},
},
...
...
vendor/k8s.io/csi-translation-lib/plugins/gce_pd.go
View file @
dc12eca4
...
@@ -162,7 +162,7 @@ func backwardCompatibleAccessModes(ams []v1.PersistentVolumeAccessMode) []v1.Per
...
@@ -162,7 +162,7 @@ func backwardCompatibleAccessModes(ams []v1.PersistentVolumeAccessMode) []v1.Per
// TranslateInTreeInlineVolumeToCSI takes a Volume with GCEPersistentDisk set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with GCEPersistentDisk set from in-tree
// and converts the GCEPersistentDisk source to a CSIPersistentVolumeSource
// and converts the GCEPersistentDisk source to a CSIPersistentVolumeSource
func
(
g
*
gcePersistentDiskCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
g
*
gcePersistentDiskCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
GCEPersistentDisk
==
nil
{
if
volume
==
nil
||
volume
.
GCEPersistentDisk
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or GCE PD not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or GCE PD not defined on volume"
)
}
}
...
...
vendor/k8s.io/csi-translation-lib/plugins/in_tree_volume.go
View file @
dc12eca4
...
@@ -36,7 +36,8 @@ type InTreePlugin interface {
...
@@ -36,7 +36,8 @@ type InTreePlugin interface {
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// the in-tree inline volume source to a CSIPersistentVolumeSource
// the in-tree inline volume source to a CSIPersistentVolumeSource
// A PV object containing the CSIPersistentVolumeSource in it's spec is returned
// A PV object containing the CSIPersistentVolumeSource in it's spec is returned
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
// podNamespace is only needed for azurefile to fetch secret namespace, no need to be set for other plugins.
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
// TranslateInTreePVToCSI takes a persistent volume and will translate
// TranslateInTreePVToCSI takes a persistent volume and will translate
// the in-tree pv source to a CSI Source. The input persistent volume can be modified
// the in-tree pv source to a CSI Source. The input persistent volume can be modified
...
...
vendor/k8s.io/csi-translation-lib/plugins/openstack_cinder.go
View file @
dc12eca4
...
@@ -75,7 +75,7 @@ func (t *osCinderCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Sto
...
@@ -75,7 +75,7 @@ func (t *osCinderCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Sto
// TranslateInTreeInlineVolumeToCSI takes a Volume with Cinder set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with Cinder set from in-tree
// and converts the Cinder source to a CSIPersistentVolumeSource
// and converts the Cinder source to a CSIPersistentVolumeSource
func
(
t
*
osCinderCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
t
*
osCinderCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
Cinder
==
nil
{
if
volume
==
nil
||
volume
.
Cinder
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or Cinder not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or Cinder not defined on volume"
)
}
}
...
...
vendor/k8s.io/csi-translation-lib/plugins/vsphere_volume.go
View file @
dc12eca4
...
@@ -111,7 +111,7 @@ func (t *vSphereCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Stor
...
@@ -111,7 +111,7 @@ func (t *vSphereCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Stor
// TranslateInTreeInlineVolumeToCSI takes a Volume with VsphereVolume set from in-tree
// TranslateInTreeInlineVolumeToCSI takes a Volume with VsphereVolume set from in-tree
// and converts the VsphereVolume source to a CSIPersistentVolumeSource
// and converts the VsphereVolume source to a CSIPersistentVolumeSource
func
(
t
*
vSphereCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
t
*
vSphereCSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
||
volume
.
VsphereVolume
==
nil
{
if
volume
==
nil
||
volume
.
VsphereVolume
==
nil
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or VsphereVolume not defined on volume"
)
return
nil
,
fmt
.
Errorf
(
"volume is nil or VsphereVolume not defined on volume"
)
}
}
...
...
vendor/k8s.io/csi-translation-lib/translate.go
View file @
dc12eca4
...
@@ -62,13 +62,13 @@ func (CSITranslator) TranslateInTreeStorageClassToCSI(inTreePluginName string, s
...
@@ -62,13 +62,13 @@ func (CSITranslator) TranslateInTreeStorageClassToCSI(inTreePluginName string, s
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// the in-tree volume source to a CSIPersistentVolumeSource (wrapped in a PV)
// the in-tree volume source to a CSIPersistentVolumeSource (wrapped in a PV)
// if the translation logic has been implemented.
// if the translation logic has been implemented.
func
(
CSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
{
func
(
CSITranslator
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
{
if
volume
==
nil
{
if
volume
==
nil
{
return
nil
,
fmt
.
Errorf
(
"persistent volume was nil"
)
return
nil
,
fmt
.
Errorf
(
"persistent volume was nil"
)
}
}
for
_
,
curPlugin
:=
range
inTreePlugins
{
for
_
,
curPlugin
:=
range
inTreePlugins
{
if
curPlugin
.
CanSupportInline
(
volume
)
{
if
curPlugin
.
CanSupportInline
(
volume
)
{
pv
,
err
:=
curPlugin
.
TranslateInTreeInlineVolumeToCSI
(
volume
)
pv
,
err
:=
curPlugin
.
TranslateInTreeInlineVolumeToCSI
(
volume
,
podNamespace
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
vendor/k8s.io/kubectl/pkg/cmd/create/create_ingress.go
View file @
dc12eca4
...
@@ -232,6 +232,12 @@ func (o *CreateIngressOptions) Validate() error {
...
@@ -232,6 +232,12 @@ func (o *CreateIngressOptions) Validate() error {
}
}
}
}
for
_
,
annotation
:=
range
o
.
Annotations
{
if
an
:=
strings
.
SplitN
(
annotation
,
"="
,
2
);
len
(
an
)
!=
2
{
return
fmt
.
Errorf
(
"annotation %s is invalid and should be in format key=[value]"
,
annotation
)
}
}
if
len
(
o
.
DefaultBackend
)
>
0
&&
len
(
strings
.
Split
(
o
.
DefaultBackend
,
":"
))
!=
2
{
if
len
(
o
.
DefaultBackend
)
>
0
&&
len
(
strings
.
Split
(
o
.
DefaultBackend
,
":"
))
!=
2
{
return
fmt
.
Errorf
(
"default-backend should be in format servicename:serviceport"
)
return
fmt
.
Errorf
(
"default-backend should be in format servicename:serviceport"
)
}
}
...
@@ -289,8 +295,8 @@ func (o *CreateIngressOptions) createIngress() *networkingv1.Ingress {
...
@@ -289,8 +295,8 @@ func (o *CreateIngressOptions) createIngress() *networkingv1.Ingress {
}
}
func
(
o
*
CreateIngressOptions
)
buildAnnotations
()
map
[
string
]
string
{
func
(
o
*
CreateIngressOptions
)
buildAnnotations
()
map
[
string
]
string
{
var
annotations
map
[
string
]
string
annotations
=
make
(
map
[
string
]
string
)
var
annotations
=
make
(
map
[
string
]
string
)
for
_
,
annotation
:=
range
o
.
Annotations
{
for
_
,
annotation
:=
range
o
.
Annotations
{
an
:=
strings
.
SplitN
(
annotation
,
"="
,
2
)
an
:=
strings
.
SplitN
(
annotation
,
"="
,
2
)
...
...
vendor/k8s.io/kubectl/pkg/cmd/create/create_service.go
View file @
dc12eca4
...
@@ -72,6 +72,7 @@ type ServiceOptions struct {
...
@@ -72,6 +72,7 @@ type ServiceOptions struct {
FieldManager
string
FieldManager
string
CreateAnnotation
bool
CreateAnnotation
bool
Namespace
string
Namespace
string
EnforceNamespace
bool
Client
corev1client
.
CoreV1Interface
Client
corev1client
.
CoreV1Interface
DryRunStrategy
cmdutil
.
DryRunStrategy
DryRunStrategy
cmdutil
.
DryRunStrategy
...
@@ -105,7 +106,7 @@ func (o *ServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
...
@@ -105,7 +106,7 @@ func (o *ServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
return
err
return
err
}
}
o
.
Namespace
,
_
,
err
=
f
.
ToRawKubeConfigLoader
()
.
Namespace
()
o
.
Namespace
,
o
.
EnforceNamespace
,
err
=
f
.
ToRawKubeConfigLoader
()
.
Namespace
()
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -177,13 +178,19 @@ func (o *ServiceOptions) createService() (*corev1.Service, error) {
...
@@ -177,13 +178,19 @@ func (o *ServiceOptions) createService() (*corev1.Service, error) {
selector
:=
map
[
string
]
string
{}
selector
:=
map
[
string
]
string
{}
selector
[
"app"
]
=
o
.
Name
selector
[
"app"
]
=
o
.
Name
namespace
:=
""
if
o
.
EnforceNamespace
{
namespace
=
o
.
Namespace
}
service
:=
corev1
.
Service
{
service
:=
corev1
.
Service
{
ObjectMeta
:
metav1
.
ObjectMeta
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
o
.
Name
,
Name
:
o
.
Name
,
Labels
:
labels
,
Labels
:
labels
,
Namespace
:
namespace
,
},
},
Spec
:
corev1
.
ServiceSpec
{
Spec
:
corev1
.
ServiceSpec
{
Type
:
corev1
.
ServiceType
(
o
.
Type
)
,
Type
:
o
.
Type
,
Selector
:
selector
,
Selector
:
selector
,
Ports
:
ports
,
Ports
:
ports
,
ExternalName
:
o
.
ExternalName
,
ExternalName
:
o
.
ExternalName
,
...
...
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_others.go
View file @
dc12eca4
...
@@ -360,6 +360,12 @@ func newProxyServer(
...
@@ -360,6 +360,12 @@ func newProxyServer(
}
}
}
}
useEndpointSlices
:=
utilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
EndpointSliceProxying
)
if
proxyMode
==
proxyModeUserspace
{
// userspace mode doesn't support endpointslice.
useEndpointSlices
=
false
}
var
connTracker
Conntracker
var
connTracker
Conntracker
if
!
libcontainersystem
.
RunningInUserNS
()
{
if
!
libcontainersystem
.
RunningInUserNS
()
{
// if we are in userns, sysctl does not work and connTracker should be kept nil
// if we are in userns, sysctl does not work and connTracker should be kept nil
...
@@ -386,7 +392,7 @@ func newProxyServer(
...
@@ -386,7 +392,7 @@ func newProxyServer(
OOMScoreAdj
:
config
.
OOMScoreAdj
,
OOMScoreAdj
:
config
.
OOMScoreAdj
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
HealthzServer
:
healthzServer
,
HealthzServer
:
healthzServer
,
UseEndpointSlices
:
u
tilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
EndpointSliceProxying
)
,
UseEndpointSlices
:
u
seEndpointSlices
,
},
nil
},
nil
}
}
...
...
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_windows.go
View file @
dc12eca4
...
@@ -159,7 +159,11 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
...
@@ -159,7 +159,11 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
return
nil
,
fmt
.
Errorf
(
"unable to create proxier: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"unable to create proxier: %v"
,
err
)
}
}
}
}
useEndpointSlices
:=
utilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
WindowsEndpointSliceProxying
)
if
proxyMode
==
proxyModeUserspace
{
// userspace mode doesn't support endpointslice.
useEndpointSlices
=
false
}
return
&
ProxyServer
{
return
&
ProxyServer
{
Client
:
client
,
Client
:
client
,
EventClient
:
eventClient
,
EventClient
:
eventClient
,
...
@@ -174,7 +178,7 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
...
@@ -174,7 +178,7 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
OOMScoreAdj
:
config
.
OOMScoreAdj
,
OOMScoreAdj
:
config
.
OOMScoreAdj
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
HealthzServer
:
healthzServer
,
HealthzServer
:
healthzServer
,
UseEndpointSlices
:
u
tilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
WindowsEndpointSliceProxying
)
,
UseEndpointSlices
:
u
seEndpointSlices
,
},
nil
},
nil
}
}
...
...
vendor/k8s.io/kubernetes/pkg/apis/core/validation/validation.go
View file @
dc12eca4
...
@@ -4238,7 +4238,7 @@ func ValidateService(service *core.Service) field.ErrorList {
...
@@ -4238,7 +4238,7 @@ func ValidateService(service *core.Service) field.ErrorList {
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
idxPath
,
ip
,
msgs
[
i
]))
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
idxPath
,
ip
,
msgs
[
i
]))
}
}
}
else
{
}
else
{
allErrs
=
append
(
allErrs
,
v
alidateNonSpecialIP
(
ip
,
idxPath
)
...
)
allErrs
=
append
(
allErrs
,
V
alidateNonSpecialIP
(
ip
,
idxPath
)
...
)
}
}
}
}
...
@@ -5673,15 +5673,19 @@ func validateEndpointAddress(address *core.EndpointAddress, fldPath *field.Path)
...
@@ -5673,15 +5673,19 @@ func validateEndpointAddress(address *core.EndpointAddress, fldPath *field.Path)
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"nodeName"
),
*
address
.
NodeName
,
msg
))
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"nodeName"
),
*
address
.
NodeName
,
msg
))
}
}
}
}
allErrs
=
append
(
allErrs
,
v
alidateNonSpecialIP
(
address
.
IP
,
fldPath
.
Child
(
"ip"
))
...
)
allErrs
=
append
(
allErrs
,
V
alidateNonSpecialIP
(
address
.
IP
,
fldPath
.
Child
(
"ip"
))
...
)
return
allErrs
return
allErrs
}
}
func
validateNonSpecialIP
(
ipAddress
string
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
// ValidateNonSpecialIP is used to validate Endpoints, EndpointSlices, and
// We disallow some IPs as endpoints or external-ips. Specifically,
// external IPs. Specifically, this disallows unspecified and loopback addresses
// unspecified and loopback addresses are nonsensical and link-local
// are nonsensical and link-local addresses tend to be used for node-centric
// addresses tend to be used for node-centric purposes (e.g. metadata
// purposes (e.g. metadata service).
// service).
//
// IPv6 references
// - https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml
// - https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml
func
ValidateNonSpecialIP
(
ipAddress
string
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
allErrs
:=
field
.
ErrorList
{}
allErrs
:=
field
.
ErrorList
{}
ip
:=
net
.
ParseIP
(
ipAddress
)
ip
:=
net
.
ParseIP
(
ipAddress
)
if
ip
==
nil
{
if
ip
==
nil
{
...
...
vendor/k8s.io/kubernetes/pkg/apis/discovery/validation/validation.go
View file @
dc12eca4
...
@@ -96,8 +96,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
...
@@ -96,8 +96,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
switch
addrType
{
switch
addrType
{
case
discovery
.
AddressTypeIPv4
:
case
discovery
.
AddressTypeIPv4
:
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv4Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv4Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
apivalidation
.
ValidateNonSpecialIP
(
address
,
addressPath
.
Index
(
i
))
...
)
case
discovery
.
AddressTypeIPv6
:
case
discovery
.
AddressTypeIPv6
:
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv6Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv6Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
apivalidation
.
ValidateNonSpecialIP
(
address
,
addressPath
.
Index
(
i
))
...
)
case
discovery
.
AddressTypeFQDN
:
case
discovery
.
AddressTypeFQDN
:
allErrs
=
append
(
allErrs
,
validation
.
IsFullyQualifiedDomainName
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
validation
.
IsFullyQualifiedDomainName
(
addressPath
.
Index
(
i
),
address
)
...
)
}
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/endpointslice/endpointslice_tracker.go
View file @
dc12eca4
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
return
!
ok
||
endpointSlice
.
Generation
>
g
return
!
ok
||
endpointSlice
.
Generation
>
g
}
}
// StaleSlices returns true if one or more of the provided EndpointSlices
// StaleSlices returns true if any of the following are true:
// have older generations than the corresponding tracked ones or if the tracker
// 1. One or more of the provided EndpointSlices have older generations than the
// is expecting one or more of the provided EndpointSlices to be deleted.
// corresponding tracked ones.
// 2. The tracker is expecting one or more of the provided EndpointSlices to be
// deleted.
// 3. The tracker is tracking EndpointSlices that have not been provided.
func
(
est
*
endpointSliceTracker
)
StaleSlices
(
service
*
v1
.
Service
,
endpointSlices
[]
*
discovery
.
EndpointSlice
)
bool
{
func
(
est
*
endpointSliceTracker
)
StaleSlices
(
service
*
v1
.
Service
,
endpointSlices
[]
*
discovery
.
EndpointSlice
)
bool
{
est
.
lock
.
Lock
()
est
.
lock
.
Lock
()
defer
est
.
lock
.
Unlock
()
defer
est
.
lock
.
Unlock
()
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
if
!
ok
{
if
!
ok
{
return
false
return
false
}
}
providedSlices
:=
map
[
types
.
UID
]
int64
{}
for
_
,
endpointSlice
:=
range
endpointSlices
{
for
_
,
endpointSlice
:=
range
endpointSlices
{
providedSlices
[
endpointSlice
.
UID
]
=
endpointSlice
.
Generation
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
return
true
return
true
}
}
}
}
for
uid
,
generation
:=
range
gfs
{
if
generation
==
deletionExpected
{
continue
}
_
,
ok
:=
providedSlices
[
uid
]
if
!
ok
{
return
true
}
}
return
false
return
false
}
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/endpointslicemirroring/endpointslice_tracker.go
View file @
dc12eca4
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
return
!
ok
||
endpointSlice
.
Generation
>
g
return
!
ok
||
endpointSlice
.
Generation
>
g
}
}
// StaleSlices returns true if one or more of the provided EndpointSlices
// StaleSlices returns true if any of the following are true:
// have older generations than the corresponding tracked ones or if the tracker
// 1. One or more of the provided EndpointSlices have older generations than the
// is expecting one or more of the provided EndpointSlices to be deleted.
// corresponding tracked ones.
// 2. The tracker is expecting one or more of the provided EndpointSlices to be
// deleted.
// 3. The tracker is tracking EndpointSlices that have not been provided.
func
(
est
*
endpointSliceTracker
)
StaleSlices
(
service
*
v1
.
Service
,
endpointSlices
[]
*
discovery
.
EndpointSlice
)
bool
{
func
(
est
*
endpointSliceTracker
)
StaleSlices
(
service
*
v1
.
Service
,
endpointSlices
[]
*
discovery
.
EndpointSlice
)
bool
{
est
.
lock
.
Lock
()
est
.
lock
.
Lock
()
defer
est
.
lock
.
Unlock
()
defer
est
.
lock
.
Unlock
()
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
if
!
ok
{
if
!
ok
{
return
false
return
false
}
}
providedSlices
:=
map
[
types
.
UID
]
int64
{}
for
_
,
endpointSlice
:=
range
endpointSlices
{
for
_
,
endpointSlice
:=
range
endpointSlices
{
providedSlices
[
endpointSlice
.
UID
]
=
endpointSlice
.
Generation
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
return
true
return
true
}
}
}
}
for
uid
,
generation
:=
range
gfs
{
if
generation
==
deletionExpected
{
continue
}
_
,
ok
:=
providedSlices
[
uid
]
if
!
ok
{
return
true
}
}
return
false
return
false
}
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/volume/attachdetach/util/util.go
View file @
dc12eca4
...
@@ -21,7 +21,7 @@ import (
...
@@ -21,7 +21,7 @@ import (
"fmt"
"fmt"
"strings"
"strings"
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
...
@@ -85,7 +85,7 @@ func CreateVolumeSpec(podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName,
...
@@ -85,7 +85,7 @@ func CreateVolumeSpec(podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName,
err
)
err
)
}
}
volumeSpec
,
err
=
translateInTreeSpecToCSIIfNeeded
(
volumeSpec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
)
volumeSpec
,
err
=
translateInTreeSpecToCSIIfNeeded
(
volumeSpec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
,
pod
.
Namespace
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
return
nil
,
fmt
.
Errorf
(
"error performing CSI migration checks and translation for PVC %q/%q: %v"
,
"error performing CSI migration checks and translation for PVC %q/%q: %v"
,
...
@@ -110,7 +110,7 @@ func CreateVolumeSpec(podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName,
...
@@ -110,7 +110,7 @@ func CreateVolumeSpec(podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName,
clonedPodVolume
:=
podVolume
.
DeepCopy
()
clonedPodVolume
:=
podVolume
.
DeepCopy
()
origspec
:=
volume
.
NewSpecFromVolume
(
clonedPodVolume
)
origspec
:=
volume
.
NewSpecFromVolume
(
clonedPodVolume
)
spec
,
err
:=
translateInTreeSpecToCSIIfNeeded
(
origspec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
)
spec
,
err
:=
translateInTreeSpecToCSIIfNeeded
(
origspec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
,
pod
.
Namespace
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
return
nil
,
fmt
.
Errorf
(
"error performing CSI migration checks and translation for inline volume %q: %v"
,
"error performing CSI migration checks and translation for inline volume %q: %v"
,
...
@@ -286,7 +286,7 @@ func ProcessPodVolumes(pod *v1.Pod, addVolumes bool, desiredStateOfWorld cache.D
...
@@ -286,7 +286,7 @@ func ProcessPodVolumes(pod *v1.Pod, addVolumes bool, desiredStateOfWorld cache.D
return
return
}
}
func
translateInTreeSpecToCSIIfNeeded
(
spec
*
volume
.
Spec
,
nodeName
types
.
NodeName
,
vpm
*
volume
.
VolumePluginMgr
,
csiMigratedPluginManager
csimigration
.
PluginManager
,
csiTranslator
csimigration
.
InTreeToCSITranslator
)
(
*
volume
.
Spec
,
error
)
{
func
translateInTreeSpecToCSIIfNeeded
(
spec
*
volume
.
Spec
,
nodeName
types
.
NodeName
,
vpm
*
volume
.
VolumePluginMgr
,
csiMigratedPluginManager
csimigration
.
PluginManager
,
csiTranslator
csimigration
.
InTreeToCSITranslator
,
podNamespace
string
)
(
*
volume
.
Spec
,
error
)
{
translatedSpec
:=
spec
translatedSpec
:=
spec
migratable
,
err
:=
csiMigratedPluginManager
.
IsMigratable
(
spec
)
migratable
,
err
:=
csiMigratedPluginManager
.
IsMigratable
(
spec
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -301,7 +301,7 @@ func translateInTreeSpecToCSIIfNeeded(spec *volume.Spec, nodeName types.NodeName
...
@@ -301,7 +301,7 @@ func translateInTreeSpecToCSIIfNeeded(spec *volume.Spec, nodeName types.NodeName
return
nil
,
err
return
nil
,
err
}
}
if
migratable
&&
migrationSupportedOnNode
{
if
migratable
&&
migrationSupportedOnNode
{
translatedSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
csiTranslator
)
translatedSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
podNamespace
,
csiTranslator
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/config/apiserver.go
View file @
dc12eca4
...
@@ -17,21 +17,42 @@ limitations under the License.
...
@@ -17,21 +17,42 @@ limitations under the License.
package
config
package
config
import
(
import
(
"k8s.io/api/core/v1"
"time"
v1
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/cache"
"k8s.io/klog/v2"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
kubetypes
"k8s.io/kubernetes/pkg/kubelet/types"
kubetypes
"k8s.io/kubernetes/pkg/kubelet/types"
)
)
// WaitForAPIServerSyncPeriod is the period between checks for the node list/watch initial sync
const
WaitForAPIServerSyncPeriod
=
1
*
time
.
Second
// NewSourceApiserver creates a config source that watches and pulls from the apiserver.
// NewSourceApiserver creates a config source that watches and pulls from the apiserver.
func
NewSourceApiserver
(
c
clientset
.
Interface
,
nodeName
types
.
NodeName
,
updates
chan
<-
interface
{})
{
func
NewSourceApiserver
(
c
clientset
.
Interface
,
nodeName
types
.
NodeName
,
nodeHasSynced
func
()
bool
,
updates
chan
<-
interface
{})
{
lw
:=
cache
.
NewListWatchFromClient
(
c
.
CoreV1
()
.
RESTClient
(),
"pods"
,
metav1
.
NamespaceAll
,
fields
.
OneTermEqualSelector
(
api
.
PodHostField
,
string
(
nodeName
)))
lw
:=
cache
.
NewListWatchFromClient
(
c
.
CoreV1
()
.
RESTClient
(),
"pods"
,
metav1
.
NamespaceAll
,
fields
.
OneTermEqualSelector
(
api
.
PodHostField
,
string
(
nodeName
)))
newSourceApiserverFromLW
(
lw
,
updates
)
// The Reflector responsible for watching pods at the apiserver should be run only after
// the node sync with the apiserver has completed.
klog
.
Info
(
"Waiting for node sync before watching apiserver pods"
)
go
func
()
{
for
{
if
nodeHasSynced
()
{
klog
.
V
(
4
)
.
Info
(
"node sync completed"
)
break
}
time
.
Sleep
(
WaitForAPIServerSyncPeriod
)
klog
.
V
(
4
)
.
Info
(
"node sync has not completed yet"
)
}
klog
.
Info
(
"Watching apiserver"
)
newSourceApiserverFromLW
(
lw
,
updates
)
}()
}
}
// newSourceApiserverFromLW holds creates a config source that watches and pulls from the apiserver.
// newSourceApiserverFromLW holds creates a config source that watches and pulls from the apiserver.
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/cri/streaming/portforward/httpstream.go
View file @
dc12eca4
...
@@ -163,6 +163,10 @@ func (h *httpStreamHandler) removeStreamPair(requestID string) {
...
@@ -163,6 +163,10 @@ func (h *httpStreamHandler) removeStreamPair(requestID string) {
h
.
streamPairsLock
.
Lock
()
h
.
streamPairsLock
.
Lock
()
defer
h
.
streamPairsLock
.
Unlock
()
defer
h
.
streamPairsLock
.
Unlock
()
if
h
.
conn
!=
nil
{
pair
:=
h
.
streamPairs
[
requestID
]
h
.
conn
.
RemoveStreams
(
pair
.
dataStream
,
pair
.
errorStream
)
}
delete
(
h
.
streamPairs
,
requestID
)
delete
(
h
.
streamPairs
,
requestID
)
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/BUILD
View file @
dc12eca4
...
@@ -37,6 +37,7 @@ go_library(
...
@@ -37,6 +37,7 @@ go_library(
visibility = ["//visibility:public"],
visibility = ["//visibility:public"],
deps = [
deps = [
"//pkg/credentialprovider:go_default_library",
"//pkg/credentialprovider:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis/config:go_default_library",
"//pkg/kubelet/apis/config:go_default_library",
"//pkg/kubelet/checkpointmanager:go_default_library",
"//pkg/kubelet/checkpointmanager:go_default_library",
"//pkg/kubelet/checkpointmanager/checksum:go_default_library",
"//pkg/kubelet/checkpointmanager/checksum:go_default_library",
...
@@ -60,6 +61,7 @@ go_library(
...
@@ -60,6 +61,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/tools/remotecommand:go_default_library",
"//staging/src/k8s.io/client-go/tools/remotecommand:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library",
"//vendor/github.com/armon/circbuf:go_default_library",
"//vendor/github.com/armon/circbuf:go_default_library",
...
@@ -105,6 +107,7 @@ go_test(
...
@@ -105,6 +107,7 @@ go_test(
],
],
embed = [":go_default_library"],
embed = [":go_default_library"],
deps = [
deps = [
"//pkg/features:go_default_library",
"//pkg/kubelet/checkpointmanager:go_default_library",
"//pkg/kubelet/checkpointmanager:go_default_library",
"//pkg/kubelet/container:go_default_library",
"//pkg/kubelet/container:go_default_library",
"//pkg/kubelet/container/testing:go_default_library",
"//pkg/kubelet/container/testing:go_default_library",
...
@@ -116,7 +119,9 @@ go_test(
...
@@ -116,7 +119,9 @@ go_test(
"//pkg/kubelet/util/cache:go_default_library",
"//pkg/kubelet/util/cache:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
"//staging/src/k8s.io/client-go/tools/remotecommand:go_default_library",
"//staging/src/k8s.io/client-go/tools/remotecommand:go_default_library",
"//staging/src/k8s.io/component-base/featuregate/testing:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library",
"//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library",
"//vendor/github.com/blang/semver:go_default_library",
"//vendor/github.com/blang/semver:go_default_library",
"//vendor/github.com/docker/docker/api/types:go_default_library",
"//vendor/github.com/docker/docker/api/types:go_default_library",
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/dockershim/exec.go
View file @
dc12eca4
...
@@ -26,8 +26,10 @@ import (
...
@@ -26,8 +26,10 @@ import (
dockertypes
"github.com/docker/docker/api/types"
dockertypes
"github.com/docker/docker/api/types"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/client-go/tools/remotecommand"
"k8s.io/klog/v2"
"k8s.io/klog/v2"
"k8s.io/kubernetes/pkg/features"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
"k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker"
)
)
...
@@ -106,7 +108,7 @@ func (*NativeExecHandler) ExecInContainer(ctx context.Context, client libdocker.
...
@@ -106,7 +108,7 @@ func (*NativeExecHandler) ExecInContainer(ctx context.Context, client libdocker.
ExecStarted
:
execStarted
,
ExecStarted
:
execStarted
,
}
}
if
timeout
>
0
{
if
timeout
>
0
&&
utilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
ExecProbeTimeout
)
{
var
cancel
context
.
CancelFunc
var
cancel
context
.
CancelFunc
ctx
,
cancel
=
context
.
WithTimeout
(
ctx
,
timeout
)
ctx
,
cancel
=
context
.
WithTimeout
(
ctx
,
timeout
)
defer
cancel
()
defer
cancel
()
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
View file @
dc12eca4
...
@@ -124,9 +124,6 @@ const (
...
@@ -124,9 +124,6 @@ const (
// Max amount of time to wait for the container runtime to come up.
// Max amount of time to wait for the container runtime to come up.
maxWaitForContainerRuntime
=
30
*
time
.
Second
maxWaitForContainerRuntime
=
30
*
time
.
Second
// Max amount of time to wait for node list/watch to initially sync
maxWaitForAPIServerSync
=
10
*
time
.
Second
// nodeStatusUpdateRetry specifies how many times kubelet retries when posting node status failed.
// nodeStatusUpdateRetry specifies how many times kubelet retries when posting node status failed.
nodeStatusUpdateRetry
=
5
nodeStatusUpdateRetry
=
5
...
@@ -247,7 +244,7 @@ type DockerOptions struct {
...
@@ -247,7 +244,7 @@ type DockerOptions struct {
// makePodSourceConfig creates a config.PodConfig from the given
// makePodSourceConfig creates a config.PodConfig from the given
// KubeletConfiguration or returns an error.
// KubeletConfiguration or returns an error.
func
makePodSourceConfig
(
kubeCfg
*
kubeletconfiginternal
.
KubeletConfiguration
,
kubeDeps
*
Dependencies
,
nodeName
types
.
NodeName
)
(
*
config
.
PodConfig
,
error
)
{
func
makePodSourceConfig
(
kubeCfg
*
kubeletconfiginternal
.
KubeletConfiguration
,
kubeDeps
*
Dependencies
,
nodeName
types
.
NodeName
,
nodeHasSynced
func
()
bool
)
(
*
config
.
PodConfig
,
error
)
{
manifestURLHeader
:=
make
(
http
.
Header
)
manifestURLHeader
:=
make
(
http
.
Header
)
if
len
(
kubeCfg
.
StaticPodURLHeader
)
>
0
{
if
len
(
kubeCfg
.
StaticPodURLHeader
)
>
0
{
for
k
,
v
:=
range
kubeCfg
.
StaticPodURLHeader
{
for
k
,
v
:=
range
kubeCfg
.
StaticPodURLHeader
{
...
@@ -273,8 +270,8 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
...
@@ -273,8 +270,8 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
}
}
if
kubeDeps
.
KubeClient
!=
nil
{
if
kubeDeps
.
KubeClient
!=
nil
{
klog
.
Info
f
(
"Watching apiserver
"
)
klog
.
Info
(
"Adding apiserver pod source
"
)
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
cfg
.
Channel
(
kubetypes
.
ApiserverSource
))
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
nodeHasSynced
,
cfg
.
Channel
(
kubetypes
.
ApiserverSource
))
}
}
return
cfg
,
nil
return
cfg
,
nil
}
}
...
@@ -380,9 +377,32 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
...
@@ -380,9 +377,32 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
}
}
}
}
var
nodeHasSynced
cache
.
InformerSynced
var
nodeLister
corelisters
.
NodeLister
// If kubeClient == nil, we are running in standalone mode (i.e. no API servers)
// If not nil, we are running as part of a cluster and should sync w/API
if
kubeDeps
.
KubeClient
!=
nil
{
kubeInformers
:=
informers
.
NewSharedInformerFactoryWithOptions
(
kubeDeps
.
KubeClient
,
0
,
informers
.
WithTweakListOptions
(
func
(
options
*
metav1
.
ListOptions
)
{
options
.
FieldSelector
=
fields
.
Set
{
api
.
ObjectNameField
:
string
(
nodeName
)}
.
String
()
}))
nodeLister
=
kubeInformers
.
Core
()
.
V1
()
.
Nodes
()
.
Lister
()
nodeHasSynced
=
func
()
bool
{
return
kubeInformers
.
Core
()
.
V1
()
.
Nodes
()
.
Informer
()
.
HasSynced
()
}
kubeInformers
.
Start
(
wait
.
NeverStop
)
klog
.
Info
(
"Attempting to sync node with API server"
)
}
else
{
// we don't have a client to sync!
nodeIndexer
:=
cache
.
NewIndexer
(
cache
.
MetaNamespaceKeyFunc
,
cache
.
Indexers
{})
nodeLister
=
corelisters
.
NewNodeLister
(
nodeIndexer
)
nodeHasSynced
=
func
()
bool
{
return
true
}
klog
.
Info
(
"Kubelet is running in standalone mode, will skip API server sync"
)
}
if
kubeDeps
.
PodConfig
==
nil
{
if
kubeDeps
.
PodConfig
==
nil
{
var
err
error
var
err
error
kubeDeps
.
PodConfig
,
err
=
makePodSourceConfig
(
kubeCfg
,
kubeDeps
,
nodeName
)
kubeDeps
.
PodConfig
,
err
=
makePodSourceConfig
(
kubeCfg
,
kubeDeps
,
nodeName
,
nodeHasSynced
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -434,31 +454,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
...
@@ -434,31 +454,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
serviceHasSynced
=
func
()
bool
{
return
true
}
serviceHasSynced
=
func
()
bool
{
return
true
}
}
}
var
nodeHasSynced
cache
.
InformerSynced
var
nodeLister
corelisters
.
NodeLister
if
kubeDeps
.
KubeClient
!=
nil
{
kubeInformers
:=
informers
.
NewSharedInformerFactoryWithOptions
(
kubeDeps
.
KubeClient
,
0
,
informers
.
WithTweakListOptions
(
func
(
options
*
metav1
.
ListOptions
)
{
options
.
FieldSelector
=
fields
.
Set
{
api
.
ObjectNameField
:
string
(
nodeName
)}
.
String
()
}))
nodeLister
=
kubeInformers
.
Core
()
.
V1
()
.
Nodes
()
.
Lister
()
nodeHasSynced
=
func
()
bool
{
if
kubeInformers
.
Core
()
.
V1
()
.
Nodes
()
.
Informer
()
.
HasSynced
()
{
return
true
}
klog
.
Infof
(
"kubelet nodes not sync"
)
return
false
}
kubeInformers
.
Start
(
wait
.
NeverStop
)
klog
.
Info
(
"Kubelet client is not nil"
)
}
else
{
// we dont have a client to sync!
nodeIndexer
:=
cache
.
NewIndexer
(
cache
.
MetaNamespaceKeyFunc
,
cache
.
Indexers
{})
nodeLister
=
corelisters
.
NewNodeLister
(
nodeIndexer
)
nodeHasSynced
=
func
()
bool
{
return
true
}
klog
.
Info
(
"Kubelet client is nil"
)
}
// construct a node reference used for events
// construct a node reference used for events
nodeRef
:=
&
v1
.
ObjectReference
{
nodeRef
:=
&
v1
.
ObjectReference
{
Kind
:
"Node"
,
Kind
:
"Node"
,
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
View file @
dc12eca4
...
@@ -22,7 +22,6 @@ import (
...
@@ -22,7 +22,6 @@ import (
"io/ioutil"
"io/ioutil"
"net"
"net"
"path/filepath"
"path/filepath"
"time"
cadvisorapiv1
"github.com/google/cadvisor/info/v1"
cadvisorapiv1
"github.com/google/cadvisor/info/v1"
cadvisorv2
"github.com/google/cadvisor/info/v2"
cadvisorv2
"github.com/google/cadvisor/info/v2"
...
@@ -33,7 +32,6 @@ import (
...
@@ -33,7 +32,6 @@ import (
v1
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/config"
"k8s.io/kubernetes/pkg/kubelet/config"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
...
@@ -237,15 +235,6 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
...
@@ -237,15 +235,6 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
if
kl
.
kubeClient
==
nil
{
if
kl
.
kubeClient
==
nil
{
return
kl
.
initialNode
(
context
.
TODO
())
return
kl
.
initialNode
(
context
.
TODO
())
}
}
// if we have a valid kube client, we wait for initial lister to sync
if
!
kl
.
nodeHasSynced
()
{
err
:=
wait
.
PollImmediate
(
time
.
Second
,
maxWaitForAPIServerSync
,
func
()
(
bool
,
error
)
{
return
kl
.
nodeHasSynced
(),
nil
})
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"nodes have not yet been read at least once, cannot construct node object"
)
}
}
return
kl
.
nodeLister
.
Get
(
string
(
kl
.
nodeName
))
return
kl
.
nodeLister
.
Get
(
string
(
kl
.
nodeName
))
}
}
...
@@ -256,7 +245,7 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
...
@@ -256,7 +245,7 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
// zero capacity, and the default labels.
// zero capacity, and the default labels.
func
(
kl
*
Kubelet
)
getNodeAnyWay
()
(
*
v1
.
Node
,
error
)
{
func
(
kl
*
Kubelet
)
getNodeAnyWay
()
(
*
v1
.
Node
,
error
)
{
if
kl
.
kubeClient
!=
nil
{
if
kl
.
kubeClient
!=
nil
{
if
n
,
err
:=
kl
.
GetNode
(
);
err
==
nil
{
if
n
,
err
:=
kl
.
nodeLister
.
Get
(
string
(
kl
.
nodeName
)
);
err
==
nil
{
return
n
,
nil
return
n
,
nil
}
}
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/prober/worker.go
View file @
dc12eca4
...
@@ -243,8 +243,9 @@ func (w *worker) doProbe() (keepGoing bool) {
...
@@ -243,8 +243,9 @@ func (w *worker) doProbe() (keepGoing bool) {
if
c
.
Started
!=
nil
&&
*
c
.
Started
{
if
c
.
Started
!=
nil
&&
*
c
.
Started
{
// Stop probing for startup once container has started.
// Stop probing for startup once container has started.
// we keep it running to make sure it will work for restarted container.
if
w
.
probeType
==
startup
{
if
w
.
probeType
==
startup
{
return
fals
e
return
tru
e
}
}
}
else
{
}
else
{
// Disable other probes until container has started.
// Disable other probes until container has started.
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go
View file @
dc12eca4
...
@@ -580,7 +580,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
...
@@ -580,7 +580,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
return
nil
,
nil
,
""
,
err
return
nil
,
nil
,
""
,
err
}
}
if
migratable
{
if
migratable
{
volumeSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
volumeSpec
,
dswp
.
intreeToCSITranslator
)
volumeSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
volumeSpec
,
pod
.
Namespace
,
dswp
.
intreeToCSITranslator
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
nil
,
""
,
err
return
nil
,
nil
,
""
,
err
}
}
...
@@ -622,7 +622,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
...
@@ -622,7 +622,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
return
nil
,
nil
,
""
,
err
return
nil
,
nil
,
""
,
err
}
}
if
migratable
{
if
migratable
{
spec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
dswp
.
intreeToCSITranslator
)
spec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
pod
.
Namespace
,
dswp
.
intreeToCSITranslator
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
nil
,
""
,
err
return
nil
,
nil
,
""
,
err
}
}
...
...
vendor/k8s.io/kubernetes/pkg/volume/azure_file/azure_provision.go
View file @
dc12eca4
...
@@ -198,9 +198,10 @@ func (a *azureFileProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
...
@@ -198,9 +198,10 @@ func (a *azureFileProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
}
}
if
shareName
==
""
{
if
shareName
==
""
{
// File share name has a length limit of 63,
and it cannot contain two consecutive '-'s
.
// File share name has a length limit of 63,
it cannot contain two consecutive '-'s, and all letters must be lower case
.
name
:=
util
.
GenerateVolumeName
(
a
.
options
.
ClusterName
,
a
.
options
.
PVName
,
63
)
name
:=
util
.
GenerateVolumeName
(
a
.
options
.
ClusterName
,
a
.
options
.
PVName
,
63
)
shareName
=
strings
.
Replace
(
name
,
"--"
,
"-"
,
-
1
)
shareName
=
strings
.
Replace
(
name
,
"--"
,
"-"
,
-
1
)
shareName
=
strings
.
ToLower
(
shareName
)
}
}
if
resourceGroup
==
""
{
if
resourceGroup
==
""
{
...
...
vendor/k8s.io/kubernetes/pkg/volume/csimigration/plugin_manager.go
View file @
dc12eca4
...
@@ -120,19 +120,19 @@ func (pm PluginManager) IsMigratable(spec *volume.Spec) (bool, error) {
...
@@ -120,19 +120,19 @@ func (pm PluginManager) IsMigratable(spec *volume.Spec) (bool, error) {
// from references to in-tree plugins to migrated CSI plugins
// from references to in-tree plugins to migrated CSI plugins
type
InTreeToCSITranslator
interface
{
type
InTreeToCSITranslator
interface
{
TranslateInTreePVToCSI
(
pv
*
v1
.
PersistentVolume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreePVToCSI
(
pv
*
v1
.
PersistentVolume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
}
}
// TranslateInTreeSpecToCSI translates a volume spec (either PV or inline volume)
// TranslateInTreeSpecToCSI translates a volume spec (either PV or inline volume)
// supported by an in-tree plugin to CSI
// supported by an in-tree plugin to CSI
func
TranslateInTreeSpecToCSI
(
spec
*
volume
.
Spec
,
translator
InTreeToCSITranslator
)
(
*
volume
.
Spec
,
error
)
{
func
TranslateInTreeSpecToCSI
(
spec
*
volume
.
Spec
,
podNamespace
string
,
translator
InTreeToCSITranslator
)
(
*
volume
.
Spec
,
error
)
{
var
csiPV
*
v1
.
PersistentVolume
var
csiPV
*
v1
.
PersistentVolume
var
err
error
var
err
error
inlineVolume
:=
false
inlineVolume
:=
false
if
spec
.
PersistentVolume
!=
nil
{
if
spec
.
PersistentVolume
!=
nil
{
csiPV
,
err
=
translator
.
TranslateInTreePVToCSI
(
spec
.
PersistentVolume
)
csiPV
,
err
=
translator
.
TranslateInTreePVToCSI
(
spec
.
PersistentVolume
)
}
else
if
spec
.
Volume
!=
nil
{
}
else
if
spec
.
Volume
!=
nil
{
csiPV
,
err
=
translator
.
TranslateInTreeInlineVolumeToCSI
(
spec
.
Volume
)
csiPV
,
err
=
translator
.
TranslateInTreeInlineVolumeToCSI
(
spec
.
Volume
,
podNamespace
)
inlineVolume
=
true
inlineVolume
=
true
}
else
{
}
else
{
err
=
errors
.
New
(
"not a valid volume spec"
)
err
=
errors
.
New
(
"not a valid volume spec"
)
...
...
vendor/k8s.io/kubernetes/pkg/volume/util/operationexecutor/operation_generator.go
View file @
dc12eca4
...
@@ -58,7 +58,7 @@ type InTreeToCSITranslator interface {
...
@@ -58,7 +58,7 @@ type InTreeToCSITranslator interface {
GetInTreePluginNameFromSpec
(
pv
*
v1
.
PersistentVolume
,
vol
*
v1
.
Volume
)
(
string
,
error
)
GetInTreePluginNameFromSpec
(
pv
*
v1
.
PersistentVolume
,
vol
*
v1
.
Volume
)
(
string
,
error
)
GetCSINameFromInTreeName
(
pluginName
string
)
(
string
,
error
)
GetCSINameFromInTreeName
(
pluginName
string
)
(
string
,
error
)
TranslateInTreePVToCSI
(
pv
*
v1
.
PersistentVolume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreePVToCSI
(
pv
*
v1
.
PersistentVolume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
)
(
*
v1
.
PersistentVolume
,
error
)
TranslateInTreeInlineVolumeToCSI
(
volume
*
v1
.
Volume
,
podNamespace
string
)
(
*
v1
.
PersistentVolume
,
error
)
}
}
var
_
OperationGenerator
=
&
operationGenerator
{}
var
_
OperationGenerator
=
&
operationGenerator
{}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go
View file @
dc12eca4
...
@@ -275,6 +275,9 @@ func (az *Cloud) ListLB(service *v1.Service) ([]network.LoadBalancer, error) {
...
@@ -275,6 +275,9 @@ func (az *Cloud) ListLB(service *v1.Service) ([]network.LoadBalancer, error) {
rgName
:=
az
.
getLoadBalancerResourceGroup
()
rgName
:=
az
.
getLoadBalancerResourceGroup
()
allLBs
,
rerr
:=
az
.
LoadBalancerClient
.
List
(
ctx
,
rgName
)
allLBs
,
rerr
:=
az
.
LoadBalancerClient
.
List
(
ctx
,
rgName
)
if
rerr
!=
nil
{
if
rerr
!=
nil
{
if
rerr
.
IsNotFound
()
{
return
nil
,
nil
}
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListLoadBalancers"
,
rerr
.
Error
()
.
Error
())
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListLoadBalancers"
,
rerr
.
Error
()
.
Error
())
klog
.
Errorf
(
"LoadBalancerClient.List(%v) failure with err=%v"
,
rgName
,
rerr
)
klog
.
Errorf
(
"LoadBalancerClient.List(%v) failure with err=%v"
,
rgName
,
rerr
)
return
nil
,
rerr
.
Error
()
return
nil
,
rerr
.
Error
()
...
@@ -290,6 +293,9 @@ func (az *Cloud) ListPIP(service *v1.Service, pipResourceGroup string) ([]networ
...
@@ -290,6 +293,9 @@ func (az *Cloud) ListPIP(service *v1.Service, pipResourceGroup string) ([]networ
allPIPs
,
rerr
:=
az
.
PublicIPAddressesClient
.
List
(
ctx
,
pipResourceGroup
)
allPIPs
,
rerr
:=
az
.
PublicIPAddressesClient
.
List
(
ctx
,
pipResourceGroup
)
if
rerr
!=
nil
{
if
rerr
!=
nil
{
if
rerr
.
IsNotFound
()
{
return
nil
,
nil
}
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListPublicIPs"
,
rerr
.
Error
()
.
Error
())
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListPublicIPs"
,
rerr
.
Error
()
.
Error
())
klog
.
Errorf
(
"PublicIPAddressesClient.List(%v) failure with err=%v"
,
pipResourceGroup
,
rerr
)
klog
.
Errorf
(
"PublicIPAddressesClient.List(%v) failure with err=%v"
,
pipResourceGroup
,
rerr
)
return
nil
,
rerr
.
Error
()
return
nil
,
rerr
.
Error
()
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
View file @
dc12eca4
...
@@ -2254,9 +2254,11 @@ func (az *Cloud) reconcilePublicIP(clusterName string, service *v1.Service, lbNa
...
@@ -2254,9 +2254,11 @@ func (az *Cloud) reconcilePublicIP(clusterName string, service *v1.Service, lbNa
}
}
dirtyPIP
=
true
dirtyPIP
=
true
}
}
changed
:=
az
.
ensurePIPTagged
(
service
,
&
pip
)
if
!
isUserAssignedPIP
{
if
changed
{
changed
:=
az
.
ensurePIPTagged
(
service
,
&
pip
)
dirtyPIP
=
true
if
changed
{
dirtyPIP
=
true
}
}
}
if
shouldReleaseExistingOwnedPublicIP
(
&
pip
,
wantLb
,
isInternal
,
isUserAssignedPIP
,
desiredPipName
,
serviceIPTagRequest
)
{
if
shouldReleaseExistingOwnedPublicIP
(
&
pip
,
wantLb
,
isInternal
,
isUserAssignedPIP
,
desiredPipName
,
serviceIPTagRequest
)
{
// Then, release the public ip
// Then, release the public ip
...
...
vendor/k8s.io/mount-utils/mount_helper_unix.go
View file @
dc12eca4
...
@@ -52,7 +52,7 @@ func IsCorruptedMnt(err error) bool {
...
@@ -52,7 +52,7 @@ func IsCorruptedMnt(err error) bool {
underlyingError
=
pe
.
Err
underlyingError
=
pe
.
Err
}
}
return
underlyingError
==
syscall
.
ENOTCONN
||
underlyingError
==
syscall
.
ESTALE
||
underlyingError
==
syscall
.
EIO
||
underlyingError
==
syscall
.
EACCES
return
underlyingError
==
syscall
.
ENOTCONN
||
underlyingError
==
syscall
.
ESTALE
||
underlyingError
==
syscall
.
EIO
||
underlyingError
==
syscall
.
EACCES
||
underlyingError
==
syscall
.
EHOSTDOWN
}
}
// MountInfo represents a single line in /proc/<pid>/mountinfo.
// MountInfo represents a single line in /proc/<pid>/mountinfo.
...
...
vendor/k8s.io/mount-utils/mount_helper_windows.go
View file @
dc12eca4
...
@@ -38,7 +38,8 @@ import (
...
@@ -38,7 +38,8 @@ import (
// ERROR_BAD_NET_NAME = 67
// ERROR_BAD_NET_NAME = 67
// ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
// ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
// ERROR_LOGON_FAILURE = 1326
// ERROR_LOGON_FAILURE = 1326
var
errorNoList
=
[
...
]
int
{
53
,
54
,
59
,
64
,
65
,
66
,
67
,
1219
,
1326
}
// WSAEHOSTDOWN = 10064
var
errorNoList
=
[
...
]
int
{
53
,
54
,
59
,
64
,
65
,
66
,
67
,
1219
,
1326
,
10064
}
// IsCorruptedMnt return true if err is about corrupted mount point
// IsCorruptedMnt return true if err is about corrupted mount point
func
IsCorruptedMnt
(
err
error
)
bool
{
func
IsCorruptedMnt
(
err
error
)
bool
{
...
...
vendor/k8s.io/mount-utils/mount_windows.go
View file @
dc12eca4
...
@@ -164,7 +164,7 @@ func newSMBMapping(username, password, remotepath string) (string, error) {
...
@@ -164,7 +164,7 @@ func newSMBMapping(username, password, remotepath string) (string, error) {
// https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-5.1
// https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-5.1
cmdLine
:=
`$PWord = ConvertTo-SecureString -String $Env:smbpassword -AsPlainText -Force`
+
cmdLine
:=
`$PWord = ConvertTo-SecureString -String $Env:smbpassword -AsPlainText -Force`
+
`;$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Env:smbuser, $PWord`
+
`;$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Env:smbuser, $PWord`
+
`;New-SmbGlobalMapping -RemotePath $Env:smbremotepath -Credential $Credential`
`;New-SmbGlobalMapping -RemotePath $Env:smbremotepath -Credential $Credential
-RequirePrivacy $true
`
cmd
:=
exec
.
Command
(
"powershell"
,
"/c"
,
cmdLine
)
cmd
:=
exec
.
Command
(
"powershell"
,
"/c"
,
cmdLine
)
cmd
.
Env
=
append
(
os
.
Environ
(),
cmd
.
Env
=
append
(
os
.
Environ
(),
fmt
.
Sprintf
(
"smbuser=%s"
,
username
),
fmt
.
Sprintf
(
"smbuser=%s"
,
username
),
...
...
vendor/modules.txt
View file @
dc12eca4
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment