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
8359ad21
Unverified
Commit
8359ad21
authored
May 14, 2021
by
Erik Wilson
Committed by
GitHub
May 14, 2021
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3330 from erikwilson/v1.19.11-k3s1
Update Kubernetes to v1.19.11-k3s1
parents
584ed26f
54dded07
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
232 additions
and
136 deletions
+232
-136
.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
+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
+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
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
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.
.drone.yml
View file @
8359ad21
...
...
@@ -190,7 +190,6 @@ steps:
environment
:
GCLOUD_AUTH
:
from_secret
:
gcloud_auth
GOLANG
:
golang:1.16.2-alpine3.12
commands
:
-
dapper ci
-
echo "${DRONE_TAG}-arm" | sed -e 's/+/-/g' >.tags
...
...
Dockerfile.dapper
View file @
8359ad21
ARG GOLANG=golang:1.15.
8
-alpine3.12
ARG GOLANG=golang:1.15.
12
-alpine3.12
FROM ${GOLANG}
ARG http_proxy=$http_proxy
...
...
Dockerfile.manifest
View file @
8359ad21
ARG GOLANG=golang:1.15.
8
-alpine3.12
ARG GOLANG=golang:1.15.
12
-alpine3.12
FROM ${GOLANG}
COPY --from=plugins/manifest:1.2.3 /bin/* /bin/
...
...
Dockerfile.test.dapper
View file @
8359ad21
ARG GOLANG=golang:1.15.
8
-alpine3.12
ARG GOLANG=golang:1.15.
12
-alpine3.12
FROM ${GOLANG}
RUN apk -U --no-cache add bash git gcc musl-dev docker curl jq coreutils python2 openssl
...
...
Dockerfile.test.mod.dapper
View file @
8359ad21
ARG GOLANG=golang:1.1
6.
2-alpine3.12
ARG GOLANG=golang:1.1
5.1
2-alpine3.12
FROM ${GOLANG}
RUN apk -U --no-cache add bash jq
...
...
go.mod
View file @
8359ad21
...
...
@@ -33,31 +33,31 @@ replace (
google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63
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
k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.19.1
0
-k3s1
k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.19.1
0
-k3s1
k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.19.1
0
-k3s1
k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.19.1
0
-k3s1
k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.19.1
0
-k3s1
k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.19.1
0
-k3s1
k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.19.1
0
-k3s1
k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.19.1
0
-k3s1
k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.19.1
0
-k3s1
k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.19.1
0
-k3s1
k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api 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
0
-k3s1
k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator 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
0
-k3s1
k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.19.1
0
-k3s1
k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.19.1
0
-k3s1
k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.19.1
0
-k3s1
k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.19.1
0
-k3s1
k8s.io/kubernetes => github.com/k3s-io/kubernetes 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
0
-k3s1
k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.19.1
0
-k3s1
k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.19.1
0
-k3s1
k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver 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
0
-k3s1
k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller 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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
1
-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
)
...
...
@@ -107,14 +107,14 @@ require (
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3
google.golang.org/grpc v1.31.1
gopkg.in/yaml.v2 v2.3.0
k8s.io/api v0.19.
0
k8s.io/apimachinery v0.19.
0
k8s.io/apiserver v0.19.
0
k8s.io/api v0.19.
11
k8s.io/apimachinery v0.19.
11
k8s.io/apiserver v0.19.
11
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/cloud-provider v0.
0.0
k8s.io/component-base v0.19.
0
k8s.io/cri-api v0.19.
0
k8s.io/cloud-provider v0.
19.11
k8s.io/component-base v0.19.
11
k8s.io/cri-api v0.19.
11
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
)
go.sum
View file @
8359ad21
This diff is collapsed.
Click to expand it.
vendor/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go
View file @
8359ad21
...
...
@@ -166,7 +166,7 @@ func (m *Quantity) Unmarshal(data []byte) error {
if
err
!=
nil
{
return
err
}
if
skippy
<
0
{
if
(
skippy
<
0
)
||
(
iNdEx
+
skippy
)
<
0
{
return
ErrInvalidLengthGenerated
}
if
(
iNdEx
+
skippy
)
>
l
{
...
...
vendor/k8s.io/apimachinery/pkg/util/httpstream/httpstream.go
View file @
8359ad21
...
...
@@ -78,6 +78,8 @@ type Connection interface {
// SetIdleTimeout sets the amount of time the connection may remain idle before
// it is automatically closed.
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
...
...
vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go
View file @
8359ad21
...
...
@@ -31,7 +31,7 @@ import (
// streams.
type
connection
struct
{
conn
*
spdystream
.
Connection
streams
[
]
httpstream
.
Stream
streams
map
[
uint32
]
httpstream
.
Stream
streamLock
sync
.
Mutex
newStreamHandler
httpstream
.
NewStreamHandler
}
...
...
@@ -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
// client.
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
)
return
c
}
...
...
@@ -81,7 +85,7 @@ func (c *connection) Close() error {
// calling Reset instead of Close ensures that all streams are fully torn down
s
.
Reset
()
}
c
.
streams
=
make
(
[
]
httpstream
.
Stream
,
0
)
c
.
streams
=
make
(
map
[
uint32
]
httpstream
.
Stream
,
0
)
c
.
streamLock
.
Unlock
()
// 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 {
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
// it with the connection.
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.
func
(
c
*
connection
)
registerStream
(
s
httpstream
.
Stream
)
{
c
.
streamLock
.
Lock
()
c
.
streams
=
append
(
c
.
streams
,
s
)
c
.
streams
[
s
.
Identifier
()]
=
s
c
.
streamLock
.
Unlock
()
}
...
...
vendor/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap/default.go
View file @
8359ad21
...
...
@@ -64,6 +64,7 @@ var (
}
SuggestedFlowSchemas
=
[]
*
flowcontrol
.
FlowSchema
{
SuggestedFlowSchemaSystemNodes
,
// references "system" priority-level
SuggestedFlowSchemaProbes
,
// references "exempt" priority-level
SuggestedFlowSchemaSystemLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaWorkloadLeaderElection
,
// references "leader-election" priority-level
SuggestedFlowSchemaKubeControllerManager
,
// references "workload-high" priority-level
...
...
@@ -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
{
...
...
vendor/k8s.io/client-go/pkg/version/base.go
View file @
8359ad21
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"19"
gitVersion
=
"v1.19.1
0
-k3s1"
gitCommit
=
"
bea386a02dc87090aa113557a249cf69c52281fa
"
gitVersion
=
"v1.19.1
1
-k3s1"
gitCommit
=
"
4230b2ac644cf72064bf7cacdf2ffa13292b3c1f
"
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 @
8359ad21
...
...
@@ -148,8 +148,9 @@ func (l *zapLogger) WithName(name string) logr.Logger {
var
encoderConfig
=
zapcore
.
EncoderConfig
{
MessageKey
:
"msg"
,
TimeKey
:
"ts"
,
EncodeTime
:
zapcore
.
EpochMillisTimeEncoder
,
TimeKey
:
"ts"
,
EncodeTime
:
zapcore
.
EpochMillisTimeEncoder
,
EncodeDuration
:
zapcore
.
StringDurationEncoder
,
}
// NewJSONLogger creates a new json logr.Logger using the given Zap Logger to log.
...
...
vendor/k8s.io/component-base/version/base.go
View file @
8359ad21
...
...
@@ -3,8 +3,8 @@ package version
var
(
gitMajor
=
"1"
gitMinor
=
"19"
gitVersion
=
"v1.19.1
0
-k3s1"
gitCommit
=
"
bea386a02dc87090aa113557a249cf69c52281fa
"
gitVersion
=
"v1.19.1
1
-k3s1"
gitCommit
=
"
4230b2ac644cf72064bf7cacdf2ffa13292b3c1f
"
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 @
8359ad21
...
...
@@ -85,7 +85,7 @@ func (t *awsElasticBlockStoreCSITranslator) TranslateInTreeStorageClassToCSI(sc
// TranslateInTreeInlineVolumeToCSI takes a Volume with AWSElasticBlockStore set from in-tree
// 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
{
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 @
8359ad21
...
...
@@ -93,7 +93,7 @@ func (t *azureDiskCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureDisk set from in-tree
// 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
{
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 @
8359ad21
...
...
@@ -65,7 +65,7 @@ func (t *azureFileCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.St
// TranslateInTreeInlineVolumeToCSI takes a Volume with AzureFile set from in-tree
// 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
{
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
accountName
=
azureSource
.
SecretName
}
secretNamespace
:=
defaultSecretNamespace
if
podNamespace
!=
""
{
secretNamespace
=
podNamespace
}
var
(
pv
=
&
v1
.
PersistentVolume
{
ObjectMeta
:
metav1
.
ObjectMeta
{
...
...
@@ -93,7 +98,7 @@ func (t *azureFileCSITranslator) TranslateInTreeInlineVolumeToCSI(volume *v1.Vol
VolumeAttributes
:
map
[
string
]
string
{
shareNameField
:
azureSource
.
ShareName
},
NodeStageSecretRef
:
&
v1
.
SecretReference
{
Name
:
azureSource
.
SecretName
,
Namespace
:
defaultS
ecretNamespace
,
Namespace
:
s
ecretNamespace
,
},
},
},
...
...
vendor/k8s.io/csi-translation-lib/plugins/gce_pd.go
View file @
8359ad21
...
...
@@ -163,7 +163,7 @@ func backwardCompatibleAccessModes(ams []v1.PersistentVolumeAccessMode) []v1.Per
// TranslateInTreeInlineVolumeToCSI takes a Volume with GCEPersistentDisk set from in-tree
// 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
{
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 @
8359ad21
...
...
@@ -37,7 +37,8 @@ type InTreePlugin interface {
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// the in-tree inline volume source to a CSIPersistentVolumeSource
// 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
// 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 @
8359ad21
...
...
@@ -75,7 +75,7 @@ func (t *osCinderCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Sto
// TranslateInTreeInlineVolumeToCSI takes a Volume with Cinder set from in-tree
// 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
{
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 @
8359ad21
...
...
@@ -111,7 +111,7 @@ func (t *vSphereCSITranslator) TranslateInTreeStorageClassToCSI(sc *storage.Stor
// TranslateInTreeInlineVolumeToCSI takes a Volume with VsphereVolume set from in-tree
// 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
{
return
nil
,
fmt
.
Errorf
(
"volume is nil or VsphereVolume not defined on volume"
)
}
...
...
vendor/k8s.io/csi-translation-lib/translate.go
View file @
8359ad21
...
...
@@ -62,13 +62,13 @@ func (CSITranslator) TranslateInTreeStorageClassToCSI(inTreePluginName string, s
// TranslateInTreeInlineVolumeToCSI takes a inline volume and will translate
// the in-tree volume source to a CSIPersistentVolumeSource (wrapped in a PV)
// 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
{
return
nil
,
fmt
.
Errorf
(
"persistent volume was nil"
)
}
for
_
,
curPlugin
:=
range
inTreePlugins
{
if
curPlugin
.
CanSupportInline
(
volume
)
{
pv
,
err
:=
curPlugin
.
TranslateInTreeInlineVolumeToCSI
(
volume
)
pv
,
err
:=
curPlugin
.
TranslateInTreeInlineVolumeToCSI
(
volume
,
podNamespace
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_others.go
View file @
8359ad21
...
...
@@ -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
if
!
libcontainersystem
.
RunningInUserNS
()
{
// if we are in userns, sysctl does not work and connTracker should be kept nil
...
...
@@ -386,7 +392,7 @@ func newProxyServer(
OOMScoreAdj
:
config
.
OOMScoreAdj
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
HealthzServer
:
healthzServer
,
UseEndpointSlices
:
u
tilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
EndpointSliceProxying
)
,
UseEndpointSlices
:
u
seEndpointSlices
,
},
nil
}
...
...
vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server_windows.go
View file @
8359ad21
...
...
@@ -159,7 +159,11 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
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
{
Client
:
client
,
EventClient
:
eventClient
,
...
...
@@ -174,7 +178,7 @@ func newProxyServer(config *proxyconfigapi.KubeProxyConfiguration, cleanupAndExi
OOMScoreAdj
:
config
.
OOMScoreAdj
,
ConfigSyncPeriod
:
config
.
ConfigSyncPeriod
.
Duration
,
HealthzServer
:
healthzServer
,
UseEndpointSlices
:
u
tilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
WindowsEndpointSliceProxying
)
,
UseEndpointSlices
:
u
seEndpointSlices
,
},
nil
}
...
...
vendor/k8s.io/kubernetes/pkg/apis/core/validation/validation.go
View file @
8359ad21
...
...
@@ -4219,7 +4219,7 @@ func ValidateService(service *core.Service, allowAppProtocol bool) field.ErrorLi
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
idxPath
,
ip
,
msgs
[
i
]))
}
}
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)
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
}
func
validateNonSpecialIP
(
ipAddress
string
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
// We disallow some IPs as endpoints or external-ips. Specifically,
// unspecified and loopback addresses are nonsensical and link-local
// addresses tend to be used for node-centric purposes (e.g. metadata
// service).
// ValidateNonSpecialIP is used to validate Endpoints, EndpointSlices, and
// external IPs. Specifically, this disallows unspecified and loopback addresses
// are nonsensical and link-local addresses tend to be used for node-centric
// purposes (e.g. metadata 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
{}
ip
:=
net
.
ParseIP
(
ipAddress
)
if
ip
==
nil
{
...
...
vendor/k8s.io/kubernetes/pkg/apis/discovery/validation/validation.go
View file @
8359ad21
...
...
@@ -103,8 +103,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
}
case
discovery
.
AddressTypeIPv4
:
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv4Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
apivalidation
.
ValidateNonSpecialIP
(
address
,
addressPath
.
Index
(
i
))
...
)
case
discovery
.
AddressTypeIPv6
:
allErrs
=
append
(
allErrs
,
validation
.
IsValidIPv6Address
(
addressPath
.
Index
(
i
),
address
)
...
)
allErrs
=
append
(
allErrs
,
apivalidation
.
ValidateNonSpecialIP
(
address
,
addressPath
.
Index
(
i
))
...
)
case
discovery
.
AddressTypeFQDN
:
allErrs
=
append
(
allErrs
,
validation
.
IsFullyQualifiedDomainName
(
addressPath
.
Index
(
i
),
address
)
...
)
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/endpointslice/endpointslice_tracker.go
View file @
8359ad21
...
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
return
!
ok
||
endpointSlice
.
Generation
>
g
}
// StaleSlices returns true if one or more of the provided EndpointSlices
// have older generations than the corresponding tracked ones or if the tracker
// is expecting one or more of the provided EndpointSlices to be deleted.
// StaleSlices returns true if any of the following are true:
// 1. One or more of the provided EndpointSlices have older generations than the
// 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
{
est
.
lock
.
Lock
()
defer
est
.
lock
.
Unlock
()
...
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
if
!
ok
{
return
false
}
providedSlices
:=
map
[
types
.
UID
]
int64
{}
for
_
,
endpointSlice
:=
range
endpointSlices
{
providedSlices
[
endpointSlice
.
UID
]
=
endpointSlice
.
Generation
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
return
true
}
}
for
uid
,
generation
:=
range
gfs
{
if
generation
==
deletionExpected
{
continue
}
_
,
ok
:=
providedSlices
[
uid
]
if
!
ok
{
return
true
}
}
return
false
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/endpointslicemirroring/endpointslice_tracker.go
View file @
8359ad21
...
...
@@ -80,9 +80,12 @@ func (est *endpointSliceTracker) ShouldSync(endpointSlice *discovery.EndpointSli
return
!
ok
||
endpointSlice
.
Generation
>
g
}
// StaleSlices returns true if one or more of the provided EndpointSlices
// have older generations than the corresponding tracked ones or if the tracker
// is expecting one or more of the provided EndpointSlices to be deleted.
// StaleSlices returns true if any of the following are true:
// 1. One or more of the provided EndpointSlices have older generations than the
// 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
{
est
.
lock
.
Lock
()
defer
est
.
lock
.
Unlock
()
...
...
@@ -92,12 +95,23 @@ func (est *endpointSliceTracker) StaleSlices(service *v1.Service, endpointSlices
if
!
ok
{
return
false
}
providedSlices
:=
map
[
types
.
UID
]
int64
{}
for
_
,
endpointSlice
:=
range
endpointSlices
{
providedSlices
[
endpointSlice
.
UID
]
=
endpointSlice
.
Generation
g
,
ok
:=
gfs
[
endpointSlice
.
UID
]
if
ok
&&
(
g
==
deletionExpected
||
g
>
endpointSlice
.
Generation
)
{
return
true
}
}
for
uid
,
generation
:=
range
gfs
{
if
generation
==
deletionExpected
{
continue
}
_
,
ok
:=
providedSlices
[
uid
]
if
!
ok
{
return
true
}
}
return
false
}
...
...
vendor/k8s.io/kubernetes/pkg/controller/volume/attachdetach/util/util.go
View file @
8359ad21
...
...
@@ -21,7 +21,7 @@ import (
"fmt"
"strings"
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
...
...
@@ -85,7 +85,7 @@ func CreateVolumeSpec(podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName,
err
)
}
volumeSpec
,
err
=
translateInTreeSpecToCSIIfNeeded
(
volumeSpec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
)
volumeSpec
,
err
=
translateInTreeSpecToCSIIfNeeded
(
volumeSpec
,
nodeName
,
vpm
,
csiMigratedPluginManager
,
csiTranslator
,
pod
.
Namespace
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"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,
clonedPodVolume
:=
podVolume
.
DeepCopy
()
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
{
return
nil
,
fmt
.
Errorf
(
"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
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
migratable
,
err
:=
csiMigratedPluginManager
.
IsMigratable
(
spec
)
if
err
!=
nil
{
...
...
@@ -301,7 +301,7 @@ func translateInTreeSpecToCSIIfNeeded(spec *volume.Spec, nodeName types.NodeName
return
nil
,
err
}
if
migratable
&&
migrationSupportedOnNode
{
translatedSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
csiTranslator
)
translatedSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
podNamespace
,
csiTranslator
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/config/apiserver.go
View file @
8359ad21
...
...
@@ -17,21 +17,42 @@ limitations under the License.
package
config
import
(
"k8s.io/api/core/v1"
"time"
v1
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait"
clientset
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache"
"k8s.io/klog/v2"
api
"k8s.io/kubernetes/pkg/apis/core"
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.
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
)))
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.
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/cri/streaming/portforward/httpstream.go
View file @
8359ad21
...
...
@@ -163,6 +163,10 @@ func (h *httpStreamHandler) removeStreamPair(requestID string) {
h
.
streamPairsLock
.
Lock
()
defer
h
.
streamPairsLock
.
Unlock
()
if
h
.
conn
!=
nil
{
pair
:=
h
.
streamPairs
[
requestID
]
h
.
conn
.
RemoveStreams
(
pair
.
dataStream
,
pair
.
errorStream
)
}
delete
(
h
.
streamPairs
,
requestID
)
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go
View file @
8359ad21
...
...
@@ -125,9 +125,6 @@ const (
// Max amount of time to wait for the container runtime to come up.
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
=
5
...
...
@@ -246,7 +243,7 @@ type DockerOptions struct {
// makePodSourceConfig creates a config.PodConfig from the given
// 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
)
if
len
(
kubeCfg
.
StaticPodURLHeader
)
>
0
{
for
k
,
v
:=
range
kubeCfg
.
StaticPodURLHeader
{
...
...
@@ -273,11 +270,11 @@ func makePodSourceConfig(kubeCfg *kubeletconfiginternal.KubeletConfiguration, ku
var
updatechannel
chan
<-
interface
{}
if
kubeDeps
.
KubeClient
!=
nil
{
klog
.
Info
f
(
"Watching apiserver
"
)
klog
.
Info
(
"Adding apiserver pod source
"
)
if
updatechannel
==
nil
{
updatechannel
=
cfg
.
Channel
(
kubetypes
.
ApiserverSource
)
}
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
updatechannel
)
config
.
NewSourceApiserver
(
kubeDeps
.
KubeClient
,
nodeName
,
nodeHasSynced
,
updatechannel
)
}
return
cfg
,
nil
}
...
...
@@ -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
{
var
err
error
kubeDeps
.
PodConfig
,
err
=
makePodSourceConfig
(
kubeCfg
,
kubeDeps
,
nodeName
)
kubeDeps
.
PodConfig
,
err
=
makePodSourceConfig
(
kubeCfg
,
kubeDeps
,
nodeName
,
nodeHasSynced
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -434,31 +454,6 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
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,
// and use the real node name and UID.
// TODO: what is namespace for node?
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
View file @
8359ad21
...
...
@@ -22,7 +22,6 @@ import (
"io/ioutil"
"net"
"path/filepath"
"time"
cadvisorapiv1
"github.com/google/cadvisor/info/v1"
cadvisorv2
"github.com/google/cadvisor/info/v2"
...
...
@@ -33,7 +32,6 @@ import (
v1
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/config"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
...
...
@@ -237,15 +235,6 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
if
kl
.
kubeClient
==
nil
{
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
))
}
...
...
@@ -256,7 +245,7 @@ func (kl *Kubelet) GetNode() (*v1.Node, error) {
// zero capacity, and the default labels.
func
(
kl
*
Kubelet
)
getNodeAnyWay
()
(
*
v1
.
Node
,
error
)
{
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
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/prober/worker.go
View file @
8359ad21
...
...
@@ -243,8 +243,9 @@ func (w *worker) doProbe() (keepGoing bool) {
if
c
.
Started
!=
nil
&&
*
c
.
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
{
return
fals
e
return
tru
e
}
}
else
{
// Disable other probes until container has started.
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go
View file @
8359ad21
...
...
@@ -563,7 +563,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
return
nil
,
nil
,
""
,
err
}
if
migratable
{
volumeSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
volumeSpec
,
dswp
.
intreeToCSITranslator
)
volumeSpec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
volumeSpec
,
pod
.
Namespace
,
dswp
.
intreeToCSITranslator
)
if
err
!=
nil
{
return
nil
,
nil
,
""
,
err
}
...
...
@@ -605,7 +605,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
return
nil
,
nil
,
""
,
err
}
if
migratable
{
spec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
dswp
.
intreeToCSITranslator
)
spec
,
err
=
csimigration
.
TranslateInTreeSpecToCSI
(
spec
,
pod
.
Namespace
,
dswp
.
intreeToCSITranslator
)
if
err
!=
nil
{
return
nil
,
nil
,
""
,
err
}
...
...
vendor/k8s.io/kubernetes/pkg/volume/azure_file/azure_provision.go
View file @
8359ad21
...
...
@@ -198,9 +198,10 @@ func (a *azureFileProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
}
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
)
shareName
=
strings
.
Replace
(
name
,
"--"
,
"-"
,
-
1
)
shareName
=
strings
.
ToLower
(
shareName
)
}
if
resourceGroup
==
""
{
...
...
vendor/k8s.io/kubernetes/pkg/volume/csimigration/plugin_manager.go
View file @
8359ad21
...
...
@@ -120,19 +120,19 @@ func (pm PluginManager) IsMigratable(spec *volume.Spec) (bool, error) {
// from references to in-tree plugins to migrated CSI plugins
type
InTreeToCSITranslator
interface
{
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)
// 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
err
error
inlineVolume
:=
false
if
spec
.
PersistentVolume
!=
nil
{
csiPV
,
err
=
translator
.
TranslateInTreePVToCSI
(
spec
.
PersistentVolume
)
}
else
if
spec
.
Volume
!=
nil
{
csiPV
,
err
=
translator
.
TranslateInTreeInlineVolumeToCSI
(
spec
.
Volume
)
csiPV
,
err
=
translator
.
TranslateInTreeInlineVolumeToCSI
(
spec
.
Volume
,
podNamespace
)
inlineVolume
=
true
}
else
{
err
=
errors
.
New
(
"not a valid volume spec"
)
...
...
vendor/k8s.io/kubernetes/pkg/volume/util/operationexecutor/operation_generator.go
View file @
8359ad21
...
...
@@ -59,7 +59,7 @@ type InTreeToCSITranslator interface {
GetInTreePluginNameFromSpec
(
pv
*
v1
.
PersistentVolume
,
vol
*
v1
.
Volume
)
(
string
,
error
)
GetCSINameFromInTreeName
(
pluginName
string
)
(
string
,
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
{}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go
View file @
8359ad21
...
...
@@ -273,6 +273,9 @@ func (az *Cloud) ListLB(service *v1.Service) ([]network.LoadBalancer, error) {
rgName
:=
az
.
getLoadBalancerResourceGroup
()
allLBs
,
rerr
:=
az
.
LoadBalancerClient
.
List
(
ctx
,
rgName
)
if
rerr
!=
nil
{
if
rerr
.
IsNotFound
()
{
return
nil
,
nil
}
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListLoadBalancers"
,
rerr
.
Error
()
.
Error
())
klog
.
Errorf
(
"LoadBalancerClient.List(%v) failure with err=%v"
,
rgName
,
rerr
)
return
nil
,
rerr
.
Error
()
...
...
@@ -288,6 +291,9 @@ func (az *Cloud) ListPIP(service *v1.Service, pipResourceGroup string) ([]networ
allPIPs
,
rerr
:=
az
.
PublicIPAddressesClient
.
List
(
ctx
,
pipResourceGroup
)
if
rerr
!=
nil
{
if
rerr
.
IsNotFound
()
{
return
nil
,
nil
}
az
.
Event
(
service
,
v1
.
EventTypeWarning
,
"ListPublicIPs"
,
rerr
.
Error
()
.
Error
())
klog
.
Errorf
(
"PublicIPAddressesClient.List(%v) failure with err=%v"
,
pipResourceGroup
,
rerr
)
return
nil
,
rerr
.
Error
()
...
...
vendor/modules.txt
View file @
8359ad21
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