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
d8425402
Unverified
Commit
d8425402
authored
May 14, 2021
by
Erik Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update Kubernetes to v1.19.11-k3s
parent
584ed26f
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
225 additions
and
128 deletions
+225
-128
go.mod
go.mod
+32
-32
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
+17
-4
default.go
...8s.io/apiserver/pkg/apis/flowcontrol/bootstrap/default.go
+14
-0
base.go
vendor/k8s.io/client-go/pkg/version/base.go
+3
-3
json.go
vendor/k8s.io/component-base/logs/json/json.go
+1
-0
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
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
+23
-2
httpstream.go
...netes/pkg/kubelet/cri/streaming/portforward/httpstream.go
+4
-0
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
modules.txt
vendor/modules.txt
+0
-0
No files found.
go.mod
View file @
d8425402
...
@@ -33,31 +33,31 @@ replace (
...
@@ -33,31 +33,31 @@ 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.19.1
0
-k3s1
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.19.1
1
-k3s1
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.19.1
0
-k3s1
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.19.1
1
-k3s1
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.19.1
0
-k3s1
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.19.1
1
-k3s1
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.19.1
0
-k3s1
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.19.1
1
-k3s1
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.19.1
0
-k3s1
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.19.1
1
-k3s1
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.19.1
0
-k3s1
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.19.1
1
-k3s1
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.19.1
0
-k3s1
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.19.1
1
-k3s1
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.19.1
0
-k3s1
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.19.1
1
-k3s1
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.19.1
0
-k3s1
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.19.1
1
-k3s1
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.19.1
0
-k3s1
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.19.1
1
-k3s1
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.19.1
0
-k3s1
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.19.1
1
-k3s1
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.19.1
0
-k3s1
k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.19.1
1
-k3s1
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.19.1
0
-k3s1
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.19.1
1
-k3s1
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.19.1
0
-k3s1
k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.19.1
1
-k3s1
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.19.1
0
-k3s1
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.19.1
1
-k3s1
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.19.1
0
-k3s1
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.19.1
1
-k3s1
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.19.1
0
-k3s1
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.19.1
1
-k3s1
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.19.1
0
-k3s1
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.19.1
1
-k3s1
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.19.1
0
-k3s1
k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.19.1
1
-k3s1
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.19.1
0
-k3s1
k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.19.1
1
-k3s1
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.19.1
0
-k3s1
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.19.1
1
-k3s1
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.19.1
0
-k3s1
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.19.1
1
-k3s1
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.19.1
0
-k3s1
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.19.1
1
-k3s1
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.19.1
0
-k3s1
k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.19.1
1
-k3s1
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.19.1
0
-k3s1
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.19.1
1
-k3s1
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
)
)
...
@@ -107,14 +107,14 @@ require (
...
@@ -107,14 +107,14 @@ require (
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3
google.golang.org/grpc v1.31.1
google.golang.org/grpc v1.31.1
gopkg.in/yaml.v2 v2.3.0
gopkg.in/yaml.v2 v2.3.0
k8s.io/api v0.19.
0
k8s.io/api v0.19.
11
k8s.io/apimachinery v0.19.
0
k8s.io/apimachinery v0.19.
11
k8s.io/apiserver v0.19.
0
k8s.io/apiserver v0.19.
11
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/cloud-provider v0.
0.0
k8s.io/cloud-provider v0.
19.11
k8s.io/component-base v0.19.
0
k8s.io/component-base v0.19.
11
k8s.io/cri-api v0.19.
0
k8s.io/cri-api v0.19.
11
k8s.io/klog v1.0.0
k8s.io/klog v1.0.0
k8s.io/kubernetes v1.19.1
0
k8s.io/kubernetes v1.19.1
1
sigs.k8s.io/yaml v1.2.0
sigs.k8s.io/yaml v1.2.0
)
)
go.sum
View file @
d8425402
This diff is collapsed.
Click to expand it.
vendor/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go
View file @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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
}
}
...
@@ -64,7 +64,11 @@ func NewServerConnection(conn net.Conn, newStreamHandler httpstream.NewStreamHan
...
@@ -64,7 +64,11 @@ func NewServerConnection(conn net.Conn, newStreamHandler httpstream.NewStreamHan
// 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
)
httpstream
.
Connection
{
func
newConnection
(
conn
*
spdystream
.
Connection
,
newStreamHandler
httpstream
.
NewStreamHandler
)
httpstream
.
Connection
{
c
:=
&
connection
{
conn
:
conn
,
newStreamHandler
:
newStreamHandler
}
c
:=
&
connection
{
conn
:
conn
,
newStreamHandler
:
newStreamHandler
,
streams
:
make
(
map
[
uint32
]
httpstream
.
Stream
),
}
go
conn
.
Serve
(
c
.
newSpdyStream
)
go
conn
.
Serve
(
c
.
newSpdyStream
)
return
c
return
c
}
}
...
@@ -81,7 +85,7 @@ func (c *connection) Close() error {
...
@@ -81,7 +85,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,
...
@@ -90,6 +94,15 @@ func (c *connection) Close() error {
...
@@ -90,6 +94,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
)
{
...
@@ -109,7 +122,7 @@ func (c *connection) CreateStream(headers http.Header) (httpstream.Stream, error
...
@@ -109,7 +122,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 @
d8425402
...
@@ -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/client-go/pkg/version/base.go
View file @
d8425402
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"19"
gitMinor
=
"19"
gitVersion
=
"v1.19.1
0
-k3s1"
gitVersion
=
"v1.19.1
1
-k3s1"
gitCommit
=
"
bea386a02dc87090aa113557a249cf69c52281fa
"
gitCommit
=
"
4230b2ac644cf72064bf7cacdf2ffa13292b3c1f
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"2021-0
4-15T18:19:54
Z"
buildDate
=
"2021-0
5-14T11:17:50
Z"
)
)
vendor/k8s.io/component-base/logs/json/json.go
View file @
d8425402
...
@@ -150,6 +150,7 @@ var encoderConfig = zapcore.EncoderConfig{
...
@@ -150,6 +150,7 @@ var encoderConfig = zapcore.EncoderConfig{
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 @
d8425402
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"19"
gitMinor
=
"19"
gitVersion
=
"v1.19.1
0
-k3s1"
gitVersion
=
"v1.19.1
1
-k3s1"
gitCommit
=
"
bea386a02dc87090aa113557a249cf69c52281fa
"
gitCommit
=
"
4230b2ac644cf72064bf7cacdf2ffa13292b3c1f
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"2021-0
4-15T18:19:54
Z"
buildDate
=
"2021-0
5-14T11:17:50
Z"
)
)
vendor/k8s.io/csi-translation-lib/plugins/aws_ebs.go
View file @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -163,7 +163,7 @@ func backwardCompatibleAccessModes(ams []v1.PersistentVolumeAccessMode) []v1.Per
...
@@ -163,7 +163,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 @
d8425402
...
@@ -37,7 +37,8 @@ type InTreePlugin interface {
...
@@ -37,7 +37,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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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/kubernetes/cmd/kube-proxy/app/server_others.go
View file @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -4219,7 +4219,7 @@ func ValidateService(service *core.Service, allowAppProtocol bool) field.ErrorLi
...
@@ -4219,7 +4219,7 @@ func ValidateService(service *core.Service, allowAppProtocol bool) field.ErrorLi
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
)
...
)
}
}
}
}
...
@@ -5687,15 +5687,19 @@ func validateEndpointAddress(address *core.EndpointAddress, fldPath *field.Path)
...
@@ -5687,15 +5687,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 @
d8425402
...
@@ -103,8 +103,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
...
@@ -103,8 +103,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
}
}
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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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
)))
// 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
(
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 @
d8425402
...
@@ -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/kubelet.go
View file @
d8425402
...
@@ -125,9 +125,6 @@ const (
...
@@ -125,9 +125,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
...
@@ -246,7 +243,7 @@ type DockerOptions struct {
...
@@ -246,7 +243,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,11 +270,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
...
@@ -273,11 +270,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
var
updatechannel
chan
<-
interface
{}
var
updatechannel
chan
<-
interface
{}
if
kubeDeps
.
KubeClient
!=
nil
{
if
kubeDeps
.
KubeClient
!=
nil
{
klog
.
Info
f
(
"Watching apiserver
"
)
klog
.
Info
(
"Adding apiserver pod source
"
)
if
updatechannel
==
nil
{
if
updatechannel
==
nil
{
updatechannel
=
cfg
.
Channel
(
kubetypes
.
ApiserverSource
)
updatechannel
=
cfg
.
Channel
(
kubetypes
.
ApiserverSource
)
}
}
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
updatechannel
)
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
nodeHasSynced
,
updatechannel
)
}
}
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"
)
}
// TODO: get the real node object of ourself,
// TODO: get the real node object of ourself,
// and use the real node name and UID.
// and use the real node name and UID.
// TODO: what is namespace for node?
// TODO: what is namespace for node?
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
View file @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -563,7 +563,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
...
@@ -563,7 +563,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
}
}
...
@@ -605,7 +605,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
...
@@ -605,7 +605,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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -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 @
d8425402
...
@@ -59,7 +59,7 @@ type InTreeToCSITranslator interface {
...
@@ -59,7 +59,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 @
d8425402
...
@@ -273,6 +273,9 @@ func (az *Cloud) ListLB(service *v1.Service) ([]network.LoadBalancer, error) {
...
@@ -273,6 +273,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
()
...
@@ -288,6 +291,9 @@ func (az *Cloud) ListPIP(service *v1.Service, pipResourceGroup string) ([]networ
...
@@ -288,6 +291,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/modules.txt
View file @
d8425402
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