mirror of https://github.com/k3s-io/k3s
Merge pull request #822 from erikwilson/bump-k8s-1.15.4-k3s.1
Upgrade k8s to 1.15.4-k3s.1pull/827/head v0.9.0
commit
65d8764812
50
go.mod
50
go.mod
|
@ -13,32 +13,32 @@ replace (
|
|||
github.com/rancher/dynamiclistener => github.com/erikwilson/rancher-dynamiclistener v0.0.0-20190717164634-c08b499d1719
|
||||
github.com/rancher/kine => github.com/ibuildthecloud/kine v0.1.0
|
||||
golang.org/x/sys => github.com/golang/sys v0.0.0-20190204203706-41f3e6584952
|
||||
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.3-k3s.3
|
||||
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.3-k3s.3
|
||||
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.3-k3s.3
|
||||
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.3-k3s.3
|
||||
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.3-k3s.3
|
||||
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.3-k3s.3
|
||||
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.3-k3s.3
|
||||
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.3-k3s.3
|
||||
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.3-k3s.3
|
||||
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.3-k3s.3
|
||||
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.3-k3s.3
|
||||
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.3-k3s.3
|
||||
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.3-k3s.3
|
||||
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.3-k3s.3
|
||||
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.4-k3s.1
|
||||
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.4-k3s.1
|
||||
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.4-k3s.1
|
||||
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.4-k3s.1
|
||||
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.4-k3s.1
|
||||
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.4-k3s.1
|
||||
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.4-k3s.1
|
||||
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.4-k3s.1
|
||||
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.4-k3s.1
|
||||
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.4-k3s.1
|
||||
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.4-k3s.1
|
||||
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.4-k3s.1
|
||||
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.4-k3s.1
|
||||
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.4-k3s.1
|
||||
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30
|
||||
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.3-k3s.3
|
||||
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.3-k3s.3
|
||||
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.15.3-k3s.3
|
||||
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.3-k3s.3
|
||||
k8s.io/kubernetes => github.com/rancher/kubernetes v1.15.3-k3s.3
|
||||
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.3-k3s.3
|
||||
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.3-k3s.3
|
||||
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.15.3-k3s.3
|
||||
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.15.3-k3s.3
|
||||
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.15.3-k3s.3
|
||||
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.15.3-k3s.3
|
||||
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.4-k3s.1
|
||||
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.4-k3s.1
|
||||
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.15.4-k3s.1
|
||||
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.4-k3s.1
|
||||
k8s.io/kubernetes => github.com/rancher/kubernetes v1.15.4-k3s.1
|
||||
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.4-k3s.1
|
||||
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.4-k3s.1
|
||||
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.15.4-k3s.1
|
||||
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.15.4-k3s.1
|
||||
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.15.4-k3s.1
|
||||
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.15.4-k3s.1
|
||||
sigs.k8s.io/structured-merge-diff => sigs.k8s.io/structured-merge-diff v0.0.0-20190302045857-e85c7b244fd2
|
||||
)
|
||||
|
||||
|
|
82
go.sum
82
go.sum
|
@ -423,47 +423,47 @@ github.com/rancher/cri-tools v1.15.0-k3s.2 h1:h9a5aB9RLesRoErka1j63tRVJ9q4CF1+BN
|
|||
github.com/rancher/cri-tools v1.15.0-k3s.2/go.mod h1:Kb50VzhsJdp9Rkg69PcPA4tl/f+HLwA5WWH86OXbbKM=
|
||||
github.com/rancher/helm-controller v0.2.2 h1:MUqisy53/Ay1EYOF2uTCYBbGpgtZLNKKrI01BdxIbQo=
|
||||
github.com/rancher/helm-controller v0.2.2/go.mod h1:0JkL0UjxddNbT4FmLoESarD4Mz8xzA5YlejqJ/U4g+8=
|
||||
github.com/rancher/kubernetes v1.15.3-k3s.3 h1:C0+eViQHV3mSgjg7q6NXA54Wd6HX1mJaDI5TQNiycsU=
|
||||
github.com/rancher/kubernetes v1.15.3-k3s.3/go.mod h1:4Ggyo4AFgjbIzULOminzUJAvgbzY3j5ysXlW/a0PdcQ=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.3-k3s.3 h1:wsosIFUS3v3VQwOPRP3/njSrW/O9WXTBzvAMdGcfmL0=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.3-k3s.3/go.mod h1:rcBmQEBoKrTUCORrHN/yvdmJPQsGpCEL61sZkMpMX/8=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.3-k3s.3 h1:xNfIaZNd3xtSahAkeLlaQ8o2b4b5gwig/JJXoCPHmZ4=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.3-k3s.3/go.mod h1:F6Fl77o501YUXNsJfBI+WAoC0ZcVGbw3FWQYig2Eplw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.3-k3s.3 h1:rUySia7I1z2Xe2PkmhMRonOMTbloHCsxScEOasQ99PM=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.3-k3s.3/go.mod h1:EM3ldevXE4F3MtIQ4hiuD/tCPbERnIGmMbh/rRhJTWU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.3-k3s.3 h1:xFedGXf+VUbMti9c3PH9blVGQ+UzrKwO+YtBb9vDjp8=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.3-k3s.3/go.mod h1:OZJzR5V6BBBN4xOUBmqtPhb4RuJez+IWLMODK/NIlJQ=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.3-k3s.3 h1:r6P2sKF2lvqXDR6h2PheToO/76h4EceWM09Mk1dCE3k=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.3-k3s.3/go.mod h1:dKWyWMnUIiQfD5yrNxeI07y0i6s19N9qnMId+knbLPI=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.3-k3s.3 h1:1hl9lTSH1Xe3LdGQ+L0AMeGl9NceYLV8wPjDO9g1orY=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.3-k3s.3/go.mod h1:NDJvuHvuvLV6miyzCs9HtkqBxy1Z+6UhEPYnUx38+6E=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.3-k3s.3 h1:hcCwq8UDFRFZzR4ScuxacG3mdqtd4AibaG0hbosalxY=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.3-k3s.3/go.mod h1:861E8pSdrE1y4su5sU2ybvnPMpymHFWZtnFl75mWktE=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.3-k3s.3 h1:Ix389bAy7HcjuD5Gh0chZatfFz9u51J6JPUnfWKYT78=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.3-k3s.3/go.mod h1:r5Ddw/Lh5GppfYcOPMtWU06QKtXaHj6iPHSZ3RZeJGU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.3-k3s.3 h1:VDExwnGFKg2Va00PtMQm3Vmv3+/PrQzomEoItf8jEIw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.3-k3s.3/go.mod h1:4Gc8gg/oUtfQgnOvrhYAu1AEwEpSzP8er8bKHbjVJBo=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.3-k3s.3 h1:pnmX6BYGUJnBUwMqVMOOnQiNRAa//IRaqxWMUuivH48=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.3-k3s.3/go.mod h1:NJRBXyb9zH0JrIobSBvZBoqUyxFXxcm0bN7Qr6MN12k=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.3-k3s.3 h1:iJT30DO49MEZzLInZInuYPU+IaF9Cac9ClHJZzmhA7g=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.3-k3s.3/go.mod h1:NXoFYaThKj0dmWgmQCs5fyce69w7dSPgJSjopV7HbwM=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.3-k3s.3 h1:lmF34d/m1evfkXUsIdchtTOElnZlxu6TPyTf7i9KZ+U=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.3-k3s.3/go.mod h1:xwK4w9WjvsWqe6BcCPgj/LRCLt0DyP2z0jLzkskrqk4=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.3-k3s.3 h1:ViK6cKoDs+nP7gu5WulYdkAx0pEHBRZsOFV0kdX2MpU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.3-k3s.3/go.mod h1:B0gdwJ6Lc3iB67M8vFyHLt9FMFIFmSuFqmrqlVzYjSM=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.3-k3s.3 h1:quvRjcQ6yBdTm1O0NxuI4vQs+H3J+uj7nQ8SG3xVe84=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.3-k3s.3/go.mod h1:ZiwCid/JscSDAF4cNOV+Cq+8t61kYWZoTsjhH8OaguY=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.3-k3s.3 h1://sOTht3YA161msP3KQrGG/wozunKsKou4zTg+y1EWA=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.3-k3s.3/go.mod h1:zFgVsUCkS999et21KQUK67gYZkbJbdRY0YJIw6TZyMg=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.3-k3s.3 h1:3CEMKNKuqeUC7e4HrkparvR9ETBvcydqcSPYMC25rZU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.3-k3s.3/go.mod h1:Q70yepfdw1i1HQkSCMIL1gzcS4keWGjjDPkFIWEGX64=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.3-k3s.3 h1:ZW8V6VwZa0AwHCx603gGu5I4HgoghCSuiAbeT7shIdA=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.3-k3s.3/go.mod h1:PtmuzszR3KI3+Ao8TV/Vm2c28uiLf/RT2P8PQR3Ddfg=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.3-k3s.3 h1:359wZ/EGd68CDorYfojhXqjpV0G8Qt1fJ5VxCzSWGxk=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.3-k3s.3/go.mod h1:nypsLFh31wJ+39/Hc52DBhS3277H3ztzYah1d4J0kaw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.3-k3s.3 h1:++ilYPjCqGUMb9SdlS9F+8rU6DccMjVwRoxywmrYjgc=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.3-k3s.3/go.mod h1:ZXuwfKuK6ZMbreRcmr4gRIa5dfuA+IG5oB+HhpB1Hjo=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.15.3-k3s.3/go.mod h1:AV4PilnJ+BCoSk8Y3pNti4CEBwVDOyTf1yFmyxj69ng=
|
||||
github.com/rancher/kubernetes v1.15.4-k3s.1 h1:e8cNAwljGFdyFi3vc6bIgSdul1JBViTZTYgW+tIMgQI=
|
||||
github.com/rancher/kubernetes v1.15.4-k3s.1/go.mod h1:4Ggyo4AFgjbIzULOminzUJAvgbzY3j5ysXlW/a0PdcQ=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.4-k3s.1 h1:KAhYFBNaG7pfDDHmkVpf7lMPdJF8iRMG4lPQDrJW0/Q=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.4-k3s.1/go.mod h1:rcBmQEBoKrTUCORrHN/yvdmJPQsGpCEL61sZkMpMX/8=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.4-k3s.1 h1:Vjk3ZW0NJEUyd0vQ2mVBnzT0J/9/4BAc7TtZ2FE0Onw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.4-k3s.1/go.mod h1:F6Fl77o501YUXNsJfBI+WAoC0ZcVGbw3FWQYig2Eplw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.4-k3s.1 h1:KvdZpj5DGNYc3/5EXDXIGUqbCjL5uTXnavDCnz4At58=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.4-k3s.1/go.mod h1:EM3ldevXE4F3MtIQ4hiuD/tCPbERnIGmMbh/rRhJTWU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.4-k3s.1 h1:ix8q9humjOPS69iinZaTsuaC3utplM4QtD7OgrEQiKI=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.4-k3s.1/go.mod h1:OZJzR5V6BBBN4xOUBmqtPhb4RuJez+IWLMODK/NIlJQ=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.4-k3s.1 h1:JRByWKuDyzmLma+Nnn/gdfxHdSZGcuFju1e3cftWnSs=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.4-k3s.1/go.mod h1:dKWyWMnUIiQfD5yrNxeI07y0i6s19N9qnMId+knbLPI=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.4-k3s.1 h1:VFK7EMAfKJVHu33S6S14HhhirtNZOxvOLfVRollVU8M=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.4-k3s.1/go.mod h1:NDJvuHvuvLV6miyzCs9HtkqBxy1Z+6UhEPYnUx38+6E=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.4-k3s.1 h1:qsLVcMnEfbiajgL5AZpf0SxZ9/dFNzhIeQPhl/8CeZ8=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.4-k3s.1/go.mod h1:861E8pSdrE1y4su5sU2ybvnPMpymHFWZtnFl75mWktE=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.4-k3s.1 h1:uUcMyMofQGvsp3ISdZmLqr9ISBOpe/r2UvcwuDMm+ss=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.4-k3s.1/go.mod h1:r5Ddw/Lh5GppfYcOPMtWU06QKtXaHj6iPHSZ3RZeJGU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.4-k3s.1 h1:iOdOj+Z3HtyIXDpSJ0gjEmAlVkhTYczTVnYjoepZ2K4=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.4-k3s.1/go.mod h1:4Gc8gg/oUtfQgnOvrhYAu1AEwEpSzP8er8bKHbjVJBo=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.4-k3s.1 h1:Wr7nkACqp80M8X2eU5oEDGE4dOdxdZeEU8C8BVmluVU=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.4-k3s.1/go.mod h1:NJRBXyb9zH0JrIobSBvZBoqUyxFXxcm0bN7Qr6MN12k=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.4-k3s.1 h1:MoQRn9zYsFyK4/hgkVxXqIEMv7sBRIujv95AOt4lMdc=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.4-k3s.1/go.mod h1:NXoFYaThKj0dmWgmQCs5fyce69w7dSPgJSjopV7HbwM=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.4-k3s.1 h1:saoJkC/vgjZvl4zD33WRx/F+SUbir3urrkxbysth55U=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.4-k3s.1/go.mod h1:xwK4w9WjvsWqe6BcCPgj/LRCLt0DyP2z0jLzkskrqk4=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.4-k3s.1 h1:eGQ3CgxTGE58+CPJ+2gDLQIXZyZqscSTrKLgWCLAK+c=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.4-k3s.1/go.mod h1:B0gdwJ6Lc3iB67M8vFyHLt9FMFIFmSuFqmrqlVzYjSM=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.4-k3s.1 h1:ctpstjLpGmLNur5nGIMstAfGKjMcPuCr1GT+xoaC1wk=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.4-k3s.1/go.mod h1:ZiwCid/JscSDAF4cNOV+Cq+8t61kYWZoTsjhH8OaguY=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.4-k3s.1 h1:SV4N6oVM7Fci1aNyvs6Vp7Tnb4iHSsVeKPehpb0TPEw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.4-k3s.1/go.mod h1:zFgVsUCkS999et21KQUK67gYZkbJbdRY0YJIw6TZyMg=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.4-k3s.1 h1:KsAmcKvc4qfZqB+Pbk3e7EmFtvNOvfjjoE9oFcM/4HI=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.4-k3s.1/go.mod h1:Q70yepfdw1i1HQkSCMIL1gzcS4keWGjjDPkFIWEGX64=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.4-k3s.1 h1:KyNP0cRyua4xHMnYqVEwlpyoXs+MYXIhzEeMTSuzWwc=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.4-k3s.1/go.mod h1:PtmuzszR3KI3+Ao8TV/Vm2c28uiLf/RT2P8PQR3Ddfg=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.4-k3s.1 h1:pdr8eK5DFy/+X394ABPL1OQ8WUMR12InOB/mmxw8+AE=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.4-k3s.1/go.mod h1:nypsLFh31wJ+39/Hc52DBhS3277H3ztzYah1d4J0kaw=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.4-k3s.1 h1:gUWdtxWKQL1pZDJHxbZjfHJ3VlbcATLx1Vng/ghXYIg=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.4-k3s.1/go.mod h1:ZXuwfKuK6ZMbreRcmr4gRIa5dfuA+IG5oB+HhpB1Hjo=
|
||||
github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.15.4-k3s.1/go.mod h1:AV4PilnJ+BCoSk8Y3pNti4CEBwVDOyTf1yFmyxj69ng=
|
||||
github.com/rancher/moq v0.0.0-20190404221404-ee5226d43009 h1:Xsxh7fX3+2wAUJtPy8g2lZh0cYuyifqhBL0vxCIYojs=
|
||||
github.com/rancher/moq v0.0.0-20190404221404-ee5226d43009/go.mod h1:wpITyDPTi/Na5h73XkbuEf2AP9fbgrIGqqxVzFhYD6U=
|
||||
github.com/rancher/plugins v0.7.5-k3s1 h1:iYLbr8cq41S3WNPXTY3y9NWnjT0D1bCzu7MqjcG0NQU=
|
||||
|
|
|
@ -23,11 +23,14 @@ go_library(
|
|||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/endpoints:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/endpoints/openapi:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
|
||||
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/util/workqueue:go_default_library",
|
||||
"//vendor/github.com/emicklei/go-restful:go_default_library",
|
||||
|
@ -61,6 +64,7 @@ go_test(
|
|||
"//vendor/github.com/googleapis/gnostic/compiler:go_default_library",
|
||||
"//vendor/gopkg.in/yaml.v2:go_default_library",
|
||||
"//vendor/k8s.io/kube-openapi/pkg/util/proto:go_default_library",
|
||||
"//vendor/k8s.io/utils/pointer:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -26,19 +26,21 @@ import (
|
|||
"github.com/go-openapi/spec"
|
||||
|
||||
v1 "k8s.io/api/autoscaling/v1"
|
||||
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
|
||||
structuralschema "k8s.io/apiextensions-apiserver/pkg/apiserver/schema"
|
||||
generatedopenapi "k8s.io/apiextensions-apiserver/pkg/generated/openapi"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apiserver/pkg/endpoints"
|
||||
"k8s.io/apiserver/pkg/endpoints/openapi"
|
||||
"k8s.io/apiserver/pkg/features"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
openapibuilder "k8s.io/kube-openapi/pkg/builder"
|
||||
"k8s.io/kube-openapi/pkg/common"
|
||||
"k8s.io/kube-openapi/pkg/util"
|
||||
|
||||
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
|
||||
generatedopenapi "k8s.io/apiextensions-apiserver/pkg/generated/openapi"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -252,11 +254,17 @@ func (b *builder) buildRoute(root, path, action, verb string, sample interface{}
|
|||
|
||||
// Build consume media types
|
||||
if action == "PATCH" {
|
||||
route.Consumes("application/json-patch+json",
|
||||
"application/merge-patch+json",
|
||||
"application/strategic-merge-patch+json")
|
||||
supportedTypes := []string{
|
||||
string(types.JSONPatchType),
|
||||
string(types.MergePatchType),
|
||||
}
|
||||
if utilfeature.DefaultFeatureGate.Enabled(features.ServerSideApply) {
|
||||
supportedTypes = append(supportedTypes, string(types.ApplyPatchType))
|
||||
}
|
||||
|
||||
route.Consumes(supportedTypes...)
|
||||
} else {
|
||||
route.Consumes("*/*")
|
||||
route.Consumes(runtime.ContentTypeJSON, runtime.ContentTypeYAML)
|
||||
}
|
||||
|
||||
// Build option parameters
|
||||
|
@ -292,12 +300,12 @@ func (b *builder) buildRoute(root, path, action, verb string, sample interface{}
|
|||
|
||||
// buildKubeNative builds input schema with Kubernetes' native object meta, type meta and
|
||||
// extensions
|
||||
func (b *builder) buildKubeNative(schema *structuralschema.Structural, v2 bool) (ret *spec.Schema) {
|
||||
func (b *builder) buildKubeNative(schema *structuralschema.Structural, v2 bool, crdPreserveUnknownFields bool) (ret *spec.Schema) {
|
||||
// only add properties if we have a schema. Otherwise, kubectl would (wrongly) assume additionalProperties=false
|
||||
// and forbid anything outside of apiVersion, kind and metadata. We have to fix kubectl to stop doing this, e.g. by
|
||||
// adding additionalProperties=true support to explicitly allow additional fields.
|
||||
// TODO: fix kubectl to understand additionalProperties=true
|
||||
if schema == nil || (v2 && schema.XPreserveUnknownFields) {
|
||||
if schema == nil || (v2 && (schema.XPreserveUnknownFields || crdPreserveUnknownFields)) {
|
||||
ret = &spec.Schema{
|
||||
SchemaProps: spec.SchemaProps{Type: []string{"object"}},
|
||||
}
|
||||
|
@ -464,7 +472,8 @@ func newBuilder(crd *apiextensions.CustomResourceDefinition, version string, sch
|
|||
}
|
||||
|
||||
// Pre-build schema with Kubernetes native properties
|
||||
b.schema = b.buildKubeNative(schema, v2)
|
||||
preserveUnknownFields := crd.Spec.PreserveUnknownFields != nil && *crd.Spec.PreserveUnknownFields
|
||||
b.schema = b.buildKubeNative(schema, v2, preserveUnknownFields)
|
||||
b.listSchema = b.buildListSchema()
|
||||
|
||||
return b
|
||||
|
|
|
@ -275,9 +275,22 @@ func (s *store) GuaranteedUpdate(
|
|||
transformContext := authenticatedDataString(key)
|
||||
for {
|
||||
if err := preconditions.Check(key, origState.obj); err != nil {
|
||||
// If our data is already up to date, return the error
|
||||
if !mustCheckData {
|
||||
return err
|
||||
}
|
||||
|
||||
// It's possible we were working with stale data
|
||||
// Actually fetch
|
||||
origState, err = getCurrentState()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
mustCheckData = false
|
||||
// Retry
|
||||
continue
|
||||
}
|
||||
|
||||
ret, ttl, err := s.updateState(origState, tryUpdate)
|
||||
if err != nil {
|
||||
// If our data is already up to date, return the error
|
||||
|
|
|
@ -3,8 +3,8 @@ package version
|
|||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "15"
|
||||
gitVersion = "v1.15.3-k3s.3"
|
||||
gitCommit = "cfb8c4b418f2a9ccdcd3029bf49400753678592b"
|
||||
gitVersion = "v1.15.4-k3s.1"
|
||||
gitCommit = "a7531b1ab3fd5ff987b074472ddfb84a2f5326bc"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2019-09-05T19:27+00:00Z"
|
||||
buildDate = "2019-09-19T22:36Z"
|
||||
)
|
||||
|
|
|
@ -623,17 +623,15 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, stopCh <-chan
|
|||
cgroupRoots = append(cgroupRoots, cm.NodeAllocatableRoot(s.CgroupRoot, s.CgroupDriver))
|
||||
kubeletCgroup, err := cm.GetKubeletContainer(s.KubeletCgroups)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get the kubelet's cgroup: %v", err)
|
||||
}
|
||||
if kubeletCgroup != "" {
|
||||
klog.Warningf("failed to get the kubelet's cgroup: %v. Kubelet system container metrics may be missing.", err)
|
||||
} else if kubeletCgroup != "" {
|
||||
cgroupRoots = append(cgroupRoots, kubeletCgroup)
|
||||
}
|
||||
|
||||
runtimeCgroup, err := cm.GetRuntimeContainer(s.ContainerRuntime, s.RuntimeCgroups)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get the container runtime's cgroup: %v", err)
|
||||
}
|
||||
if runtimeCgroup != "" {
|
||||
klog.Warningf("failed to get the container runtime's cgroup: %v. Runtime system container metrics may be missing.", err)
|
||||
} else if runtimeCgroup != "" {
|
||||
// RuntimeCgroups is optional, so ignore if it isn't specified
|
||||
cgroupRoots = append(cgroupRoots, runtimeCgroup)
|
||||
}
|
||||
|
|
|
@ -878,8 +878,6 @@ func validateQuobyteVolumeSource(quobyte *core.QuobyteVolumeSource, fldPath *fie
|
|||
allErrs := field.ErrorList{}
|
||||
if len(quobyte.Registry) == 0 {
|
||||
allErrs = append(allErrs, field.Required(fldPath.Child("registry"), "must be a host:port pair or multiple pairs separated by commas"))
|
||||
} else if len(quobyte.Tenant) == 0 {
|
||||
allErrs = append(allErrs, field.Required(fldPath.Child("tenant"), "must be a UUID provided by the configuration and may not be omitted "))
|
||||
} else if len(quobyte.Tenant) >= 65 {
|
||||
allErrs = append(allErrs, field.Required(fldPath.Child("tenant"), "must be a UUID and may not exceed a length of 64 characters"))
|
||||
} else {
|
||||
|
|
|
@ -344,11 +344,12 @@ func ApplyRevision(set *apps.StatefulSet, revision *apps.ControllerRevision) (*a
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = json.Unmarshal(patched, clone)
|
||||
restoredSet := &apps.StatefulSet{}
|
||||
err = json.Unmarshal(patched, restoredSet)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return clone, nil
|
||||
return restoredSet, nil
|
||||
}
|
||||
|
||||
// nextRevision finds the next valid revision number based on revisions. If the length of revisions
|
||||
|
|
|
@ -18,7 +18,7 @@ var (
|
|||
func init() {
|
||||
start := time.Now()
|
||||
defer func() {
|
||||
klog.Info("Instantiated OpenAPI definitions in ", time.Now().Sub(start))
|
||||
klog.V(7).Info("Instantiated OpenAPI definitions in ", time.Now().Sub(start))
|
||||
}()
|
||||
|
||||
var json = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||
|
|
|
@ -416,6 +416,7 @@ func recursiveTar(srcBase, srcFile, destBase, destFile string, tw *tar.Writer) e
|
|||
func (o *CopyOptions) untarAll(reader io.Reader, destDir, prefix string) error {
|
||||
// TODO: use compression here?
|
||||
tarReader := tar.NewReader(reader)
|
||||
symlinks := map[string]string{} // map of link -> destination
|
||||
for {
|
||||
header, err := tarReader.Next()
|
||||
if err != nil {
|
||||
|
@ -469,21 +470,10 @@ func (o *CopyOptions) untarAll(reader io.Reader, destDir, prefix string) error {
|
|||
}
|
||||
|
||||
if mode&os.ModeSymlink != 0 {
|
||||
linkname := header.Linkname
|
||||
// We need to ensure that the link destination is always within boundries
|
||||
// of the destination directory. This prevents any kind of path traversal
|
||||
// from within tar archive.
|
||||
linkTarget := linkname
|
||||
if !filepath.IsAbs(linkname) {
|
||||
linkTarget = filepath.Join(evaledPath, linkname)
|
||||
}
|
||||
if !isDestRelative(destDir, linkTarget) {
|
||||
fmt.Fprintf(o.IOStreams.ErrOut, "warning: link %q is pointing to %q which is outside target destination, skipping\n", destFileName, header.Linkname)
|
||||
continue
|
||||
}
|
||||
if err := os.Symlink(linkname, destFileName); err != nil {
|
||||
return err
|
||||
if _, exists := symlinks[destFileName]; exists {
|
||||
return fmt.Errorf("duplicate symlink: %q", destFileName)
|
||||
}
|
||||
symlinks[destFileName] = header.Linkname
|
||||
} else {
|
||||
outFile, err := os.Create(destFileName)
|
||||
if err != nil {
|
||||
|
@ -499,6 +489,17 @@ func (o *CopyOptions) untarAll(reader io.Reader, destDir, prefix string) error {
|
|||
}
|
||||
}
|
||||
|
||||
// Create symlinks after all regular files have been written.
|
||||
// Ordering this way prevents writing data outside the destination directory through path
|
||||
// traversals.
|
||||
// Symlink chaining is prevented due to the directory tree being established (MkdirAll) before
|
||||
// creating any symlinks.
|
||||
for newname, oldname := range symlinks {
|
||||
if err := os.Symlink(oldname, newname); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1,63 +1,10 @@
|
|||
/*
|
||||
Copyright 2019 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package version
|
||||
|
||||
// Base version information.
|
||||
//
|
||||
// This is the fallback data used when version information from git is not
|
||||
// provided via go ldflags. It provides an approximation of the Kubernetes
|
||||
// version for ad-hoc builds (e.g. `go build`) that cannot get the version
|
||||
// information from git.
|
||||
//
|
||||
// If you are looking at these fields in the git tree, they look
|
||||
// strange. They are modified on the fly by the build process. The
|
||||
// in-tree values are dummy values used for "git archive", which also
|
||||
// works for GitHub tar downloads.
|
||||
//
|
||||
// When releasing a new Kubernetes version, this file is updated by
|
||||
// build/mark_new_version.sh to reflect the new version, and then a
|
||||
// git annotated tag (using format vX.Y where X == Major version and Y
|
||||
// == Minor version) is created to point to the commit that updates
|
||||
// pkg/version/base.go
|
||||
var (
|
||||
// TODO: Deprecate gitMajor and gitMinor, use only gitVersion
|
||||
// instead. First step in deprecation, keep the fields but make
|
||||
// them irrelevant. (Next we'll take it out, which may muck with
|
||||
// scripts consuming the kubectl version output - but most of
|
||||
// these should be looking at gitVersion already anyways.)
|
||||
gitMajor string // major version, always numeric
|
||||
gitMinor string // minor version, numeric possibly followed by "+"
|
||||
|
||||
// semantic version, derived by build scripts (see
|
||||
// https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md
|
||||
// for a detailed discussion of this field)
|
||||
//
|
||||
// TODO: This field is still called "gitVersion" for legacy
|
||||
// reasons. For prerelease versions, the build metadata on the
|
||||
// semantic version is a git hash, but the version itself is no
|
||||
// longer the direct output of "git describe", but a slight
|
||||
// translation to be semver compliant.
|
||||
|
||||
// NOTE: The $Format strings are replaced during 'git archive' thanks to the
|
||||
// companion .gitattributes file containing 'export-subst' in this same
|
||||
// directory. See also https://git-scm.com/docs/gitattributes
|
||||
gitVersion = "v0.0.0-master+$Format:%h$"
|
||||
gitCommit = "$Format:%H$" // sha1 from git, output of $(git rev-parse HEAD)
|
||||
gitTreeState = "" // state of git tree, either "clean" or "dirty"
|
||||
|
||||
buildDate = "1970-01-01T00:00:00Z" // build date in ISO8601 format, output of $(date -u +'%Y-%m-%dT%H:%M:%SZ')
|
||||
gitMajor = "1"
|
||||
gitMinor = "15"
|
||||
gitVersion = "v1.15.4-k3s.1"
|
||||
gitCommit = "a7531b1ab3fd5ff987b074472ddfb84a2f5326bc"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2019-09-19T22:36Z"
|
||||
)
|
||||
|
|
|
@ -80,6 +80,7 @@ go_library(
|
|||
"//pkg/kubelet/runtimeclass:go_default_library",
|
||||
"//pkg/kubelet/secret:go_default_library",
|
||||
"//pkg/kubelet/server:go_default_library",
|
||||
"//pkg/kubelet/server/metrics:go_default_library",
|
||||
"//pkg/kubelet/server/portforward:go_default_library",
|
||||
"//pkg/kubelet/server/remotecommand:go_default_library",
|
||||
"//pkg/kubelet/server/stats:go_default_library",
|
||||
|
|
|
@ -43,7 +43,7 @@ const (
|
|||
)
|
||||
|
||||
var (
|
||||
conflictRE = regexp.MustCompile(`Conflict. (?:.)+ is already in use by container ([0-9a-z]+)`)
|
||||
conflictRE = regexp.MustCompile(`Conflict. (?:.)+ is already in use by container \"?([0-9a-z]+)\"?`)
|
||||
|
||||
// this is hacky, but extremely common.
|
||||
// if a container starts but the executable file is not found, runc gives a message that matches
|
||||
|
|
|
@ -90,6 +90,7 @@ import (
|
|||
"k8s.io/kubernetes/pkg/kubelet/runtimeclass"
|
||||
"k8s.io/kubernetes/pkg/kubelet/secret"
|
||||
"k8s.io/kubernetes/pkg/kubelet/server"
|
||||
servermetrics "k8s.io/kubernetes/pkg/kubelet/server/metrics"
|
||||
serverstats "k8s.io/kubernetes/pkg/kubelet/server/stats"
|
||||
"k8s.io/kubernetes/pkg/kubelet/server/streaming"
|
||||
"k8s.io/kubernetes/pkg/kubelet/stats"
|
||||
|
@ -1315,6 +1316,7 @@ func (kl *Kubelet) initializeModules() error {
|
|||
collectors.NewLogMetricsCollector(kl.StatsProvider.ListPodStats),
|
||||
)
|
||||
metrics.SetNodeName(kl.nodeName)
|
||||
servermetrics.Register()
|
||||
|
||||
// Setup filesystem directories.
|
||||
if err := kl.setupDataDirs(); err != nil {
|
||||
|
@ -1629,11 +1631,13 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error {
|
|||
if mirrorPod.DeletionTimestamp != nil || !kl.podManager.IsMirrorPodOf(mirrorPod, pod) {
|
||||
// The mirror pod is semantically different from the static pod. Remove
|
||||
// it. The mirror pod will get recreated later.
|
||||
klog.Warningf("Deleting mirror pod %q because it is outdated", format.Pod(mirrorPod))
|
||||
if err := kl.podManager.DeleteMirrorPod(podFullName); err != nil {
|
||||
klog.Infof("Trying to delete pod %s %v", podFullName, mirrorPod.ObjectMeta.UID)
|
||||
var err error
|
||||
deleted, err = kl.podManager.DeleteMirrorPod(podFullName, &mirrorPod.ObjectMeta.UID)
|
||||
if deleted {
|
||||
klog.Warningf("Deleted mirror pod %q because it is outdated", format.Pod(mirrorPod))
|
||||
} else if err != nil {
|
||||
klog.Errorf("Failed deleting mirror pod %q: %v", format.Pod(mirrorPod), err)
|
||||
} else {
|
||||
deleted = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import (
|
|||
"io"
|
||||
"math"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/docker/docker/daemon/logger/jsonfilelog/jsonlog"
|
||||
|
@ -271,6 +272,16 @@ func (w *logWriter) write(msg *logMessage) error {
|
|||
// Note that containerID is only needed when following the log, or else
|
||||
// just pass in empty string "".
|
||||
func ReadLogs(ctx context.Context, path, containerID string, opts *LogOptions, runtimeService internalapi.RuntimeService, stdout, stderr io.Writer) error {
|
||||
// fsnotify has different behavior for symlinks in different platform,
|
||||
// for example it follows symlink on Linux, but not on Windows,
|
||||
// so we explicitly resolve symlinks before reading the logs.
|
||||
// There shouldn't be security issue because the container log
|
||||
// path is owned by kubelet and the container runtime.
|
||||
evaluated, err := filepath.EvalSymlinks(path)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to try resolving symlinks in path %q: %v", path, err)
|
||||
}
|
||||
path = evaluated
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to open log file %q: %v", path, err)
|
||||
|
|
|
@ -20,6 +20,7 @@ import (
|
|||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/klog"
|
||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||
|
@ -35,7 +36,7 @@ type MirrorClient interface {
|
|||
CreateMirrorPod(pod *v1.Pod) error
|
||||
// DeleteMirrorPod deletes the mirror pod with the given full name from
|
||||
// the API server or returns an error.
|
||||
DeleteMirrorPod(podFullName string) error
|
||||
DeleteMirrorPod(podFullName string, uid *types.UID) (bool, error)
|
||||
}
|
||||
|
||||
// basicMirrorClient is a functional MirrorClient. Mirror pods are stored in
|
||||
|
@ -73,21 +74,35 @@ func (mc *basicMirrorClient) CreateMirrorPod(pod *v1.Pod) error {
|
|||
return err
|
||||
}
|
||||
|
||||
func (mc *basicMirrorClient) DeleteMirrorPod(podFullName string) error {
|
||||
// DeleteMirrorPod deletes a mirror pod.
|
||||
// It takes the full name of the pod and optionally a UID. If the UID
|
||||
// is non-nil, the pod is deleted only if its UID matches the supplied UID.
|
||||
// It returns whether the pod was actually deleted, and any error returned
|
||||
// while parsing the name of the pod.
|
||||
// Non-existence of the pod or UID mismatch is not treated as an error; the
|
||||
// routine simply returns false in that case.
|
||||
func (mc *basicMirrorClient) DeleteMirrorPod(podFullName string, uid *types.UID) (bool, error) {
|
||||
if mc.apiserverClient == nil {
|
||||
return nil
|
||||
return false, nil
|
||||
}
|
||||
name, namespace, err := kubecontainer.ParsePodFullName(podFullName)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to parse a pod full name %q", podFullName)
|
||||
return err
|
||||
return false, err
|
||||
}
|
||||
klog.V(2).Infof("Deleting a mirror pod %q", podFullName)
|
||||
// TODO(random-liu): Delete the mirror pod with uid precondition in mirror pod manager
|
||||
if err := mc.apiserverClient.CoreV1().Pods(namespace).Delete(name, metav1.NewDeleteOptions(0)); err != nil && !errors.IsNotFound(err) {
|
||||
klog.V(2).Infof("Deleting a mirror pod %q (uid %#v)", podFullName, uid)
|
||||
var GracePeriodSeconds int64
|
||||
GracePeriodSeconds = 0
|
||||
if err := mc.apiserverClient.CoreV1().Pods(namespace).Delete(name, &metav1.DeleteOptions{GracePeriodSeconds: &GracePeriodSeconds, Preconditions: &metav1.Preconditions{UID: uid}}); err != nil {
|
||||
// Unfortunately, there's no generic error for failing a precondition
|
||||
if !(errors.IsNotFound(err) || errors.IsConflict(err)) {
|
||||
// We should return the error here, but historically this routine does
|
||||
// not return an error unless it can't parse the pod name
|
||||
klog.Errorf("Failed deleting a mirror pod %q: %v", podFullName, err)
|
||||
}
|
||||
return nil
|
||||
return false, nil
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// IsStaticPod returns true if the pod is a static pod.
|
||||
|
|
|
@ -338,7 +338,7 @@ func (pm *basicManager) getOrphanedMirrorPodNames() []string {
|
|||
func (pm *basicManager) DeleteOrphanedMirrorPods() {
|
||||
podFullNames := pm.getOrphanedMirrorPodNames()
|
||||
for _, podFullName := range podFullNames {
|
||||
pm.MirrorClient.DeleteMirrorPod(podFullName)
|
||||
pm.MirrorClient.DeleteMirrorPod(podFullName, nil)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1597,7 +1597,7 @@ func formatHPAMetrics(specs []autoscaling.MetricSpec, statuses []autoscaling.Met
|
|||
case autoscaling.ExternalMetricSourceType:
|
||||
if spec.External.Target.AverageValue != nil {
|
||||
current := "<unknown>"
|
||||
if len(statuses) > i && statuses[i].External != nil && &statuses[i].External.Current.AverageValue != nil {
|
||||
if len(statuses) > i && statuses[i].External != nil && statuses[i].External.Current.AverageValue != nil {
|
||||
current = statuses[i].External.Current.AverageValue.String()
|
||||
}
|
||||
list = append(list, fmt.Sprintf("%s/%s (avg)", current, spec.External.Target.AverageValue.String()))
|
||||
|
|
|
@ -1691,25 +1691,6 @@ func (proxier *Proxier) cleanLegacyService(activeServices map[string]bool, curre
|
|||
continue
|
||||
}
|
||||
if _, ok := activeServices[cs]; !ok {
|
||||
rsList, _ := proxier.ipvs.GetRealServers(svc)
|
||||
|
||||
// If we still have real servers graceful termination is not done
|
||||
if len(rsList) > 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
// Applying graceful termination to all real servers
|
||||
for _, rs := range rsList {
|
||||
uniqueRS := GetUniqueRSName(svc, rs)
|
||||
// If RS is already in the graceful termination list, no need to add it again
|
||||
if proxier.gracefuldeleteManager.InTerminationList(uniqueRS) {
|
||||
continue
|
||||
}
|
||||
klog.V(5).Infof("Using graceful delete to delete: %v", uniqueRS)
|
||||
if err := proxier.gracefuldeleteManager.GracefulDeleteRS(svc, rs); err != nil {
|
||||
klog.Errorf("Failed to delete destination: %v, error: %v", uniqueRS, err)
|
||||
}
|
||||
}
|
||||
klog.V(4).Infof("Delete service %s", svc.String())
|
||||
if err := proxier.ipvs.DeleteVirtualServer(svc); err != nil {
|
||||
klog.Errorf("Failed to delete service %s, error: %v", svc.String(), err)
|
||||
|
|
|
@ -3,8 +3,8 @@ package version
|
|||
var (
|
||||
gitMajor = "1"
|
||||
gitMinor = "15"
|
||||
gitVersion = "v1.15.3-k3s.3"
|
||||
gitCommit = "cfb8c4b418f2a9ccdcd3029bf49400753678592b"
|
||||
gitVersion = "v1.15.4-k3s.1"
|
||||
gitCommit = "a7531b1ab3fd5ff987b074472ddfb84a2f5326bc"
|
||||
gitTreeState = "clean"
|
||||
buildDate = "2019-09-05T19:27+00:00Z"
|
||||
buildDate = "2019-09-19T22:36Z"
|
||||
)
|
||||
|
|
|
@ -61,9 +61,11 @@ func (mc *metricsCsi) GetMetrics() (*volume.Metrics, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// if plugin doesnot support volume status, return.
|
||||
if !volumeStatsSet {
|
||||
return nil, nil
|
||||
return nil, volume.NewNotSupportedErrorWithDriverName(
|
||||
string(mc.csiClientGetter.driverName))
|
||||
}
|
||||
// Get Volumestatus
|
||||
metrics, err := csiClient.NodeGetVolumeStats(ctx, mc.volumeID, mc.targetPath)
|
||||
|
|
|
@ -89,7 +89,7 @@ func updateISCSIDiscoverydb(b iscsiDiskMounter, tp string) error {
|
|||
if len(v) > 0 {
|
||||
out, err := b.exec.Run("iscsiadm", "-m", "discoverydb", "-t", "sendtargets", "-p", tp, "-I", b.Iface, "-o", "update", "-n", k, "-v", v)
|
||||
if err != nil {
|
||||
return fmt.Errorf("iscsi: failed to update discoverydb key %q with value %q error: %v", k, v, string(out))
|
||||
return fmt.Errorf("iscsi: failed to update discoverydb key %q error: %v", k, string(out))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ func updateISCSINode(b iscsiDiskMounter, tp string) error {
|
|||
if len(v) > 0 {
|
||||
out, err := b.exec.Run("iscsiadm", "-m", "node", "-p", tp, "-T", b.Iqn, "-I", b.Iface, "-o", "update", "-n", k, "-v", v)
|
||||
if err != nil {
|
||||
return fmt.Errorf("iscsi: failed to update node session key %q with value %q error: %v", k, v, string(out))
|
||||
return fmt.Errorf("iscsi: failed to update node session key %q error: %v", k, string(out))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,16 @@ func NewNotSupportedError() *MetricsError {
|
|||
}
|
||||
}
|
||||
|
||||
// NewNoPathDefined creates a new MetricsError with code NoPathDefined.
|
||||
// NewNotSupportedErrorWithDriverName creates a new MetricsError with code NotSupported.
|
||||
// driver name is added to the error message.
|
||||
func NewNotSupportedErrorWithDriverName(name string) *MetricsError {
|
||||
return &MetricsError{
|
||||
Code: ErrCodeNotSupported,
|
||||
Msg: fmt.Sprintf("metrics are not supported for %s volumes", name),
|
||||
}
|
||||
}
|
||||
|
||||
// NewNoPathDefinedError creates a new MetricsError with code NoPathDefined.
|
||||
func NewNoPathDefinedError() *MetricsError {
|
||||
return &MetricsError{
|
||||
Code: ErrCodeNoPathDefined,
|
||||
|
|
|
@ -933,7 +933,7 @@ gopkg.in/square/go-jose.v2/json
|
|||
gopkg.in/warnings.v0
|
||||
# gopkg.in/yaml.v2 v2.2.2
|
||||
gopkg.in/yaml.v2
|
||||
# k8s.io/api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.3-k3s.3
|
||||
# k8s.io/api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.15.4-k3s.1
|
||||
k8s.io/api/core/v1
|
||||
k8s.io/api/apps/v1
|
||||
k8s.io/api/admissionregistration/v1beta1
|
||||
|
@ -972,7 +972,7 @@ k8s.io/api/storage/v1alpha1
|
|||
k8s.io/api/storage/v1beta1
|
||||
k8s.io/api/admission/v1beta1
|
||||
k8s.io/api/imagepolicy/v1alpha1
|
||||
# k8s.io/apiextensions-apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.3-k3s.3
|
||||
# k8s.io/apiextensions-apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.15.4-k3s.1
|
||||
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1
|
||||
k8s.io/apiextensions-apiserver/pkg/apiserver
|
||||
k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion
|
||||
|
@ -1012,7 +1012,7 @@ k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme
|
|||
k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme
|
||||
k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1
|
||||
k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1
|
||||
# k8s.io/apimachinery v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.3-k3s.3
|
||||
# k8s.io/apimachinery v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.15.4-k3s.1
|
||||
k8s.io/apimachinery/pkg/util/json
|
||||
k8s.io/apimachinery/pkg/util/net
|
||||
k8s.io/apimachinery/pkg/apis/meta/v1
|
||||
|
@ -1074,7 +1074,7 @@ k8s.io/apimachinery/pkg/api/meta/table
|
|||
k8s.io/apimachinery/pkg/apis/meta/v1beta1/validation
|
||||
k8s.io/apimachinery/pkg/runtime/serializer/yaml
|
||||
k8s.io/apimachinery/pkg/util/duration
|
||||
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.3-k3s.3
|
||||
# k8s.io/apiserver v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.15.4-k3s.1
|
||||
k8s.io/apiserver/pkg/authentication/authenticator
|
||||
k8s.io/apiserver/pkg/endpoints/request
|
||||
k8s.io/apiserver/pkg/server
|
||||
|
@ -1189,7 +1189,7 @@ k8s.io/apiserver/pkg/registry/generic/rest
|
|||
k8s.io/apiserver/pkg/storage/value/encrypt/envelope/v1beta1
|
||||
k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission
|
||||
k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1
|
||||
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.3-k3s.3
|
||||
# k8s.io/cli-runtime v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.15.4-k3s.1
|
||||
k8s.io/cli-runtime/pkg/genericclioptions
|
||||
k8s.io/cli-runtime/pkg/printers
|
||||
k8s.io/cli-runtime/pkg/resource
|
||||
|
@ -1202,7 +1202,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/configmapandsecret
|
|||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/hash
|
||||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch
|
||||
k8s.io/cli-runtime/pkg/kustomize/k8sdeps/kv
|
||||
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.3-k3s.3
|
||||
# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.15.4-k3s.1
|
||||
k8s.io/client-go/util/cert
|
||||
k8s.io/client-go/kubernetes
|
||||
k8s.io/client-go/tools/clientcmd
|
||||
|
@ -1379,16 +1379,16 @@ k8s.io/client-go/listers/node/v1alpha1
|
|||
k8s.io/client-go/listers/scheduling/v1alpha1
|
||||
k8s.io/client-go/listers/scheduling/v1beta1
|
||||
k8s.io/client-go/listers/storage/v1alpha1
|
||||
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.3-k3s.3
|
||||
# k8s.io/cloud-provider v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.15.4-k3s.1
|
||||
k8s.io/cloud-provider
|
||||
k8s.io/cloud-provider/service/helpers
|
||||
k8s.io/cloud-provider/volume/errors
|
||||
k8s.io/cloud-provider/volume
|
||||
k8s.io/cloud-provider/volume/helpers
|
||||
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.3-k3s.3
|
||||
# k8s.io/cluster-bootstrap v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.15.4-k3s.1
|
||||
k8s.io/cluster-bootstrap/token/api
|
||||
k8s.io/cluster-bootstrap/token/util
|
||||
# k8s.io/code-generator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.3-k3s.3
|
||||
# k8s.io/code-generator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.15.4-k3s.1
|
||||
k8s.io/code-generator/cmd/client-gen/args
|
||||
k8s.io/code-generator/cmd/client-gen/generators
|
||||
k8s.io/code-generator/cmd/client-gen/types
|
||||
|
@ -1403,7 +1403,7 @@ k8s.io/code-generator/pkg/util
|
|||
k8s.io/code-generator/cmd/client-gen/generators/fake
|
||||
k8s.io/code-generator/cmd/client-gen/generators/scheme
|
||||
k8s.io/code-generator/pkg/namer
|
||||
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.3-k3s.3
|
||||
# k8s.io/component-base v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.15.4-k3s.1
|
||||
k8s.io/component-base/logs
|
||||
k8s.io/component-base/cli/flag
|
||||
k8s.io/component-base/config
|
||||
|
@ -1412,10 +1412,10 @@ k8s.io/component-base/featuregate
|
|||
k8s.io/component-base/config/v1alpha1
|
||||
k8s.io/component-base/metrics
|
||||
k8s.io/component-base/config/validation
|
||||
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.3-k3s.3
|
||||
# k8s.io/cri-api v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.15.4-k3s.1
|
||||
k8s.io/cri-api/pkg/apis/runtime/v1alpha2
|
||||
k8s.io/cri-api/pkg/apis
|
||||
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.3-k3s.3
|
||||
# k8s.io/csi-translation-lib v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.15.4-k3s.1
|
||||
k8s.io/csi-translation-lib/plugins
|
||||
k8s.io/csi-translation-lib
|
||||
# k8s.io/gengo v0.0.0-20190327210449-e17681d19d3a
|
||||
|
@ -1430,7 +1430,7 @@ k8s.io/gengo/examples/set-gen/sets
|
|||
k8s.io/heapster/metrics/api/v1/types
|
||||
# k8s.io/klog v0.3.1
|
||||
k8s.io/klog
|
||||
# k8s.io/kube-aggregator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.3-k3s.3
|
||||
# k8s.io/kube-aggregator v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.15.4-k3s.1
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1
|
||||
|
@ -1454,7 +1454,7 @@ k8s.io/kube-aggregator/pkg/client/informers/internalversion/apiregistration
|
|||
k8s.io/kube-aggregator/pkg/registry/apiservice/etcd
|
||||
k8s.io/kube-aggregator/pkg/registry/apiservice
|
||||
k8s.io/kube-aggregator/pkg/apis/apiregistration/validation
|
||||
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.3-k3s.3
|
||||
# k8s.io/kube-controller-manager v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.15.4-k3s.1
|
||||
k8s.io/kube-controller-manager/config/v1alpha1
|
||||
# k8s.io/kube-openapi v0.0.0-20190502190224-411b2483e503 => k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30
|
||||
k8s.io/kube-openapi/pkg/builder
|
||||
|
@ -1465,13 +1465,13 @@ k8s.io/kube-openapi/pkg/util/proto
|
|||
k8s.io/kube-openapi/pkg/aggregator
|
||||
k8s.io/kube-openapi/pkg/util/proto/validation
|
||||
k8s.io/kube-openapi/pkg/schemaconv
|
||||
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.3-k3s.3
|
||||
# k8s.io/kube-proxy v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.15.4-k3s.1
|
||||
k8s.io/kube-proxy/config/v1alpha1
|
||||
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.3-k3s.3
|
||||
# k8s.io/kube-scheduler v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.15.4-k3s.1
|
||||
k8s.io/kube-scheduler/config/v1alpha1
|
||||
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.3-k3s.3
|
||||
# k8s.io/kubelet v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.15.4-k3s.1
|
||||
k8s.io/kubelet/config/v1beta1
|
||||
# k8s.io/kubernetes v1.15.3 => github.com/rancher/kubernetes v1.15.3-k3s.3
|
||||
# k8s.io/kubernetes v1.15.3 => github.com/rancher/kubernetes v1.15.4-k3s.1
|
||||
k8s.io/kubernetes/cmd/hyperkube
|
||||
k8s.io/kubernetes/pkg/kubelet/apis/deviceplugin/v1beta1
|
||||
k8s.io/kubernetes/pkg/kubelet/util
|
||||
|
@ -1915,6 +1915,7 @@ k8s.io/kubernetes/pkg/kubelet/prober
|
|||
k8s.io/kubernetes/pkg/kubelet/prober/results
|
||||
k8s.io/kubernetes/pkg/kubelet/runtimeclass
|
||||
k8s.io/kubernetes/pkg/kubelet/secret
|
||||
k8s.io/kubernetes/pkg/kubelet/server/metrics
|
||||
k8s.io/kubernetes/pkg/kubelet/server/portforward
|
||||
k8s.io/kubernetes/pkg/kubelet/server/remotecommand
|
||||
k8s.io/kubernetes/pkg/kubelet/server/stats
|
||||
|
@ -1972,7 +1973,6 @@ k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/panic
|
|||
k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/codec
|
||||
k8s.io/kubernetes/pkg/apis/core/v1/validation
|
||||
k8s.io/kubernetes/pkg/kubelet/apis/resourcemetrics/v1alpha1
|
||||
k8s.io/kubernetes/pkg/kubelet/server/metrics
|
||||
k8s.io/kubernetes/pkg/volume/util/fs
|
||||
k8s.io/kubernetes/pkg/volume/util/recyclerclient
|
||||
k8s.io/kubernetes/pkg/volume/csi/csiv0
|
||||
|
@ -2234,9 +2234,9 @@ k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1
|
|||
k8s.io/kubernetes/pkg/apis/abac/v1beta1
|
||||
k8s.io/kubernetes/third_party/forked/gonum/graph/internal/linear
|
||||
k8s.io/kubernetes/pkg/util/maps
|
||||
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.3-k3s.3
|
||||
# k8s.io/legacy-cloud-providers v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.15.4-k3s.1
|
||||
k8s.io/legacy-cloud-providers/gce
|
||||
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.3-k3s.3
|
||||
# k8s.io/metrics v0.0.0 => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.15.4-k3s.1
|
||||
k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1
|
||||
k8s.io/metrics/pkg/client/custom_metrics
|
||||
k8s.io/metrics/pkg/client/external_metrics
|
||||
|
|
Loading…
Reference in New Issue