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
4c08a74b
Unverified
Commit
4c08a74b
authored
Jan 20, 2020
by
Erik Wilson
Committed by
GitHub
Jan 20, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1300 from galal-hussein/k3s-1.17
Update k8s to v1.17.1
parents
7305b409
9372050c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
273 additions
and
196 deletions
+273
-196
go.mod
go.mod
+25
-25
go.sum
go.sum
+0
-0
discovery_client.go
vendor/k8s.io/client-go/discovery/discovery_client.go
+7
-0
base.go
vendor/k8s.io/client-go/pkg/version/base.go
+3
-3
BUILD
vendor/k8s.io/client-go/tools/cache/BUILD
+0
-1
reflector.go
vendor/k8s.io/client-go/tools/cache/reflector.go
+9
-62
conversion.go
vendor/k8s.io/client-go/tools/clientcmd/api/v1/conversion.go
+12
-0
base.go
vendor/k8s.io/component-base/version/base.go
+3
-3
daemon_controller.go
....io/kubernetes/pkg/controller/daemon/daemon_controller.go
+0
-10
job_controller.go
...or/k8s.io/kubernetes/pkg/controller/job/job_controller.go
+0
-10
replica_set.go
...8s.io/kubernetes/pkg/controller/replicaset/replica_set.go
+0
-10
BUILD
vendor/k8s.io/kubernetes/pkg/kubelet/cm/BUILD
+0
-2
container_manager_linux.go
...s.io/kubernetes/pkg/kubelet/cm/container_manager_linux.go
+1
-6
kubelet_getters.go
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
+6
-2
status_manager.go
...or/k8s.io/kubernetes/pkg/kubelet/status/status_manager.go
+2
-2
BUILD
...io/kubernetes/pkg/registry/core/service/ipallocator/BUILD
+0
-2
allocator.go
...rnetes/pkg/registry/core/service/ipallocator/allocator.go
+48
-11
BUILD
vendor/k8s.io/kubernetes/pkg/util/pod/BUILD
+2
-0
pod.go
vendor/k8s.io/kubernetes/pkg/util/pod/pod.go
+7
-5
azure_common_linux.go
...s.io/kubernetes/pkg/volume/azure_dd/azure_common_linux.go
+12
-9
subpath_linux.go
...8s.io/kubernetes/pkg/volume/util/subpath/subpath_linux.go
+2
-1
azure_auth.go
...or/k8s.io/legacy-cloud-providers/azure/auth/azure_auth.go
+1
-1
azure_controller_standard.go
...legacy-cloud-providers/azure/azure_controller_standard.go
+9
-0
azure_controller_vmss.go
....io/legacy-cloud-providers/azure/azure_controller_vmss.go
+9
-0
azure_loadbalancer.go
...k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
+1
-1
azure_standard.go
vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go
+1
-1
azure_vmss.go
vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go
+45
-2
azure_vmss_cache.go
...r/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go
+40
-3
gce_fake.go
vendor/k8s.io/legacy-cloud-providers/gce/gce_fake.go
+5
-1
vsphere.go
vendor/k8s.io/legacy-cloud-providers/vsphere/vsphere.go
+2
-2
modules.txt
vendor/modules.txt
+21
-21
No files found.
go.mod
View file @
4c08a74b
...
@@ -31,31 +31,31 @@ replace (
...
@@ -31,31 +31,31 @@ replace (
github.com/prometheus/client_model => github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
github.com/prometheus/client_model => github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
github.com/prometheus/common => github.com/prometheus/common v0.0.0-20181126121408-4724e9255275
github.com/prometheus/common => github.com/prometheus/common v0.0.0-20181126121408-4724e9255275
github.com/prometheus/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a
github.com/prometheus/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.17.
0
-k3s.1
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.17.
1
-k3s.1
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.
0
-k3s.1
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.
1
-k3s.1
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.17.
0
-k3s.1
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.17.
1
-k3s.1
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.17.
0
-k3s.1
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.17.
1
-k3s.1
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.17.
0
-k3s.1
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.17.
1
-k3s.1
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.17.
0
-k3s.1
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.17.
1
-k3s.1
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.17.
0
-k3s.1
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.17.
1
-k3s.1
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.
0
-k3s.1
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.
1
-k3s.1
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.17.
0
-k3s.1
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.17.
1
-k3s.1
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.17.
0
-k3s.1
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.17.
1
-k3s.1
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.17.
0
-k3s.1
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.17.
1
-k3s.1
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.
0
-k3s.1
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.
1
-k3s.1
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.
0
-k3s.1
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.
1
-k3s.1
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.
0
-k3s.1
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.
1
-k3s.1
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.17.
0
-k3s.1
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.17.
1
-k3s.1
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.
0
-k3s.1
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.
1
-k3s.1
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.17.
0
-k3s.1
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.17.
1
-k3s.1
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.17.
0
-k3s.1
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.17.
1
-k3s.1
k8s.io/kubernetes => github.com/rancher/kubernetes v1.17.
0
-k3s.1
k8s.io/kubernetes => github.com/rancher/kubernetes v1.17.
1
-k3s.1
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.
0
-k3s.1
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.
1
-k3s.1
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.17.
0
-k3s.1
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.17.
1
-k3s.1
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.17.
0
-k3s.1
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.17.
1
-k3s.1
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.
0
-k3s.1
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.
1
-k3s.1
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.17.
0
-k3s.1
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.17.
1
-k3s.1
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.17.
0
-k3s.1
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.17.
1
-k3s.1
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
)
)
...
...
go.sum
View file @
4c08a74b
This diff is collapsed.
Click to expand it.
vendor/k8s.io/client-go/discovery/discovery_client.go
View file @
4c08a74b
...
@@ -463,6 +463,13 @@ func setDiscoveryDefaults(config *restclient.Config) error {
...
@@ -463,6 +463,13 @@ func setDiscoveryDefaults(config *restclient.Config) error {
if
config
.
Timeout
==
0
{
if
config
.
Timeout
==
0
{
config
.
Timeout
=
defaultTimeout
config
.
Timeout
=
defaultTimeout
}
}
if
config
.
Burst
==
0
&&
config
.
QPS
<
100
{
// discovery is expected to be bursty, increase the default burst
// to accommodate looking up resource info for many API groups.
// matches burst set by ConfigFlags#ToDiscoveryClient().
// see https://issue.k8s.io/86149
config
.
Burst
=
100
}
codec
:=
runtime
.
NoopEncoder
{
Decoder
:
scheme
.
Codecs
.
UniversalDecoder
()}
codec
:=
runtime
.
NoopEncoder
{
Decoder
:
scheme
.
Codecs
.
UniversalDecoder
()}
config
.
NegotiatedSerializer
=
serializer
.
NegotiatedSerializerWrapper
(
runtime
.
SerializerInfo
{
Serializer
:
codec
})
config
.
NegotiatedSerializer
=
serializer
.
NegotiatedSerializerWrapper
(
runtime
.
SerializerInfo
{
Serializer
:
codec
})
if
len
(
config
.
UserAgent
)
==
0
{
if
len
(
config
.
UserAgent
)
==
0
{
...
...
vendor/k8s.io/client-go/pkg/version/base.go
View file @
4c08a74b
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"17"
gitMinor
=
"17"
gitVersion
=
"v1.17.
0
-k3s.1"
gitVersion
=
"v1.17.
1
-k3s.1"
gitCommit
=
"
dacbba10ba597c72898e0ee747f9a855ab093bc9
"
gitCommit
=
"
c33b87d04b01f05ee53569e2807a7c85bb8a0ddc
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"20
19-12-11T20:03:48
Z"
buildDate
=
"20
20-01-15T17:03:01
Z"
)
)
vendor/k8s.io/client-go/tools/cache/BUILD
View file @
4c08a74b
...
@@ -28,7 +28,6 @@ go_test(
...
@@ -28,7 +28,6 @@ go_test(
race = "off",
race = "off",
deps = [
deps = [
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
...
...
vendor/k8s.io/client-go/tools/cache/reflector.go
View file @
4c08a74b
...
@@ -74,9 +74,6 @@ type Reflector struct {
...
@@ -74,9 +74,6 @@ type Reflector struct {
// observed when doing a sync with the underlying store
// observed when doing a sync with the underlying store
// it is thread safe, but not synchronized with the underlying store
// it is thread safe, but not synchronized with the underlying store
lastSyncResourceVersion
string
lastSyncResourceVersion
string
// isLastSyncResourceVersionGone is true if the previous list or watch request with lastSyncResourceVersion
// failed with an HTTP 410 (Gone) status code.
isLastSyncResourceVersionGone
bool
// lastSyncResourceVersionMutex guards read/write access to lastSyncResourceVersion
// lastSyncResourceVersionMutex guards read/write access to lastSyncResourceVersion
lastSyncResourceVersionMutex
sync
.
RWMutex
lastSyncResourceVersionMutex
sync
.
RWMutex
// WatchListPageSize is the requested chunk size of initial and resync watch lists.
// WatchListPageSize is the requested chunk size of initial and resync watch lists.
...
@@ -188,7 +185,10 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
...
@@ -188,7 +185,10 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
klog
.
V
(
3
)
.
Infof
(
"Listing and watching %v from %s"
,
r
.
expectedTypeName
,
r
.
name
)
klog
.
V
(
3
)
.
Infof
(
"Listing and watching %v from %s"
,
r
.
expectedTypeName
,
r
.
name
)
var
resourceVersion
string
var
resourceVersion
string
options
:=
metav1
.
ListOptions
{
ResourceVersion
:
r
.
relistResourceVersion
()}
// Explicitly set "0" as resource version - it's fine for the List()
// to be served from cache and potentially be delayed relative to
// etcd contents. Reflector framework will catch up via Watch() eventually.
options
:=
metav1
.
ListOptions
{
ResourceVersion
:
"0"
}
if
err
:=
func
()
error
{
if
err
:=
func
()
error
{
initTrace
:=
trace
.
New
(
"Reflector ListAndWatch"
,
trace
.
Field
{
"name"
,
r
.
name
})
initTrace
:=
trace
.
New
(
"Reflector ListAndWatch"
,
trace
.
Field
{
"name"
,
r
.
name
})
...
@@ -211,17 +211,8 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
...
@@ -211,17 +211,8 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
if
r
.
WatchListPageSize
!=
0
{
if
r
.
WatchListPageSize
!=
0
{
pager
.
PageSize
=
r
.
WatchListPageSize
pager
.
PageSize
=
r
.
WatchListPageSize
}
}
// Pager falls back to full list if paginated list calls fail due to an "Expired" error.
list
,
err
=
pager
.
List
(
context
.
Background
(),
options
)
list
,
err
=
pager
.
List
(
context
.
Background
(),
options
)
if
isExpiredError
(
err
)
{
r
.
setIsLastSyncResourceVersionExpired
(
true
)
// Retry immediately if the resource version used to list is expired.
// The pager already falls back to full list if paginated list calls fail due to an "Expired" error on
// continuation pages, but the pager might not be enabled, or the full list might fail because the
// resource version it is listing at is expired, so we need to fallback to resourceVersion="" in all
// to recover and ensure the reflector makes forward progress.
list
,
err
=
pager
.
List
(
context
.
Background
(),
metav1
.
ListOptions
{
ResourceVersion
:
r
.
relistResourceVersion
()})
}
close
(
listCh
)
close
(
listCh
)
}()
}()
select
{
select
{
...
@@ -234,7 +225,6 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
...
@@ -234,7 +225,6 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"%s: Failed to list %v: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
return
fmt
.
Errorf
(
"%s: Failed to list %v: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
}
}
r
.
setIsLastSyncResourceVersionExpired
(
false
)
// list was successful
initTrace
.
Step
(
"Objects listed"
)
initTrace
.
Step
(
"Objects listed"
)
listMetaInterface
,
err
:=
meta
.
ListAccessor
(
list
)
listMetaInterface
,
err
:=
meta
.
ListAccessor
(
list
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -308,13 +298,10 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
...
@@ -308,13 +298,10 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
w
,
err
:=
r
.
listerWatcher
.
Watch
(
options
)
w
,
err
:=
r
.
listerWatcher
.
Watch
(
options
)
if
err
!=
nil
{
if
err
!=
nil
{
switch
{
switch
err
{
case
isExpiredError
(
err
)
:
case
io
.
EOF
:
r
.
setIsLastSyncResourceVersionExpired
(
true
)
klog
.
V
(
4
)
.
Infof
(
"%s: watch of %v closed with: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
case
err
==
io
.
EOF
:
// watch closed normally
// watch closed normally
case
err
==
io
.
ErrUnexpectedEOF
:
case
io
.
ErrUnexpectedEOF
:
klog
.
V
(
1
)
.
Infof
(
"%s: Watch for %v closed with unexpected EOF: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
klog
.
V
(
1
)
.
Infof
(
"%s: Watch for %v closed with unexpected EOF: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
default
:
default
:
utilruntime
.
HandleError
(
fmt
.
Errorf
(
"%s: Failed to watch %v: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
))
utilruntime
.
HandleError
(
fmt
.
Errorf
(
"%s: Failed to watch %v: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
))
...
@@ -333,8 +320,7 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
...
@@ -333,8 +320,7 @@ func (r *Reflector) ListAndWatch(stopCh <-chan struct{}) error {
if
err
:=
r
.
watchHandler
(
w
,
&
resourceVersion
,
resyncerrc
,
stopCh
);
err
!=
nil
{
if
err
:=
r
.
watchHandler
(
w
,
&
resourceVersion
,
resyncerrc
,
stopCh
);
err
!=
nil
{
if
err
!=
errorStopRequested
{
if
err
!=
errorStopRequested
{
switch
{
switch
{
case
isExpiredError
(
err
)
:
case
apierrs
.
IsResourceExpired
(
err
)
:
r
.
setIsLastSyncResourceVersionExpired
(
true
)
klog
.
V
(
4
)
.
Infof
(
"%s: watch of %v ended with: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
klog
.
V
(
4
)
.
Infof
(
"%s: watch of %v ended with: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
default
:
default
:
klog
.
Warningf
(
"%s: watch of %v ended with: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
klog
.
Warningf
(
"%s: watch of %v ended with: %v"
,
r
.
name
,
r
.
expectedTypeName
,
err
)
...
@@ -446,42 +432,3 @@ func (r *Reflector) setLastSyncResourceVersion(v string) {
...
@@ -446,42 +432,3 @@ func (r *Reflector) setLastSyncResourceVersion(v string) {
defer
r
.
lastSyncResourceVersionMutex
.
Unlock
()
defer
r
.
lastSyncResourceVersionMutex
.
Unlock
()
r
.
lastSyncResourceVersion
=
v
r
.
lastSyncResourceVersion
=
v
}
}
// relistResourceVersion determines the resource version the reflector should list or relist from.
// Returns either the lastSyncResourceVersion so that this reflector will relist with a resource
// versions no older than has already been observed in relist results or watch events, or, if the last relist resulted
// in an HTTP 410 (Gone) status code, returns "" so that the relist will use the latest resource version available in
// etcd via a quorum read.
func
(
r
*
Reflector
)
relistResourceVersion
()
string
{
r
.
lastSyncResourceVersionMutex
.
RLock
()
defer
r
.
lastSyncResourceVersionMutex
.
RUnlock
()
if
r
.
isLastSyncResourceVersionGone
{
// Since this reflector makes paginated list requests, and all paginated list requests skip the watch cache
// if the lastSyncResourceVersion is expired, we set ResourceVersion="" and list again to re-establish reflector
// to the latest available ResourceVersion, using a consistent read from etcd.
return
""
}
if
r
.
lastSyncResourceVersion
==
""
{
// For performance reasons, initial list performed by reflector uses "0" as resource version to allow it to
// be served from the watch cache if it is enabled.
return
"0"
}
return
r
.
lastSyncResourceVersion
}
// setIsLastSyncResourceVersionExpired sets if the last list or watch request with lastSyncResourceVersion returned a
// expired error: HTTP 410 (Gone) Status Code.
func
(
r
*
Reflector
)
setIsLastSyncResourceVersionExpired
(
isExpired
bool
)
{
r
.
lastSyncResourceVersionMutex
.
Lock
()
defer
r
.
lastSyncResourceVersionMutex
.
Unlock
()
r
.
isLastSyncResourceVersionGone
=
isExpired
}
func
isExpiredError
(
err
error
)
bool
{
// In Kubernetes 1.17 and earlier, the api server returns both apierrs.StatusReasonExpired and
// apierrs.StatusReasonGone for HTTP 410 (Gone) status code responses. In 1.18 the kube server is more consistent
// and always returns apierrs.StatusReasonExpired. For backward compatibility we can only remove the apierrs.IsGone
// check when we fully drop support for Kubernetes 1.17 servers from reflectors.
return
apierrs
.
IsResourceExpired
(
err
)
||
apierrs
.
IsGone
(
err
)
}
vendor/k8s.io/client-go/tools/clientcmd/api/v1/conversion.go
View file @
4c08a74b
...
@@ -31,6 +31,9 @@ func Convert_Slice_v1_NamedCluster_To_Map_string_To_Pointer_api_Cluster(in *[]Na
...
@@ -31,6 +31,9 @@ func Convert_Slice_v1_NamedCluster_To_Map_string_To_Pointer_api_Cluster(in *[]Na
if
err
:=
Convert_v1_Cluster_To_api_Cluster
(
&
curr
.
Cluster
,
newCluster
,
s
);
err
!=
nil
{
if
err
:=
Convert_v1_Cluster_To_api_Cluster
(
&
curr
.
Cluster
,
newCluster
,
s
);
err
!=
nil
{
return
err
return
err
}
}
if
*
out
==
nil
{
*
out
=
make
(
map
[
string
]
*
api
.
Cluster
)
}
if
(
*
out
)[
curr
.
Name
]
==
nil
{
if
(
*
out
)[
curr
.
Name
]
==
nil
{
(
*
out
)[
curr
.
Name
]
=
newCluster
(
*
out
)[
curr
.
Name
]
=
newCluster
}
else
{
}
else
{
...
@@ -65,6 +68,9 @@ func Convert_Slice_v1_NamedAuthInfo_To_Map_string_To_Pointer_api_AuthInfo(in *[]
...
@@ -65,6 +68,9 @@ func Convert_Slice_v1_NamedAuthInfo_To_Map_string_To_Pointer_api_AuthInfo(in *[]
if
err
:=
Convert_v1_AuthInfo_To_api_AuthInfo
(
&
curr
.
AuthInfo
,
newAuthInfo
,
s
);
err
!=
nil
{
if
err
:=
Convert_v1_AuthInfo_To_api_AuthInfo
(
&
curr
.
AuthInfo
,
newAuthInfo
,
s
);
err
!=
nil
{
return
err
return
err
}
}
if
*
out
==
nil
{
*
out
=
make
(
map
[
string
]
*
api
.
AuthInfo
)
}
if
(
*
out
)[
curr
.
Name
]
==
nil
{
if
(
*
out
)[
curr
.
Name
]
==
nil
{
(
*
out
)[
curr
.
Name
]
=
newAuthInfo
(
*
out
)[
curr
.
Name
]
=
newAuthInfo
}
else
{
}
else
{
...
@@ -99,6 +105,9 @@ func Convert_Slice_v1_NamedContext_To_Map_string_To_Pointer_api_Context(in *[]Na
...
@@ -99,6 +105,9 @@ func Convert_Slice_v1_NamedContext_To_Map_string_To_Pointer_api_Context(in *[]Na
if
err
:=
Convert_v1_Context_To_api_Context
(
&
curr
.
Context
,
newContext
,
s
);
err
!=
nil
{
if
err
:=
Convert_v1_Context_To_api_Context
(
&
curr
.
Context
,
newContext
,
s
);
err
!=
nil
{
return
err
return
err
}
}
if
*
out
==
nil
{
*
out
=
make
(
map
[
string
]
*
api
.
Context
)
}
if
(
*
out
)[
curr
.
Name
]
==
nil
{
if
(
*
out
)[
curr
.
Name
]
==
nil
{
(
*
out
)[
curr
.
Name
]
=
newContext
(
*
out
)[
curr
.
Name
]
=
newContext
}
else
{
}
else
{
...
@@ -133,6 +142,9 @@ func Convert_Slice_v1_NamedExtension_To_Map_string_To_runtime_Object(in *[]Named
...
@@ -133,6 +142,9 @@ func Convert_Slice_v1_NamedExtension_To_Map_string_To_runtime_Object(in *[]Named
if
err
:=
runtime
.
Convert_runtime_RawExtension_To_runtime_Object
(
&
curr
.
Extension
,
&
newExtension
,
s
);
err
!=
nil
{
if
err
:=
runtime
.
Convert_runtime_RawExtension_To_runtime_Object
(
&
curr
.
Extension
,
&
newExtension
,
s
);
err
!=
nil
{
return
err
return
err
}
}
if
*
out
==
nil
{
*
out
=
make
(
map
[
string
]
runtime
.
Object
)
}
if
(
*
out
)[
curr
.
Name
]
==
nil
{
if
(
*
out
)[
curr
.
Name
]
==
nil
{
(
*
out
)[
curr
.
Name
]
=
newExtension
(
*
out
)[
curr
.
Name
]
=
newExtension
}
else
{
}
else
{
...
...
vendor/k8s.io/component-base/version/base.go
View file @
4c08a74b
...
@@ -3,8 +3,8 @@ package version
...
@@ -3,8 +3,8 @@ package version
var
(
var
(
gitMajor
=
"1"
gitMajor
=
"1"
gitMinor
=
"17"
gitMinor
=
"17"
gitVersion
=
"v1.17.
0
-k3s.1"
gitVersion
=
"v1.17.
1
-k3s.1"
gitCommit
=
"
dacbba10ba597c72898e0ee747f9a855ab093bc9
"
gitCommit
=
"
c33b87d04b01f05ee53569e2807a7c85bb8a0ddc
"
gitTreeState
=
"clean"
gitTreeState
=
"clean"
buildDate
=
"20
19-12-11T20:03:48
Z"
buildDate
=
"20
20-01-15T17:03:01
Z"
)
)
vendor/k8s.io/kubernetes/pkg/controller/daemon/daemon_controller.go
View file @
4c08a74b
...
@@ -957,16 +957,6 @@ func (dsc *DaemonSetsController) syncNodes(ds *apps.DaemonSet, podsToDelete, nod
...
@@ -957,16 +957,6 @@ func (dsc *DaemonSetsController) syncNodes(ds *apps.DaemonSet, podsToDelete, nod
// this error since all subsequent creations will fail.
// this error since all subsequent creations will fail.
return
return
}
}
if
errors
.
IsTimeout
(
err
)
{
// Pod is created but its initialization has timed out.
// If the initialization is successful eventually, the
// controller will observe the creation via the informer.
// If the initialization fails, or if the pod keeps
// uninitialized for a long time, the informer will not
// receive any update, and the controller will create a new
// pod when the expectation expires.
return
}
}
}
if
err
!=
nil
{
if
err
!=
nil
{
klog
.
V
(
2
)
.
Infof
(
"Failed creation, decrementing expectations for set %q/%q"
,
ds
.
Namespace
,
ds
.
Name
)
klog
.
V
(
2
)
.
Infof
(
"Failed creation, decrementing expectations for set %q/%q"
,
ds
.
Namespace
,
ds
.
Name
)
...
...
vendor/k8s.io/kubernetes/pkg/controller/job/job_controller.go
View file @
4c08a74b
...
@@ -777,16 +777,6 @@ func (jm *JobController) manageJob(activePods []*v1.Pod, succeeded int32, job *b
...
@@ -777,16 +777,6 @@ func (jm *JobController) manageJob(activePods []*v1.Pod, succeeded int32, job *b
// this error since all subsequent creations will fail.
// this error since all subsequent creations will fail.
return
return
}
}
if
errors
.
IsTimeout
(
err
)
{
// Pod is created but its initialization has timed out.
// If the initialization is successful eventually, the
// controller will observe the creation via the informer.
// If the initialization fails, or if the pod keeps
// uninitialized for a long time, the informer will not
// receive any update, and the controller will create a new
// pod when the expectation expires.
return
}
}
}
if
err
!=
nil
{
if
err
!=
nil
{
defer
utilruntime
.
HandleError
(
err
)
defer
utilruntime
.
HandleError
(
err
)
...
...
vendor/k8s.io/kubernetes/pkg/controller/replicaset/replica_set.go
View file @
4c08a74b
...
@@ -575,16 +575,6 @@ func (rsc *ReplicaSetController) manageReplicas(filteredPods []*v1.Pod, rs *apps
...
@@ -575,16 +575,6 @@ func (rsc *ReplicaSetController) manageReplicas(filteredPods []*v1.Pod, rs *apps
// anything because any creation will fail
// anything because any creation will fail
return
nil
return
nil
}
}
if
errors
.
IsTimeout
(
err
)
{
// Pod is created but its initialization has timed out.
// If the initialization is successful eventually, the
// controller will observe the creation via the informer.
// If the initialization fails, or if the pod keeps
// uninitialized for a long time, the informer will not
// receive any update, and the controller will create a new
// pod when the expectation expires.
return
nil
}
}
}
return
err
return
err
})
})
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/cm/BUILD
View file @
4c08a74b
...
@@ -71,7 +71,6 @@ go_library(
...
@@ -71,7 +71,6 @@ go_library(
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/system:go_default_library",
"//vendor/k8s.io/utils/io:go_default_library",
"//vendor/k8s.io/utils/io:go_default_library",
"//vendor/k8s.io/utils/mount:go_default_library",
"//vendor/k8s.io/utils/mount:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
...
@@ -122,7 +121,6 @@ go_library(
...
@@ -122,7 +121,6 @@ go_library(
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
"//vendor/github.com/opencontainers/runc/libcontainer/system:go_default_library",
"//vendor/k8s.io/utils/io:go_default_library",
"//vendor/k8s.io/utils/io:go_default_library",
"//vendor/k8s.io/utils/mount:go_default_library",
"//vendor/k8s.io/utils/mount:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
"//vendor/k8s.io/utils/path:go_default_library",
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/cm/container_manager_linux.go
View file @
4c08a74b
...
@@ -32,7 +32,6 @@ import (
...
@@ -32,7 +32,6 @@ import (
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/cgroups"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/cgroups/fs"
"github.com/opencontainers/runc/libcontainer/configs"
"github.com/opencontainers/runc/libcontainer/configs"
libcontainersystem
"github.com/opencontainers/runc/libcontainer/system"
"k8s.io/klog"
"k8s.io/klog"
utilio
"k8s.io/utils/io"
utilio
"k8s.io/utils/io"
"k8s.io/utils/mount"
"k8s.io/utils/mount"
...
@@ -421,11 +420,7 @@ func setupKernelTunables(option KernelTunableBehavior) error {
...
@@ -421,11 +420,7 @@ func setupKernelTunables(option KernelTunableBehavior) error {
klog
.
V
(
2
)
.
Infof
(
"Updating kernel flag: %v, expected value: %v, actual value: %v"
,
flag
,
expectedValue
,
val
)
klog
.
V
(
2
)
.
Infof
(
"Updating kernel flag: %v, expected value: %v, actual value: %v"
,
flag
,
expectedValue
,
val
)
err
=
sysctl
.
SetSysctl
(
flag
,
expectedValue
)
err
=
sysctl
.
SetSysctl
(
flag
,
expectedValue
)
if
err
!=
nil
{
if
err
!=
nil
{
if
libcontainersystem
.
RunningInUserNS
()
{
errList
=
append
(
errList
,
err
)
klog
.
Warningf
(
"Updating kernel flag failed: %v: %v (running in UserNS)"
,
flag
,
err
)
}
else
{
errList
=
append
(
errList
,
err
)
}
}
}
}
}
}
}
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/kubelet_getters.go
View file @
4c08a74b
...
@@ -33,6 +33,7 @@ import (
...
@@ -33,6 +33,7 @@ import (
"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"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilnode
"k8s.io/kubernetes/pkg/util/node"
)
)
...
@@ -167,8 +168,11 @@ func (kl *Kubelet) GetPods() []*v1.Pod {
...
@@ -167,8 +168,11 @@ func (kl *Kubelet) GetPods() []*v1.Pod {
// a kubelet running without apiserver requires an additional
// a kubelet running without apiserver requires an additional
// update of the static pod status. See #57106
// update of the static pod status. See #57106
for
_
,
p
:=
range
pods
{
for
_
,
p
:=
range
pods
{
if
status
,
ok
:=
kl
.
statusManager
.
GetPodStatus
(
p
.
UID
);
ok
{
if
kubelettypes
.
IsStaticPod
(
p
)
{
p
.
Status
=
status
if
status
,
ok
:=
kl
.
statusManager
.
GetPodStatus
(
p
.
UID
);
ok
{
klog
.
V
(
2
)
.
Infof
(
"status for pod %v updated to %v"
,
p
.
Name
,
status
)
p
.
Status
=
status
}
}
}
}
}
return
pods
return
pods
...
...
vendor/k8s.io/kubernetes/pkg/kubelet/status/status_manager.go
View file @
4c08a74b
...
@@ -24,7 +24,7 @@ import (
...
@@ -24,7 +24,7 @@ import (
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
apiequality
"k8s.io/apimachinery/pkg/api/equality"
apiequality
"k8s.io/apimachinery/pkg/api/equality"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
...
@@ -540,7 +540,7 @@ func (m *manager) syncPod(uid types.UID, status versionedPodStatus) {
...
@@ -540,7 +540,7 @@ func (m *manager) syncPod(uid types.UID, status versionedPodStatus) {
}
}
oldStatus
:=
pod
.
Status
.
DeepCopy
()
oldStatus
:=
pod
.
Status
.
DeepCopy
()
newPod
,
patchBytes
,
err
:=
statusutil
.
PatchPodStatus
(
m
.
kubeClient
,
pod
.
Namespace
,
pod
.
Name
,
*
oldStatus
,
mergePodStatus
(
*
oldStatus
,
status
.
status
))
newPod
,
patchBytes
,
err
:=
statusutil
.
PatchPodStatus
(
m
.
kubeClient
,
pod
.
Namespace
,
pod
.
Name
,
pod
.
UID
,
*
oldStatus
,
mergePodStatus
(
*
oldStatus
,
status
.
status
))
klog
.
V
(
3
)
.
Infof
(
"Patch status for pod %q with %q"
,
format
.
Pod
(
pod
),
patchBytes
)
klog
.
V
(
3
)
.
Infof
(
"Patch status for pod %q with %q"
,
format
.
Pod
(
pod
),
patchBytes
)
if
err
!=
nil
{
if
err
!=
nil
{
klog
.
Warningf
(
"Failed to update status for pod %q: %v"
,
format
.
Pod
(
pod
),
err
)
klog
.
Warningf
(
"Failed to update status for pod %q: %v"
,
format
.
Pod
(
pod
),
err
)
...
...
vendor/k8s.io/kubernetes/pkg/registry/core/service/ipallocator/BUILD
View file @
4c08a74b
...
@@ -13,8 +13,6 @@ go_library(
...
@@ -13,8 +13,6 @@ go_library(
deps = [
deps = [
"//pkg/apis/core:go_default_library",
"//pkg/apis/core:go_default_library",
"//pkg/registry/core/service/allocator:go_default_library",
"//pkg/registry/core/service/allocator:go_default_library",
"//vendor/k8s.io/utils/integer:go_default_library",
"//vendor/k8s.io/utils/net:go_default_library",
],
],
)
)
...
...
vendor/k8s.io/kubernetes/pkg/registry/core/service/ipallocator/allocator.go
View file @
4c08a74b
...
@@ -19,14 +19,10 @@ package ipallocator
...
@@ -19,14 +19,10 @@ package ipallocator
import
(
import
(
"errors"
"errors"
"fmt"
"fmt"
"math/big"
"net"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/registry/core/service/allocator"
"k8s.io/kubernetes/pkg/registry/core/service/allocator"
"
k8s.io/utils/integer
"
"
math/big
"
utilnet
"k8s.io/utils/
net"
"
net"
)
)
// Interface manages the allocation of IP addresses out of a range. Interface
// Interface manages the allocation of IP addresses out of a range. Interface
...
@@ -84,8 +80,8 @@ type Range struct {
...
@@ -84,8 +80,8 @@ type Range struct {
// NewAllocatorCIDRRange creates a Range over a net.IPNet, calling allocatorFactory to construct the backing store.
// NewAllocatorCIDRRange creates a Range over a net.IPNet, calling allocatorFactory to construct the backing store.
func
NewAllocatorCIDRRange
(
cidr
*
net
.
IPNet
,
allocatorFactory
allocator
.
AllocatorFactory
)
(
*
Range
,
error
)
{
func
NewAllocatorCIDRRange
(
cidr
*
net
.
IPNet
,
allocatorFactory
allocator
.
AllocatorFactory
)
(
*
Range
,
error
)
{
max
:=
integer
.
Int64Min
(
utilnet
.
RangeSize
(
cidr
),
1
<<
16
)
max
:=
RangeSize
(
cidr
)
base
:=
utilnet
.
B
igForIP
(
cidr
.
IP
)
base
:=
b
igForIP
(
cidr
.
IP
)
rangeSpec
:=
cidr
.
String
()
rangeSpec
:=
cidr
.
String
()
r
:=
Range
{
r
:=
Range
{
...
@@ -173,7 +169,7 @@ func (r *Range) AllocateNext() (net.IP, error) {
...
@@ -173,7 +169,7 @@ func (r *Range) AllocateNext() (net.IP, error) {
if
!
ok
{
if
!
ok
{
return
nil
,
ErrFull
return
nil
,
ErrFull
}
}
return
utilnet
.
A
ddIPOffset
(
r
.
base
,
offset
),
nil
return
a
ddIPOffset
(
r
.
base
,
offset
),
nil
}
}
// Release releases the IP back to the pool. Releasing an
// Release releases the IP back to the pool. Releasing an
...
@@ -191,7 +187,7 @@ func (r *Range) Release(ip net.IP) error {
...
@@ -191,7 +187,7 @@ func (r *Range) Release(ip net.IP) error {
// ForEach calls the provided function for each allocated IP.
// ForEach calls the provided function for each allocated IP.
func
(
r
*
Range
)
ForEach
(
fn
func
(
net
.
IP
))
{
func
(
r
*
Range
)
ForEach
(
fn
func
(
net
.
IP
))
{
r
.
alloc
.
ForEach
(
func
(
offset
int
)
{
r
.
alloc
.
ForEach
(
func
(
offset
int
)
{
ip
,
_
:=
utilnet
.
GetIndexedIP
(
r
.
net
,
offset
+
1
)
// +1 because Range doesn't store IP 0
ip
,
_
:=
GetIndexedIP
(
r
.
net
,
offset
+
1
)
// +1 because Range doesn't store IP 0
fn
(
ip
)
fn
(
ip
)
})
})
}
}
...
@@ -249,8 +245,49 @@ func (r *Range) contains(ip net.IP) (bool, int) {
...
@@ -249,8 +245,49 @@ func (r *Range) contains(ip net.IP) (bool, int) {
return
true
,
offset
return
true
,
offset
}
}
// bigForIP creates a big.Int based on the provided net.IP
func
bigForIP
(
ip
net
.
IP
)
*
big
.
Int
{
b
:=
ip
.
To4
()
if
b
==
nil
{
b
=
ip
.
To16
()
}
return
big
.
NewInt
(
0
)
.
SetBytes
(
b
)
}
// addIPOffset adds the provided integer offset to a base big.Int representing a
// net.IP
func
addIPOffset
(
base
*
big
.
Int
,
offset
int
)
net
.
IP
{
return
net
.
IP
(
big
.
NewInt
(
0
)
.
Add
(
base
,
big
.
NewInt
(
int64
(
offset
)))
.
Bytes
())
}
// calculateIPOffset calculates the integer offset of ip from base such that
// calculateIPOffset calculates the integer offset of ip from base such that
// base + offset = ip. It requires ip >= base.
// base + offset = ip. It requires ip >= base.
func
calculateIPOffset
(
base
*
big
.
Int
,
ip
net
.
IP
)
int
{
func
calculateIPOffset
(
base
*
big
.
Int
,
ip
net
.
IP
)
int
{
return
int
(
big
.
NewInt
(
0
)
.
Sub
(
utilnet
.
BigForIP
(
ip
),
base
)
.
Int64
())
return
int
(
big
.
NewInt
(
0
)
.
Sub
(
bigForIP
(
ip
),
base
)
.
Int64
())
}
// RangeSize returns the size of a range in valid addresses.
func
RangeSize
(
subnet
*
net
.
IPNet
)
int64
{
ones
,
bits
:=
subnet
.
Mask
.
Size
()
if
bits
==
32
&&
(
bits
-
ones
)
>=
31
||
bits
==
128
&&
(
bits
-
ones
)
>=
127
{
return
0
}
// For IPv6, the max size will be limited to 65536
// This is due to the allocator keeping track of all the
// allocated IP's in a bitmap. This will keep the size of
// the bitmap to 64k.
if
bits
==
128
&&
(
bits
-
ones
)
>=
16
{
return
int64
(
1
)
<<
uint
(
16
)
}
else
{
return
int64
(
1
)
<<
uint
(
bits
-
ones
)
}
}
// GetIndexedIP returns a net.IP that is subnet.IP + index in the contiguous IP space.
func
GetIndexedIP
(
subnet
*
net
.
IPNet
,
index
int
)
(
net
.
IP
,
error
)
{
ip
:=
addIPOffset
(
bigForIP
(
subnet
.
IP
),
index
)
if
!
subnet
.
Contains
(
ip
)
{
return
nil
,
fmt
.
Errorf
(
"can't generate IP with index %d from subnet. subnet too small. subnet: %q"
,
index
,
subnet
)
}
return
ip
,
nil
}
}
vendor/k8s.io/kubernetes/pkg/util/pod/BUILD
View file @
4c08a74b
...
@@ -7,6 +7,7 @@ go_library(
...
@@ -7,6 +7,7 @@ go_library(
visibility = ["//visibility:public"],
visibility = ["//visibility:public"],
deps = [
deps = [
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
...
@@ -20,6 +21,7 @@ go_test(
...
@@ -20,6 +21,7 @@ go_test(
deps = [
deps = [
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
],
],
)
)
...
...
vendor/k8s.io/kubernetes/pkg/util/pod/pod.go
View file @
4c08a74b
...
@@ -20,15 +20,16 @@ import (
...
@@ -20,15 +20,16 @@ import (
"encoding/json"
"encoding/json"
"fmt"
"fmt"
"k8s.io/api/core/v1"
v1
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/strategicpatch"
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
)
)
// PatchPodStatus patches pod status.
// PatchPodStatus patches pod status.
func
PatchPodStatus
(
c
clientset
.
Interface
,
namespace
,
name
string
,
oldPodStatus
,
newPodStatus
v1
.
PodStatus
)
(
*
v1
.
Pod
,
[]
byte
,
error
)
{
func
PatchPodStatus
(
c
clientset
.
Interface
,
namespace
,
name
string
,
uid
types
.
UID
,
oldPodStatus
,
newPodStatus
v1
.
PodStatus
)
(
*
v1
.
Pod
,
[]
byte
,
error
)
{
patchBytes
,
err
:=
preparePatchBytesForPodStatus
(
namespace
,
name
,
oldPodStatus
,
newPodStatus
)
patchBytes
,
err
:=
preparePatchBytesForPodStatus
(
namespace
,
name
,
uid
,
oldPodStatus
,
newPodStatus
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
nil
,
err
return
nil
,
nil
,
err
}
}
...
@@ -40,7 +41,7 @@ func PatchPodStatus(c clientset.Interface, namespace, name string, oldPodStatus,
...
@@ -40,7 +41,7 @@ func PatchPodStatus(c clientset.Interface, namespace, name string, oldPodStatus,
return
updatedPod
,
patchBytes
,
nil
return
updatedPod
,
patchBytes
,
nil
}
}
func
preparePatchBytesForPodStatus
(
namespace
,
name
string
,
oldPodStatus
,
newPodStatus
v1
.
PodStatus
)
([]
byte
,
error
)
{
func
preparePatchBytesForPodStatus
(
namespace
,
name
string
,
uid
types
.
UID
,
oldPodStatus
,
newPodStatus
v1
.
PodStatus
)
([]
byte
,
error
)
{
oldData
,
err
:=
json
.
Marshal
(
v1
.
Pod
{
oldData
,
err
:=
json
.
Marshal
(
v1
.
Pod
{
Status
:
oldPodStatus
,
Status
:
oldPodStatus
,
})
})
...
@@ -49,7 +50,8 @@ func preparePatchBytesForPodStatus(namespace, name string, oldPodStatus, newPodS
...
@@ -49,7 +50,8 @@ func preparePatchBytesForPodStatus(namespace, name string, oldPodStatus, newPodS
}
}
newData
,
err
:=
json
.
Marshal
(
v1
.
Pod
{
newData
,
err
:=
json
.
Marshal
(
v1
.
Pod
{
Status
:
newPodStatus
,
ObjectMeta
:
metav1
.
ObjectMeta
{
UID
:
uid
},
// only put the uid in the new object to ensure it appears in the patch as a precondition
Status
:
newPodStatus
,
})
})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to Marshal newData for pod %q/%q: %v"
,
namespace
,
name
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to Marshal newData for pod %q/%q: %v"
,
namespace
,
name
,
err
)
...
...
vendor/k8s.io/kubernetes/pkg/volume/azure_dd/azure_common_linux.go
View file @
4c08a74b
...
@@ -29,17 +29,20 @@ import (
...
@@ -29,17 +29,20 @@ import (
utilexec
"k8s.io/utils/exec"
utilexec
"k8s.io/utils/exec"
)
)
// exclude those used by azure as resource and OS root in /dev/disk/azure
// exclude those used by azure as resource and OS root in /dev/disk/azure, /dev/disk/azure/scsi0
// "/dev/disk/azure/scsi0" dir is populated in Standard_DC4s/DC2s on Ubuntu 18.04
func
listAzureDiskPath
(
io
ioHandler
)
[]
string
{
func
listAzureDiskPath
(
io
ioHandler
)
[]
string
{
azureDiskPath
:=
"/dev/disk/azure/"
var
azureDiskList
[]
string
var
azureDiskList
[]
string
if
dirs
,
err
:=
io
.
ReadDir
(
azureDiskPath
);
err
==
nil
{
azureResourcePaths
:=
[]
string
{
"/dev/disk/azure/"
,
"/dev/disk/azure/scsi0/"
}
for
_
,
f
:=
range
dirs
{
for
_
,
azureDiskPath
:=
range
azureResourcePaths
{
name
:=
f
.
Name
()
if
dirs
,
err
:=
io
.
ReadDir
(
azureDiskPath
);
err
==
nil
{
diskPath
:=
azureDiskPath
+
name
for
_
,
f
:=
range
dirs
{
if
link
,
linkErr
:=
io
.
Readlink
(
diskPath
);
linkErr
==
nil
{
name
:=
f
.
Name
()
sd
:=
link
[(
libstrings
.
LastIndex
(
link
,
"/"
)
+
1
)
:
]
diskPath
:=
filepath
.
Join
(
azureDiskPath
,
name
)
azureDiskList
=
append
(
azureDiskList
,
sd
)
if
link
,
linkErr
:=
io
.
Readlink
(
diskPath
);
linkErr
==
nil
{
sd
:=
link
[(
libstrings
.
LastIndex
(
link
,
"/"
)
+
1
)
:
]
azureDiskList
=
append
(
azureDiskList
,
sd
)
}
}
}
}
}
}
}
...
...
vendor/k8s.io/kubernetes/pkg/volume/util/subpath/subpath_linux.go
View file @
4c08a74b
...
@@ -240,7 +240,8 @@ func doCleanSubPaths(mounter mount.Interface, podDir string, volumeName string)
...
@@ -240,7 +240,8 @@ func doCleanSubPaths(mounter mount.Interface, podDir string, volumeName string)
return
err
return
err
}
}
if
info
.
IsDir
()
{
// We need to check that info is not nil. This may happen when the incoming err is not nil due to stale mounts or permission errors.
if
info
!=
nil
&&
info
.
IsDir
()
{
// skip subdirs of the volume: it only matters the first level to unmount, otherwise it would try to unmount subdir of the volume
// skip subdirs of the volume: it only matters the first level to unmount, otherwise it would try to unmount subdir of the volume
return
filepath
.
SkipDir
return
filepath
.
SkipDir
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/auth/azure_auth.go
View file @
4c08a74b
...
@@ -90,7 +90,7 @@ func GetServicePrincipalToken(config *AzureAuthConfig, env *azure.Environment) (
...
@@ -90,7 +90,7 @@ func GetServicePrincipalToken(config *AzureAuthConfig, env *azure.Environment) (
env
.
ServiceManagementEndpoint
)
env
.
ServiceManagementEndpoint
)
}
}
oauthConfig
,
err
:=
adal
.
NewOAuthConfig
(
env
.
ActiveDirectoryEndpoint
,
tenantID
)
oauthConfig
,
err
:=
adal
.
NewOAuthConfig
WithAPIVersion
(
env
.
ActiveDirectoryEndpoint
,
tenantID
,
nil
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"creating the OAuth config: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"creating the OAuth config: %v"
,
err
)
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_controller_standard.go
View file @
4c08a74b
...
@@ -46,6 +46,15 @@ func (as *availabilitySet) AttachDisk(isManagedDisk bool, diskName, diskURI stri
...
@@ -46,6 +46,15 @@ func (as *availabilitySet) AttachDisk(isManagedDisk bool, diskName, diskURI stri
if
isManagedDisk
{
if
isManagedDisk
{
managedDisk
:=
&
compute
.
ManagedDiskParameters
{
ID
:
&
diskURI
}
managedDisk
:=
&
compute
.
ManagedDiskParameters
{
ID
:
&
diskURI
}
if
diskEncryptionSetID
==
""
{
if
vm
.
StorageProfile
.
OsDisk
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
.
ID
!=
nil
{
// set diskEncryptionSet as value of os disk by default
diskEncryptionSetID
=
*
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
.
ID
}
}
if
diskEncryptionSetID
!=
""
{
if
diskEncryptionSetID
!=
""
{
managedDisk
.
DiskEncryptionSet
=
&
compute
.
DiskEncryptionSetParameters
{
ID
:
&
diskEncryptionSetID
}
managedDisk
.
DiskEncryptionSet
=
&
compute
.
DiskEncryptionSetParameters
{
ID
:
&
diskEncryptionSetID
}
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_controller_vmss.go
View file @
4c08a74b
...
@@ -48,6 +48,15 @@ func (ss *scaleSet) AttachDisk(isManagedDisk bool, diskName, diskURI string, nod
...
@@ -48,6 +48,15 @@ func (ss *scaleSet) AttachDisk(isManagedDisk bool, diskName, diskURI string, nod
}
}
if
isManagedDisk
{
if
isManagedDisk
{
managedDisk
:=
&
compute
.
ManagedDiskParameters
{
ID
:
&
diskURI
}
managedDisk
:=
&
compute
.
ManagedDiskParameters
{
ID
:
&
diskURI
}
if
diskEncryptionSetID
==
""
{
if
vm
.
StorageProfile
.
OsDisk
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
!=
nil
&&
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
.
ID
!=
nil
{
// set diskEncryptionSet as value of os disk by default
diskEncryptionSetID
=
*
vm
.
StorageProfile
.
OsDisk
.
ManagedDisk
.
DiskEncryptionSet
.
ID
}
}
if
diskEncryptionSetID
!=
""
{
if
diskEncryptionSetID
!=
""
{
managedDisk
.
DiskEncryptionSet
=
&
compute
.
DiskEncryptionSetParameters
{
ID
:
&
diskEncryptionSetID
}
managedDisk
.
DiskEncryptionSet
=
&
compute
.
DiskEncryptionSetParameters
{
ID
:
&
diskEncryptionSetID
}
}
}
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go
View file @
4c08a74b
...
@@ -1641,7 +1641,7 @@ func equalLoadBalancingRulePropertiesFormat(s *network.LoadBalancingRuleProperti
...
@@ -1641,7 +1641,7 @@ func equalLoadBalancingRulePropertiesFormat(s *network.LoadBalancingRuleProperti
reflect
.
DeepEqual
(
s
.
EnableTCPReset
,
t
.
EnableTCPReset
)
&&
reflect
.
DeepEqual
(
s
.
EnableTCPReset
,
t
.
EnableTCPReset
)
&&
reflect
.
DeepEqual
(
s
.
DisableOutboundSnat
,
t
.
DisableOutboundSnat
)
reflect
.
DeepEqual
(
s
.
DisableOutboundSnat
,
t
.
DisableOutboundSnat
)
if
wantLB
{
if
wantLB
&&
s
.
IdleTimeoutInMinutes
!=
nil
&&
t
.
IdleTimeoutInMinutes
!=
nil
{
return
properties
&&
reflect
.
DeepEqual
(
s
.
IdleTimeoutInMinutes
,
t
.
IdleTimeoutInMinutes
)
return
properties
&&
reflect
.
DeepEqual
(
s
.
IdleTimeoutInMinutes
,
t
.
IdleTimeoutInMinutes
)
}
}
return
properties
return
properties
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go
View file @
4c08a74b
...
@@ -464,7 +464,7 @@ func (as *availabilitySet) GetZoneByNodeName(name string) (cloudprovider.Zone, e
...
@@ -464,7 +464,7 @@ func (as *availabilitySet) GetZoneByNodeName(name string) (cloudprovider.Zone, e
failureDomain
=
as
.
makeZone
(
to
.
String
(
vm
.
Location
),
zoneID
)
failureDomain
=
as
.
makeZone
(
to
.
String
(
vm
.
Location
),
zoneID
)
}
else
{
}
else
{
// Availability zone is not used for the node, falling back to fault domain.
// Availability zone is not used for the node, falling back to fault domain.
failureDomain
=
strconv
.
Itoa
(
int
(
*
vm
.
VirtualMachineProperties
.
InstanceView
.
PlatformFaultDomain
))
failureDomain
=
strconv
.
Itoa
(
int
(
to
.
Int32
(
vm
.
VirtualMachineProperties
.
InstanceView
.
PlatformFaultDomain
)
))
}
}
zone
:=
cloudprovider
.
Zone
{
zone
:=
cloudprovider
.
Zone
{
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go
View file @
4c08a74b
...
@@ -60,6 +60,7 @@ type scaleSet struct {
...
@@ -60,6 +60,7 @@ type scaleSet struct {
// (e.g. master nodes) may not belong to any scale sets.
// (e.g. master nodes) may not belong to any scale sets.
availabilitySet
VMSet
availabilitySet
VMSet
vmssCache
*
timedCache
vmssVMCache
*
timedCache
vmssVMCache
*
timedCache
availabilitySetNodesCache
*
timedCache
availabilitySetNodesCache
*
timedCache
}
}
...
@@ -77,6 +78,11 @@ func newScaleSet(az *Cloud) (VMSet, error) {
...
@@ -77,6 +78,11 @@ func newScaleSet(az *Cloud) (VMSet, error) {
return
nil
,
err
return
nil
,
err
}
}
ss
.
vmssCache
,
err
=
ss
.
newVMSSCache
()
if
err
!=
nil
{
return
nil
,
err
}
ss
.
vmssVMCache
,
err
=
ss
.
newVMSSVirtualMachinesCache
()
ss
.
vmssVMCache
,
err
=
ss
.
newVMSSVirtualMachinesCache
()
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -85,6 +91,43 @@ func newScaleSet(az *Cloud) (VMSet, error) {
...
@@ -85,6 +91,43 @@ func newScaleSet(az *Cloud) (VMSet, error) {
return
ss
,
nil
return
ss
,
nil
}
}
func
(
ss
*
scaleSet
)
getVMSS
(
vmssName
string
,
crt
cacheReadType
)
(
*
compute
.
VirtualMachineScaleSet
,
error
)
{
getter
:=
func
(
vmssName
string
)
(
*
compute
.
VirtualMachineScaleSet
,
error
)
{
cached
,
err
:=
ss
.
vmssCache
.
Get
(
vmssKey
,
crt
)
if
err
!=
nil
{
return
nil
,
err
}
vmsses
:=
cached
.
(
*
sync
.
Map
)
if
vmss
,
ok
:=
vmsses
.
Load
(
vmssName
);
ok
{
result
:=
vmss
.
(
*
vmssEntry
)
return
result
.
vmss
,
nil
}
return
nil
,
nil
}
vmss
,
err
:=
getter
(
vmssName
)
if
err
!=
nil
{
return
nil
,
err
}
if
vmss
!=
nil
{
return
vmss
,
nil
}
klog
.
V
(
3
)
.
Infof
(
"Couldn't find VMSS with name %s, refreshing the cache"
,
vmssName
)
ss
.
vmssCache
.
Delete
(
vmssKey
)
vmss
,
err
=
getter
(
vmssName
)
if
err
!=
nil
{
return
nil
,
err
}
if
vmss
==
nil
{
return
nil
,
cloudprovider
.
InstanceNotFound
}
return
vmss
,
nil
}
// getVmssVM gets virtualMachineScaleSetVM by nodeName from cache.
// getVmssVM gets virtualMachineScaleSetVM by nodeName from cache.
// It returns cloudprovider.InstanceNotFound if node does not belong to any scale sets.
// It returns cloudprovider.InstanceNotFound if node does not belong to any scale sets.
func
(
ss
*
scaleSet
)
getVmssVM
(
nodeName
string
,
crt
cacheReadType
)
(
string
,
string
,
*
compute
.
VirtualMachineScaleSetVM
,
error
)
{
func
(
ss
*
scaleSet
)
getVmssVM
(
nodeName
string
,
crt
cacheReadType
)
(
string
,
string
,
*
compute
.
VirtualMachineScaleSetVM
,
error
)
{
...
@@ -903,7 +946,7 @@ func (ss *scaleSet) ensureVMSSInPool(service *v1.Service, nodes []*v1.Node, back
...
@@ -903,7 +946,7 @@ func (ss *scaleSet) ensureVMSSInPool(service *v1.Service, nodes []*v1.Node, back
}
}
for
vmssName
:=
range
vmssNamesMap
{
for
vmssName
:=
range
vmssNamesMap
{
vmss
,
err
:=
ss
.
GetScaleSetWithRetry
(
service
,
ss
.
ResourceGroup
,
vmssName
)
vmss
,
err
:=
ss
.
getVMSS
(
vmssName
,
cacheReadTypeDefault
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -1208,7 +1251,7 @@ func (ss *scaleSet) ensureBackendPoolDeletedFromVMSS(service *v1.Service, backen
...
@@ -1208,7 +1251,7 @@ func (ss *scaleSet) ensureBackendPoolDeletedFromVMSS(service *v1.Service, backen
}
}
for
vmssName
:=
range
vmssNamesMap
{
for
vmssName
:=
range
vmssNamesMap
{
vmss
,
err
:=
ss
.
GetScaleSetWithRetry
(
service
,
ss
.
ResourceGroup
,
vmssName
)
vmss
,
err
:=
ss
.
getVMSS
(
vmssName
,
cacheReadTypeDefault
)
// When vmss is being deleted, CreateOrUpdate API would report "the vmss is being deleted" error.
// When vmss is being deleted, CreateOrUpdate API would report "the vmss is being deleted" error.
// Since it is being deleted, we shouldn't send more CreateOrUpdate requests for it.
// Since it is being deleted, we shouldn't send more CreateOrUpdate requests for it.
...
...
vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss_cache.go
View file @
4c08a74b
...
@@ -19,7 +19,7 @@ limitations under the License.
...
@@ -19,7 +19,7 @@ limitations under the License.
package
azure
package
azure
import
(
import
(
"
fm
t"
"
contex
t"
"strings"
"strings"
"sync"
"sync"
"time"
"time"
...
@@ -35,10 +35,12 @@ var (
...
@@ -35,10 +35,12 @@ var (
vmssNameSeparator
=
"_"
vmssNameSeparator
=
"_"
vmssCacheSeparator
=
"#"
vmssCacheSeparator
=
"#"
vmssKey
=
"k8svmssKey"
vmssVirtualMachinesKey
=
"k8svmssVirtualMachinesKey"
vmssVirtualMachinesKey
=
"k8svmssVirtualMachinesKey"
availabilitySetNodesKey
=
"k8sAvailabilitySetNodesKey"
availabilitySetNodesKey
=
"k8sAvailabilitySetNodesKey"
availabilitySetNodesCacheTTL
=
15
*
time
.
Minute
availabilitySetNodesCacheTTL
=
15
*
time
.
Minute
vmssTTL
=
10
*
time
.
Minute
vmssVirtualMachinesTTL
=
10
*
time
.
Minute
vmssVirtualMachinesTTL
=
10
*
time
.
Minute
)
)
...
@@ -50,8 +52,43 @@ type vmssVirtualMachinesEntry struct {
...
@@ -50,8 +52,43 @@ type vmssVirtualMachinesEntry struct {
lastUpdate
time
.
Time
lastUpdate
time
.
Time
}
}
func
(
ss
*
scaleSet
)
makeVmssVMName
(
scaleSetName
,
instanceID
string
)
string
{
type
vmssEntry
struct
{
return
fmt
.
Sprintf
(
"%s%s%s"
,
scaleSetName
,
vmssNameSeparator
,
instanceID
)
vmss
*
compute
.
VirtualMachineScaleSet
lastUpdate
time
.
Time
}
func
(
ss
*
scaleSet
)
newVMSSCache
()
(
*
timedCache
,
error
)
{
getter
:=
func
(
key
string
)
(
interface
{},
error
)
{
localCache
:=
&
sync
.
Map
{}
// [vmssName]*vmssEntry
allResourceGroups
,
err
:=
ss
.
GetResourceGroups
()
if
err
!=
nil
{
return
nil
,
err
}
for
_
,
resourceGroup
:=
range
allResourceGroups
.
List
()
{
allScaleSets
,
err
:=
ss
.
VirtualMachineScaleSetsClient
.
List
(
context
.
Background
(),
resourceGroup
)
if
err
!=
nil
{
klog
.
Errorf
(
"VirtualMachineScaleSetsClient.List failed: %v"
,
err
)
return
nil
,
err
}
for
_
,
scaleSet
:=
range
allScaleSets
{
if
scaleSet
.
Name
==
nil
||
*
scaleSet
.
Name
==
""
{
klog
.
Warning
(
"failed to get the name of VMSS"
)
continue
}
localCache
.
Store
(
*
scaleSet
.
Name
,
&
vmssEntry
{
vmss
:
&
scaleSet
,
lastUpdate
:
time
.
Now
()
.
UTC
(),
})
}
}
return
localCache
,
nil
}
return
newTimedcache
(
vmssTTL
,
getter
)
}
}
func
extractVmssVMName
(
name
string
)
(
string
,
string
,
error
)
{
func
extractVmssVMName
(
name
string
)
(
string
,
string
,
error
)
{
...
...
vendor/k8s.io/legacy-cloud-providers/gce/gce_fake.go
View file @
4c08a74b
...
@@ -23,6 +23,7 @@ import (
...
@@ -23,6 +23,7 @@ import (
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud"
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud"
compute
"google.golang.org/api/compute/v1"
compute
"google.golang.org/api/compute/v1"
option
"google.golang.org/api/option"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/tools/cache"
)
)
...
@@ -62,7 +63,10 @@ func fakeClusterID(clusterID string) ClusterID {
...
@@ -62,7 +63,10 @@ func fakeClusterID(clusterID string) ClusterID {
// NewFakeGCECloud constructs a fake GCE Cloud from the cluster values.
// NewFakeGCECloud constructs a fake GCE Cloud from the cluster values.
func
NewFakeGCECloud
(
vals
TestClusterValues
)
*
Cloud
{
func
NewFakeGCECloud
(
vals
TestClusterValues
)
*
Cloud
{
service
,
_
:=
compute
.
NewService
(
context
.
Background
())
service
,
err
:=
compute
.
NewService
(
context
.
Background
(),
option
.
WithoutAuthentication
())
if
err
!=
nil
{
panic
(
err
)
}
gce
:=
&
Cloud
{
gce
:=
&
Cloud
{
region
:
vals
.
Region
,
region
:
vals
.
Region
,
service
:
service
,
service
:
service
,
...
...
vendor/k8s.io/legacy-cloud-providers/vsphere/vsphere.go
View file @
4c08a74b
...
@@ -572,7 +572,7 @@ func getLocalIP() ([]v1.NodeAddress, error) {
...
@@ -572,7 +572,7 @@ func getLocalIP() ([]v1.NodeAddress, error) {
}
else
{
}
else
{
for
_
,
addr
:=
range
localAddrs
{
for
_
,
addr
:=
range
localAddrs
{
if
ipnet
,
ok
:=
addr
.
(
*
net
.
IPNet
);
ok
{
if
ipnet
,
ok
:=
addr
.
(
*
net
.
IPNet
);
ok
{
if
ipnet
.
IP
.
To4
()
!=
nil
{
if
!
ipnet
.
IP
.
IsLinkLocalUnicast
()
{
// Filter external IP by MAC address OUIs from vCenter and from ESX
// Filter external IP by MAC address OUIs from vCenter and from ESX
vmMACAddr
:=
strings
.
ToLower
(
i
.
HardwareAddr
.
String
())
vmMACAddr
:=
strings
.
ToLower
(
i
.
HardwareAddr
.
String
())
// Making sure that the MAC address is long enough
// Making sure that the MAC address is long enough
...
@@ -683,7 +683,7 @@ func (vs *VSphere) NodeAddresses(ctx context.Context, nodeName k8stypes.NodeName
...
@@ -683,7 +683,7 @@ func (vs *VSphere) NodeAddresses(ctx context.Context, nodeName k8stypes.NodeName
for
_
,
v
:=
range
vmMoList
[
0
]
.
Guest
.
Net
{
for
_
,
v
:=
range
vmMoList
[
0
]
.
Guest
.
Net
{
if
vs
.
cfg
.
Network
.
PublicNetwork
==
v
.
Network
{
if
vs
.
cfg
.
Network
.
PublicNetwork
==
v
.
Network
{
for
_
,
ip
:=
range
v
.
IpAddress
{
for
_
,
ip
:=
range
v
.
IpAddress
{
if
net
.
ParseIP
(
ip
)
.
To4
()
!=
nil
{
if
!
net
.
ParseIP
(
ip
)
.
IsLinkLocalUnicast
()
{
nodehelpers
.
AddToNodeAddresses
(
&
addrs
,
nodehelpers
.
AddToNodeAddresses
(
&
addrs
,
v1
.
NodeAddress
{
v1
.
NodeAddress
{
Type
:
v1
.
NodeExternalIP
,
Type
:
v1
.
NodeExternalIP
,
...
...
vendor/modules.txt
View file @
4c08a74b
...
@@ -1104,7 +1104,7 @@ gopkg.in/square/go-jose.v2/jwt
...
@@ -1104,7 +1104,7 @@ gopkg.in/square/go-jose.v2/jwt
gopkg.in/warnings.v0
gopkg.in/warnings.v0
# gopkg.in/yaml.v2 v2.2.4
# gopkg.in/yaml.v2 v2.2.4
gopkg.in/yaml.v2
gopkg.in/yaml.v2
# k8s.io/api v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.17.
0
-k3s.1
# k8s.io/api v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.17.
1
-k3s.1
k8s.io/api/admission/v1
k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1
k8s.io/api/admission/v1beta1
k8s.io/api/admissionregistration/v1
k8s.io/api/admissionregistration/v1
...
@@ -1148,7 +1148,7 @@ k8s.io/api/settings/v1alpha1
...
@@ -1148,7 +1148,7 @@ k8s.io/api/settings/v1alpha1
k8s.io/api/storage/v1
k8s.io/api/storage/v1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1alpha1
k8s.io/api/storage/v1beta1
k8s.io/api/storage/v1beta1
# k8s.io/apiextensions-apiserver v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.
0
-k3s.1
# k8s.io/apiextensions-apiserver v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.
1
-k3s.1
k8s.io/apiextensions-apiserver/pkg/apihelpers
k8s.io/apiextensions-apiserver/pkg/apihelpers
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install
...
@@ -1196,7 +1196,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi
...
@@ -1196,7 +1196,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi
k8s.io/apiextensions-apiserver/pkg/registry/customresource
k8s.io/apiextensions-apiserver/pkg/registry/customresource
k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor
k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor
k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition
k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition
# k8s.io/apimachinery v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.17.
0
-k3s.1
# k8s.io/apimachinery v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.17.
1
-k3s.1
k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/api/meta
k8s.io/apimachinery/pkg/api/meta
...
@@ -1258,7 +1258,7 @@ k8s.io/apimachinery/pkg/watch
...
@@ -1258,7 +1258,7 @@ k8s.io/apimachinery/pkg/watch
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/json
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/netutil
k8s.io/apimachinery/third_party/forked/golang/reflect
k8s.io/apimachinery/third_party/forked/golang/reflect
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.17.
0
-k3s.1
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.17.
1
-k3s.1
k8s.io/apiserver/pkg/admission
k8s.io/apiserver/pkg/admission
k8s.io/apiserver/pkg/admission/configuration
k8s.io/apiserver/pkg/admission/configuration
k8s.io/apiserver/pkg/admission/initializer
k8s.io/apiserver/pkg/admission/initializer
...
@@ -1375,7 +1375,7 @@ k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth
...
@@ -1375,7 +1375,7 @@ k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth
k8s.io/apiserver/plugin/pkg/authenticator/token/oidc
k8s.io/apiserver/plugin/pkg/authenticator/token/oidc
k8s.io/apiserver/plugin/pkg/authenticator/token/webhook
k8s.io/apiserver/plugin/pkg/authenticator/token/webhook
k8s.io/apiserver/plugin/pkg/authorizer/webhook
k8s.io/apiserver/plugin/pkg/authorizer/webhook
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.17.
0
-k3s.1
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.17.
1
-k3s.1
k8s.io/cli-runtime/pkg/genericclioptions
k8s.io/cli-runtime/pkg/genericclioptions
k8s.io/cli-runtime/pkg/kustomize
k8s.io/cli-runtime/pkg/kustomize
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
k8s.io/cli-runtime/pkg/kustomize/k8sdeps
...
@@ -1388,7 +1388,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
...
@@ -1388,7 +1388,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/validator
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/validator
k8s.io/cli-runtime/pkg/printers
k8s.io/cli-runtime/pkg/printers
k8s.io/cli-runtime/pkg/resource
k8s.io/cli-runtime/pkg/resource
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.17.
0
-k3s.1
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.17.
1
-k3s.1
k8s.io/client-go/discovery
k8s.io/client-go/discovery
k8s.io/client-go/discovery/cached
k8s.io/client-go/discovery/cached
k8s.io/client-go/discovery/cached/disk
k8s.io/client-go/discovery/cached/disk
...
@@ -1581,20 +1581,20 @@ k8s.io/client-go/util/jsonpath
...
@@ -1581,20 +1581,20 @@ k8s.io/client-go/util/jsonpath
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/retry
k8s.io/client-go/util/retry
k8s.io/client-go/util/workqueue
k8s.io/client-go/util/workqueue
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.17.
0
-k3s.1
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.17.
1
-k3s.1
k8s.io/cloud-provider
k8s.io/cloud-provider
k8s.io/cloud-provider/node/helpers
k8s.io/cloud-provider/node/helpers
k8s.io/cloud-provider/service/helpers
k8s.io/cloud-provider/service/helpers
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume
k8s.io/cloud-provider/volume/errors
k8s.io/cloud-provider/volume/errors
k8s.io/cloud-provider/volume/helpers
k8s.io/cloud-provider/volume/helpers
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.
0
-k3s.1
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.
1
-k3s.1
k8s.io/cluster-bootstrap/token/api
k8s.io/cluster-bootstrap/token/api
k8s.io/cluster-bootstrap/token/jws
k8s.io/cluster-bootstrap/token/jws
k8s.io/cluster-bootstrap/token/util
k8s.io/cluster-bootstrap/token/util
k8s.io/cluster-bootstrap/util/secrets
k8s.io/cluster-bootstrap/util/secrets
k8s.io/cluster-bootstrap/util/tokens
k8s.io/cluster-bootstrap/util/tokens
# k8s.io/code-generator v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.17.
0
-k3s.1
# k8s.io/code-generator v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.17.
1
-k3s.1
k8s.io/code-generator/cmd/client-gen/args
k8s.io/code-generator/cmd/client-gen/args
k8s.io/code-generator/cmd/client-gen/generators
k8s.io/code-generator/cmd/client-gen/generators
k8s.io/code-generator/cmd/client-gen/generators/fake
k8s.io/code-generator/cmd/client-gen/generators/fake
...
@@ -1609,7 +1609,7 @@ k8s.io/code-generator/cmd/lister-gen/args
...
@@ -1609,7 +1609,7 @@ k8s.io/code-generator/cmd/lister-gen/args
k8s.io/code-generator/cmd/lister-gen/generators
k8s.io/code-generator/cmd/lister-gen/generators
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/namer
k8s.io/code-generator/pkg/util
k8s.io/code-generator/pkg/util
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.17.
0
-k3s.1
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.17.
1
-k3s.1
k8s.io/component-base/cli/flag
k8s.io/component-base/cli/flag
k8s.io/component-base/cli/globalflag
k8s.io/component-base/cli/globalflag
k8s.io/component-base/codec
k8s.io/component-base/codec
...
@@ -1626,10 +1626,10 @@ k8s.io/component-base/metrics/prometheus/version
...
@@ -1626,10 +1626,10 @@ k8s.io/component-base/metrics/prometheus/version
k8s.io/component-base/metrics/prometheus/workqueue
k8s.io/component-base/metrics/prometheus/workqueue
k8s.io/component-base/version
k8s.io/component-base/version
k8s.io/component-base/version/verflag
k8s.io/component-base/version/verflag
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.17.
0
-k3s.1
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.17.
1
-k3s.1
k8s.io/cri-api/pkg/apis
k8s.io/cri-api/pkg/apis
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.
0
-k3s.1
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.
1
-k3s.1
k8s.io/csi-translation-lib
k8s.io/csi-translation-lib
k8s.io/csi-translation-lib/plugins
k8s.io/csi-translation-lib/plugins
# k8s.io/gengo v0.0.0-20191120174120-e74f70b9b27e
# k8s.io/gengo v0.0.0-20191120174120-e74f70b9b27e
...
@@ -1644,7 +1644,7 @@ k8s.io/gengo/types
...
@@ -1644,7 +1644,7 @@ k8s.io/gengo/types
k8s.io/heapster/metrics/api/v1/types
k8s.io/heapster/metrics/api/v1/types
# k8s.io/klog v1.0.0
# k8s.io/klog v1.0.0
k8s.io/klog
k8s.io/klog
# k8s.io/kube-aggregator v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.
0
-k3s.1
# k8s.io/kube-aggregator v0.17.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.
1
-k3s.1
k8s.io/kube-aggregator/pkg/apis/apiregistration
k8s.io/kube-aggregator/pkg/apis/apiregistration
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
k8s.io/kube-aggregator/pkg/apis/apiregistration/install
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
...
@@ -1672,7 +1672,7 @@ k8s.io/kube-aggregator/pkg/controllers/status
...
@@ -1672,7 +1672,7 @@ k8s.io/kube-aggregator/pkg/controllers/status
k8s.io/kube-aggregator/pkg/registry/apiservice
k8s.io/kube-aggregator/pkg/registry/apiservice
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
k8s.io/kube-aggregator/pkg/registry/apiservice/rest
k8s.io/kube-aggregator/pkg/registry/apiservice/rest
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.
0
-k3s.1
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.
1
-k3s.1
k8s.io/kube-controller-manager/config/v1alpha1
k8s.io/kube-controller-manager/config/v1alpha1
# k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a
# k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a
k8s.io/kube-openapi/pkg/aggregator
k8s.io/kube-openapi/pkg/aggregator
...
@@ -1683,12 +1683,12 @@ k8s.io/kube-openapi/pkg/schemaconv
...
@@ -1683,12 +1683,12 @@ k8s.io/kube-openapi/pkg/schemaconv
k8s.io/kube-openapi/pkg/util
k8s.io/kube-openapi/pkg/util
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto/validation
k8s.io/kube-openapi/pkg/util/proto/validation
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.17.
0
-k3s.1
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.17.
1
-k3s.1
k8s.io/kube-proxy/config/v1alpha1
k8s.io/kube-proxy/config/v1alpha1
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.
0
-k3s.1
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.
1
-k3s.1
k8s.io/kube-scheduler/config/v1
k8s.io/kube-scheduler/config/v1
k8s.io/kube-scheduler/config/v1alpha1
k8s.io/kube-scheduler/config/v1alpha1
# k8s.io/kubectl v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.17.
0
-k3s.1
# k8s.io/kubectl v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.17.
1
-k3s.1
k8s.io/kubectl/pkg/apps
k8s.io/kubectl/pkg/apps
k8s.io/kubectl/pkg/cmd
k8s.io/kubectl/pkg/cmd
k8s.io/kubectl/pkg/cmd/annotate
k8s.io/kubectl/pkg/cmd/annotate
...
@@ -1764,11 +1764,11 @@ k8s.io/kubectl/pkg/util/storage
...
@@ -1764,11 +1764,11 @@ k8s.io/kubectl/pkg/util/storage
k8s.io/kubectl/pkg/util/templates
k8s.io/kubectl/pkg/util/templates
k8s.io/kubectl/pkg/util/term
k8s.io/kubectl/pkg/util/term
k8s.io/kubectl/pkg/validation
k8s.io/kubectl/pkg/validation
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.17.
0
-k3s.1
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.17.
1
-k3s.1
k8s.io/kubelet/config/v1beta1
k8s.io/kubelet/config/v1beta1
k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1
k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1
k8s.io/kubelet/pkg/apis/pluginregistration/v1
k8s.io/kubelet/pkg/apis/pluginregistration/v1
# k8s.io/kubernetes v1.16.0 => github.com/rancher/kubernetes v1.17.
0
-k3s.1
# k8s.io/kubernetes v1.16.0 => github.com/rancher/kubernetes v1.17.
1
-k3s.1
k8s.io/kubernetes/cmd/cloud-controller-manager/app
k8s.io/kubernetes/cmd/cloud-controller-manager/app
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme
...
@@ -2506,7 +2506,7 @@ k8s.io/kubernetes/third_party/forked/gonum/graph
...
@@ -2506,7 +2506,7 @@ k8s.io/kubernetes/third_party/forked/gonum/graph
k8s.io/kubernetes/third_party/forked/gonum/graph/internal/linear
k8s.io/kubernetes/third_party/forked/gonum/graph/internal/linear
k8s.io/kubernetes/third_party/forked/gonum/graph/simple
k8s.io/kubernetes/third_party/forked/gonum/graph/simple
k8s.io/kubernetes/third_party/forked/gonum/graph/traverse
k8s.io/kubernetes/third_party/forked/gonum/graph/traverse
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.
0
-k3s.1
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.
1
-k3s.1
k8s.io/legacy-cloud-providers/aws
k8s.io/legacy-cloud-providers/aws
k8s.io/legacy-cloud-providers/azure
k8s.io/legacy-cloud-providers/azure
k8s.io/legacy-cloud-providers/azure/auth
k8s.io/legacy-cloud-providers/azure/auth
...
@@ -2515,7 +2515,7 @@ k8s.io/legacy-cloud-providers/openstack
...
@@ -2515,7 +2515,7 @@ k8s.io/legacy-cloud-providers/openstack
k8s.io/legacy-cloud-providers/vsphere
k8s.io/legacy-cloud-providers/vsphere
k8s.io/legacy-cloud-providers/vsphere/vclib
k8s.io/legacy-cloud-providers/vsphere/vclib
k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers
k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.17.
0
-k3s.1
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.17.
1
-k3s.1
k8s.io/metrics/pkg/apis/custom_metrics
k8s.io/metrics/pkg/apis/custom_metrics
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
k8s.io/metrics/pkg/apis/custom_metrics/v1beta1
k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
k8s.io/metrics/pkg/apis/custom_metrics/v1beta2
...
...
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