diff --git a/go.mod b/go.mod index 1e49231c5d..e31bc5a781 100644 --- a/go.mod +++ b/go.mod @@ -33,31 +33,31 @@ replace ( 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/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a - k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.14-k3s1 - k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.14-k3s1 - k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.14-k3s1 - k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.14-k3s1 - k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.14-k3s1 - k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.14-k3s1 - k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.14-k3s1 - k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.14-k3s1 - k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.14-k3s1 - k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.14-k3s1 - k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.14-k3s1 - k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.14-k3s1 - k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.14-k3s1 - k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.14-k3s1 - k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.14-k3s1 - k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.14-k3s1 - k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.14-k3s1 - k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.14-k3s1 - k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.17.14-k3s1 - k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.14-k3s1 - k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.14-k3s1 - k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.17.14-k3s1 - k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.14-k3s1 - k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.17.14-k3s1 - k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.17.14-k3s1 + k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.15-k3s1 + k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.15-k3s1 + k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.15-k3s1 + k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.15-k3s1 + k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.15-k3s1 + k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.15-k3s1 + k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.15-k3s1 + k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.15-k3s1 + k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.15-k3s1 + k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.15-k3s1 + k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.15-k3s1 + k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.15-k3s1 + k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.15-k3s1 + k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.15-k3s1 + k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.15-k3s1 + k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.15-k3s1 + k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.15-k3s1 + k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.15-k3s1 + k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.17.15-k3s1 + k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.15-k3s1 + k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.15-k3s1 + k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.17.15-k3s1 + k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.15-k3s1 + k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.17.15-k3s1 + k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.17.15-k3s1 mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34 ) @@ -123,5 +123,5 @@ require ( k8s.io/component-base v0.0.0 k8s.io/cri-api v0.0.0 k8s.io/klog v1.0.0 - k8s.io/kubernetes v1.17.14 + k8s.io/kubernetes v1.17.15 ) diff --git a/go.sum b/go.sum index 9bd29c9dfa..2acd13c8c7 100644 --- a/go.sum +++ b/go.sum @@ -521,49 +521,49 @@ github.com/k3s-io/containerd v1.3.9-k3s1 h1:VeMMmcojFZDJlLkgtIr7GAmDUgtGS7ME3KvL github.com/k3s-io/containerd v1.3.9-k3s1/go.mod h1:eMCLnqhZCzg+cZuvfMLStYPsrx5cWGpdZL6krPhK8RI= github.com/k3s-io/cri v1.3.0-k3s.9 h1:1PUJysV7YQElM5JEjnHdOQ2kgwtTiSJ5fpx1j4/WjzU= github.com/k3s-io/cri v1.3.0-k3s.9/go.mod h1:fGPUUHMKQik/vIegSe05DtX/m4miovdtvVLqRUFAkK0= -github.com/k3s-io/kubernetes v1.17.14-k3s1 h1:qI3+vAOjxo1rANfoSqpUf+e/o36tSAgXc/p7JofSYMU= -github.com/k3s-io/kubernetes v1.17.14-k3s1/go.mod h1:J8bqjhrOYZ/dDhaQU8sEfM+aH81x3Urfw1uODZc7ZfU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.14-k3s1 h1:Z83y7Wd7Hg6/i+rZJZ0HUf+q2k8u8jE7PJg/aLbcoIA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.14-k3s1/go.mod h1:D7sf1F7GAHEK5DOn11dKP5J/QJvUShU2AopXe/AXghk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.14-k3s1 h1:FqyV2S39HNtBh0pfR4LN5acqwW5M/TTVh5uSUMZ91pk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.14-k3s1/go.mod h1:t7xE4B3a1No++QbRlihSWT6HFc2hJeKY7tD3hVzUH04= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.14-k3s1 h1:WIF5BqIRafWA2+T3HLxcrezyY8hjjiuaL0518/biSfU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.14-k3s1/go.mod h1:SNGiMTQO86w2jZv4F8XbEzo/oxw/SVhYrUc6PeLKIUM= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.14-k3s1 h1:37auMf8rBaqSsdWQNdxpGo3vXGEtfXdieZ6dzE5Q82k= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.14-k3s1/go.mod h1:460zYYu4Oz1IQnJVEIw61q/liMtZg4rJxWa6te3TAX8= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.14-k3s1 h1:fquYb1yPKAXC++hbam2345W5ErJ6NeQxMi9MKyUOhdQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.14-k3s1/go.mod h1:gDRxKO8EN1rpLXzjeVmzc8c9RFs0ZqY8WJf/li0tNQc= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.14-k3s1 h1:dmpWdE/n7S/7V3JSgL8T8hPdDKBkBliXfKqufFdgukY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.14-k3s1/go.mod h1:TECGv+eYoAdQLqXqLn6lbdWb7W17Ibw22Wksad3Wad0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.14-k3s1 h1:5TyL3B7bTd/n31DGZUEUIBRjk5JvUhmUS5sWI1CLpDg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.14-k3s1/go.mod h1:ycFddVBapK98UCwexOuDsvQLD3tfiVdRlXm2jjNP14c= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.14-k3s1 h1:RPhAu7O9c8EERJP1z4Wkfzbl/MDJtRkiugQ1yl0IjT0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.14-k3s1/go.mod h1:45LXh7SMJ3p4QnHER5TrOGhYz0CWcjb3xyq6aQqnebk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.14-k3s1 h1:QgRZ5GJjwwR/DsTs4T06B3NMW95DXD0XTSXUS3VZWvk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.14-k3s1/go.mod h1:SSBU1UzegXPz71t1XwnyfZzhclthC7gz/GVmpj7dezI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.14-k3s1 h1:c5XFitJmI0jKkOAEd03uN6XzTSwY+dDNnvy76j3hvA8= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.14-k3s1/go.mod h1:cTBtMr/eUcihQ4sFhgiDPlmlFpn1xBY37yQ+zNcT1IE= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.14-k3s1 h1:kEyj3O+QjsqIFOXyrnh4FywSiZTV3ROq9pLhV1xRqOQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.14-k3s1/go.mod h1:MFtntPG6S7PSTqf06WHsjhdZ/gOTxfzFgNEzfhO5Uus= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.14-k3s1 h1:WfU0xPfojvgOcdOt5xg7qbPJYIAsPpHXIkRLgHQt0uA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.14-k3s1/go.mod h1:k7r//UcXL2LipyGNpT/v/LG7Dsa9wILmaV4XyRhIPF4= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.14-k3s1 h1:35DZBrhnhzwHsQYvqzmRa1sV5mvEZY8iHOsyoh0Hb2I= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.14-k3s1/go.mod h1:oiCmE5poHbGfbkdIVMoITelay3hTqhonrn8EPg9c4kM= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.14-k3s1 h1:ruEP4K1GAQZBlrqPKx7Piv4aLO7Qi/XE6pV/ES59EW0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.14-k3s1/go.mod h1:mKHow8zS1GpDcLHlAgghj2BKPOZrpEIHA30lWyRF3gg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.14-k3s1 h1:zwhziVEl818xKdhSXBuJ7nvhWWybSlUNsYCbtdJv0B0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.14-k3s1/go.mod h1:6SB+e2ragxZ8CPWrgNZ7F9KkCFykx5zQjnLVP2SWQ00= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.14-k3s1 h1:X2QMpwsVgizkxc0lGdB/bsyDABtDhCC14qs1fLA4UXQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.14-k3s1/go.mod h1:8rHmgUeQCsvaVrSy79lQc3DKD5PQp9cJH0DLw2GSAdk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.14-k3s1 h1:RULOmB466ZhHxVUpQpaU1j0FJaa9mIYjjBh/LbI59UU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.14-k3s1/go.mod h1:GQ+tU0gTBihZ7OA9ISKQFAVS9ur7huPo+EAfoKJfO2Q= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.14-k3s1 h1:KkRC1bm7MfUdcCl90cgC41QSeGb2yojiLAUtJ9c4Zpk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.14-k3s1/go.mod h1:oHq6KV/WjiamPxKs2Np7JxcOEwHXfMybRBnLrMsTOHs= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.14-k3s1 h1:J/1YCOOyp0pWTwTrtwXPV4hnNQ248rsiXtvd08ZjSI8= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.14-k3s1/go.mod h1:/Ay7JUxnDftnjC20qd2wU13RQSAi6jsvdbx5P3g+Rig= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.14-k3s1 h1:4gu58KDLqvaP0vzTwQJQ5Vc49Dk7C3Xa5kbeT0llPMI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.14-k3s1/go.mod h1:e70DTGI+y72YcU8iGDifilyP5uW6sPmBflDEjtiH/p0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.14-k3s1/go.mod h1:Aa3q34X2DLzqzugHP1xGSjJsPsaWdzhexM9Thk/AG7g= +github.com/k3s-io/kubernetes v1.17.15-k3s1 h1:FOF2bKmNtvi7jSbN6stpYlfst16tUQeHoAQQqqm+L5A= +github.com/k3s-io/kubernetes v1.17.15-k3s1/go.mod h1:J8bqjhrOYZ/dDhaQU8sEfM+aH81x3Urfw1uODZc7ZfU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.15-k3s1 h1:OQlgpxRujsWkt5wARXaNADZWi53oezXOKoZ/9/NXYw4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.15-k3s1/go.mod h1:D7sf1F7GAHEK5DOn11dKP5J/QJvUShU2AopXe/AXghk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.15-k3s1 h1:UmJdrEbz4ni12E3nIhPDPqQiFVzhl9EMc2xLA9XUCSM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.15-k3s1/go.mod h1:t7xE4B3a1No++QbRlihSWT6HFc2hJeKY7tD3hVzUH04= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.15-k3s1 h1:2ngy2KczEd9pp4GFV+BzQ9wtmJ1cJkonYHtE3l7ybQk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.15-k3s1/go.mod h1:SNGiMTQO86w2jZv4F8XbEzo/oxw/SVhYrUc6PeLKIUM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.15-k3s1 h1:9w9AZ/cmMBWUQKi729tK/f27IE+peWpXwxNHPwUvxek= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.15-k3s1/go.mod h1:460zYYu4Oz1IQnJVEIw61q/liMtZg4rJxWa6te3TAX8= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.15-k3s1 h1:rG02mR3ecE3B2lQYQKutUDMZBe9JptbOe5SZ2WT7L08= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.15-k3s1/go.mod h1:gDRxKO8EN1rpLXzjeVmzc8c9RFs0ZqY8WJf/li0tNQc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.15-k3s1 h1:nwGJjcLH5P/pSX2phlDo+7tHa5Uwph2Rw9NghApDPrw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.15-k3s1/go.mod h1:TECGv+eYoAdQLqXqLn6lbdWb7W17Ibw22Wksad3Wad0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.15-k3s1 h1:eIPEG+EWEkcFrfegatBwfnTWtBqatgySFpK7sKL/xjY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.15-k3s1/go.mod h1:ycFddVBapK98UCwexOuDsvQLD3tfiVdRlXm2jjNP14c= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.15-k3s1 h1:DEjF75STyLPjB8Qb/SRlR1qJbrmsl7DuUzkiMj+FsD0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.15-k3s1/go.mod h1:45LXh7SMJ3p4QnHER5TrOGhYz0CWcjb3xyq6aQqnebk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.15-k3s1 h1:mmpTbz7OYCc/5pR3y8qkNQ8dryIlg+0M8WNN1ZmZmgM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.15-k3s1/go.mod h1:SSBU1UzegXPz71t1XwnyfZzhclthC7gz/GVmpj7dezI= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.15-k3s1 h1:LbFnBCs3pHmaAZAeNguyo69xAb+iTs5EtT8QTaI5HZs= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.15-k3s1/go.mod h1:cTBtMr/eUcihQ4sFhgiDPlmlFpn1xBY37yQ+zNcT1IE= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.15-k3s1 h1:uf27CumJAS5ZOt9AjCYZYiTG4xJdJO+pD9VWYNNp/SY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.15-k3s1/go.mod h1:MFtntPG6S7PSTqf06WHsjhdZ/gOTxfzFgNEzfhO5Uus= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.15-k3s1 h1:IZLqSktPBVvzhCgu7thiEy4coeZ+KZ58oO2mlkabbj4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.15-k3s1/go.mod h1:k7r//UcXL2LipyGNpT/v/LG7Dsa9wILmaV4XyRhIPF4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.15-k3s1 h1:iQt+MR1QJjCMScT9pvrbXyhqA6ejJey8mUSmrKmOHyM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.15-k3s1/go.mod h1:oiCmE5poHbGfbkdIVMoITelay3hTqhonrn8EPg9c4kM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.15-k3s1 h1:uxQwSP0OCKpyZJCIdLHKDVH28Zf4wQv+meJzSxBAok8= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.15-k3s1/go.mod h1:mKHow8zS1GpDcLHlAgghj2BKPOZrpEIHA30lWyRF3gg= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.15-k3s1 h1:XtIjkUIXzP7GpJz4Z0PM2OJ+iHluY304WOgV9ViXkvw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.15-k3s1/go.mod h1:6SB+e2ragxZ8CPWrgNZ7F9KkCFykx5zQjnLVP2SWQ00= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.15-k3s1 h1:FvRTweks620satxG2egCvikGxHsiZnnAJMY3tf/EJO0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.15-k3s1/go.mod h1:8rHmgUeQCsvaVrSy79lQc3DKD5PQp9cJH0DLw2GSAdk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.15-k3s1 h1:eAokpA1Zm9YOnNbRXISkkXlxG4GfHwPjFaoWYjwaqg0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.15-k3s1/go.mod h1:GQ+tU0gTBihZ7OA9ISKQFAVS9ur7huPo+EAfoKJfO2Q= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.15-k3s1 h1:lQZ0vmAGPK7hi1OPgjhX8fZyI5QrsuTOBYXKrtIqu6o= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.15-k3s1/go.mod h1:oHq6KV/WjiamPxKs2Np7JxcOEwHXfMybRBnLrMsTOHs= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.15-k3s1 h1:+1YzJvEK7kLpf84+695o5hBzre3qRH9Ar6oDT8mN3e0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.15-k3s1/go.mod h1:/Ay7JUxnDftnjC20qd2wU13RQSAi6jsvdbx5P3g+Rig= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.15-k3s1 h1:zhDyvzBn7I3gWGvjyQw/5wl3cSRmUchGB9dOWQVgcw8= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.15-k3s1/go.mod h1:e70DTGI+y72YcU8iGDifilyP5uW6sPmBflDEjtiH/p0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.17.15-k3s1/go.mod h1:Aa3q34X2DLzqzugHP1xGSjJsPsaWdzhexM9Thk/AG7g= github.com/karrick/godirwalk v1.7.5 h1:VbzFqwXwNbAZoA6W5odrLr+hKK197CcENcPh6E/gJ0M= github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= github.com/keybase/go-crypto v0.0.0-20190403132359-d65b6b94177f/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= diff --git a/vendor/k8s.io/apiserver/pkg/server/options/authorization.go b/vendor/k8s.io/apiserver/pkg/server/options/authorization.go index 7284c261f1..d26a9bd922 100644 --- a/vendor/k8s.io/apiserver/pkg/server/options/authorization.go +++ b/vendor/k8s.io/apiserver/pkg/server/options/authorization.go @@ -59,6 +59,10 @@ type DelegatingAuthorizationOptions struct { // AlwaysAllowGroups are groups which are allowed to take any actions. In kube, this is system:masters. AlwaysAllowGroups []string + + // ClientTimeout specifies a time limit for requests made by SubjectAccessReviews client. + // The default value is set to 10 seconds. + ClientTimeout time.Duration } func NewDelegatingAuthorizationOptions() *DelegatingAuthorizationOptions { @@ -66,6 +70,7 @@ func NewDelegatingAuthorizationOptions() *DelegatingAuthorizationOptions { // very low for responsiveness, but high enough to handle storms AllowCacheTTL: 10 * time.Second, DenyCacheTTL: 10 * time.Second, + ClientTimeout: 10 * time.Second, } } @@ -81,6 +86,11 @@ func (s *DelegatingAuthorizationOptions) WithAlwaysAllowPaths(paths ...string) * return s } +// WithClientTimeout sets the given timeout for SAR client used by this authorizer +func (s *DelegatingAuthorizationOptions) WithClientTimeout(timeout time.Duration) { + s.ClientTimeout = timeout +} + func (s *DelegatingAuthorizationOptions) Validate() []error { allErrors := []error{} return allErrors @@ -186,6 +196,7 @@ func (s *DelegatingAuthorizationOptions) getClient() (kubernetes.Interface, erro // set high qps/burst limits since this will effectively limit API server responsiveness clientConfig.QPS = 200 clientConfig.Burst = 400 + clientConfig.Timeout = s.ClientTimeout return kubernetes.NewForConfig(clientConfig) } diff --git a/vendor/k8s.io/apiserver/pkg/storage/cacher/cacher.go b/vendor/k8s.io/apiserver/pkg/storage/cacher/cacher.go index aadd33d392..073da80332 100644 --- a/vendor/k8s.io/apiserver/pkg/storage/cacher/cacher.go +++ b/vendor/k8s.io/apiserver/pkg/storage/cacher/cacher.go @@ -172,8 +172,10 @@ func (i *indexedWatchers) terminateAll(objectType reflect.Type, done func(*cache // second in a bucket, and pop up them once at the timeout. To be more specific, // if you set fire time at X, you can get the bookmark within (X-1,X+1) period. type watcherBookmarkTimeBuckets struct { - lock sync.Mutex + lock sync.Mutex + // the key of watcherBuckets is the number of seconds since createTime watchersBuckets map[int64][]*cacheWatcher + createTime time.Time startBucketID int64 clock clock.Clock } @@ -181,7 +183,8 @@ type watcherBookmarkTimeBuckets struct { func newTimeBucketWatchers(clock clock.Clock) *watcherBookmarkTimeBuckets { return &watcherBookmarkTimeBuckets{ watchersBuckets: make(map[int64][]*cacheWatcher), - startBucketID: clock.Now().Unix(), + createTime: clock.Now(), + startBucketID: 0, clock: clock, } } @@ -193,7 +196,7 @@ func (t *watcherBookmarkTimeBuckets) addWatcher(w *cacheWatcher) bool { if !ok { return false } - bucketID := nextTime.Unix() + bucketID := int64(nextTime.Sub(t.createTime) / time.Second) t.lock.Lock() defer t.lock.Unlock() if bucketID < t.startBucketID { @@ -205,7 +208,7 @@ func (t *watcherBookmarkTimeBuckets) addWatcher(w *cacheWatcher) bool { } func (t *watcherBookmarkTimeBuckets) popExpiredWatchers() [][]*cacheWatcher { - currentBucketID := t.clock.Now().Unix() + currentBucketID := int64(t.clock.Since(t.createTime) / time.Second) // There should be one or two elements in almost all cases expiredWatchers := make([][]*cacheWatcher, 0, 2) t.lock.Lock() diff --git a/vendor/k8s.io/client-go/pkg/version/base.go b/vendor/k8s.io/client-go/pkg/version/base.go index 74d1772604..468d734b89 100644 --- a/vendor/k8s.io/client-go/pkg/version/base.go +++ b/vendor/k8s.io/client-go/pkg/version/base.go @@ -3,8 +3,8 @@ package version var ( gitMajor = "1" gitMinor = "17" - gitVersion = "v1.17.14-k3s1" - gitCommit = "e6b7a7ca314e53c3539e5e70bd93fda6bd22c416" + gitVersion = "v1.17.15-k3s1" + gitCommit = "6de5b4e17702a4184de16f8595a8abe7fbed209d" gitTreeState = "clean" - buildDate = "2020-11-11T21:47:59Z" + buildDate = "2020-12-10T00:24:25Z" ) diff --git a/vendor/k8s.io/component-base/version/base.go b/vendor/k8s.io/component-base/version/base.go index 74d1772604..468d734b89 100644 --- a/vendor/k8s.io/component-base/version/base.go +++ b/vendor/k8s.io/component-base/version/base.go @@ -3,8 +3,8 @@ package version var ( gitMajor = "1" gitMinor = "17" - gitVersion = "v1.17.14-k3s1" - gitCommit = "e6b7a7ca314e53c3539e5e70bd93fda6bd22c416" + gitVersion = "v1.17.15-k3s1" + gitCommit = "6de5b4e17702a4184de16f8595a8abe7fbed209d" gitTreeState = "clean" - buildDate = "2020-11-11T21:47:59Z" + buildDate = "2020-12-10T00:24:25Z" ) diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/BUILD b/vendor/k8s.io/kubernetes/cmd/kubelet/app/BUILD index 2bb87eeea7..a1fef12058 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/BUILD +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/BUILD @@ -9,6 +9,7 @@ load( go_test( name = "go_default_test", srcs = [ + "init_windows_test.go", "server_bootstrap_test.go", "server_test.go", ], @@ -158,6 +159,7 @@ go_library( ], "@io_bazel_rules_go//go/platform:windows": [ "//pkg/windows/service:go_default_library", + "//vendor/golang.org/x/sys/windows:go_default_library", ], "//conditions:default": [], }), diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_others.go b/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_others.go index 4b19ac91b2..1fe895f5d0 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_others.go +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_others.go @@ -18,6 +18,6 @@ limitations under the License. package app -func initForOS(service bool) error { +func initForOS(service bool, priorityClass string) error { return nil } diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_windows.go b/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_windows.go index a2da4cf049..1ba1a64f22 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_windows.go +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/init_windows.go @@ -19,6 +19,10 @@ limitations under the License. package app import ( + "fmt" + + "golang.org/x/sys/windows" + "k8s.io/klog" "k8s.io/kubernetes/pkg/windows/service" ) @@ -26,7 +30,36 @@ const ( serviceName = "kubelet" ) -func initForOS(windowsService bool) error { +// getPriorityValue returns the value associated with a Windows process priorityClass +// Ref: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/setpriority-method-in-class-win32-process +func getPriorityValue(priorityClassName string) uint32 { + var priorityClassMap = map[string]uint32{ + "IDLE_PRIORITY_CLASS": uint32(64), + "BELOW_NORMAL_PRIORITY_CLASS": uint32(16384), + "NORMAL_PRIORITY_CLASS": uint32(32), + "ABOVE_NORMAL_PRIORITY_CLASS": uint32(32768), + "HIGH_PRIORITY_CLASS": uint32(128), + "REALTIME_PRIORITY_CLASS": uint32(256), + } + return priorityClassMap[priorityClassName] +} + +func initForOS(windowsService bool, windowsPriorityClass string) error { + priority := getPriorityValue(windowsPriorityClass) + if priority == 0 { + return fmt.Errorf("unknown priority class %s, valid ones are available at "+ + "https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities", windowsPriorityClass) + } + kubeletProcessHandle, err := windows.GetCurrentProcess() + if err != nil { + return err + } + // Set the priority of the kubelet process to given priority + klog.Infof("Setting the priority of kubelet process to %s", windowsPriorityClass) + if err := windows.SetPriorityClass(kubeletProcessHandle, priority); err != nil { + return err + } + if windowsService { return service.InitService(serviceName) } diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/options.go b/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/options.go index d2d9a62ecd..593bcd5d54 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/options.go +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/options.go @@ -126,6 +126,13 @@ type KubeletFlags struct { // Its corresponding flag only gets registered in Windows builds. WindowsService bool + // WindowsPriorityClass sets the priority class associated with the Kubelet process + // Its corresponding flag only gets registered in Windows builds + // The default priority class associated with any process in Windows is NORMAL_PRIORITY_CLASS. Keeping it as is + // to maintain backwards compatibility. + // Source: https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities + WindowsPriorityClass string + // remoteRuntimeEndpoint is the endpoint of remote runtime service RemoteRuntimeEndpoint string // remoteImageEndpoint is the endpoint of remote image service diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/osflags_windows.go b/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/osflags_windows.go index 8923f5d6f1..95ee23483e 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/osflags_windows.go +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/options/osflags_windows.go @@ -24,4 +24,10 @@ import ( func (f *KubeletFlags) addOSFlags(fs *pflag.FlagSet) { fs.BoolVar(&f.WindowsService, "windows-service", f.WindowsService, "Enable Windows Service Control Manager API integration") + // The default priority class associated with any process in Windows is NORMAL_PRIORITY_CLASS. Keeping it as is + // to maintain backwards compatibility. + // Source: https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities + fs.StringVar(&f.WindowsPriorityClass, "windows-priorityclass", "NORMAL_PRIORITY_CLASS", + "Set the PriorityClass associated with kubelet process, the default ones are available at "+ + "https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities") } diff --git a/vendor/k8s.io/kubernetes/cmd/kubelet/app/server.go b/vendor/k8s.io/kubernetes/cmd/kubelet/app/server.go index 6259e4e11e..cd5ddc1405 100644 --- a/vendor/k8s.io/kubernetes/cmd/kubelet/app/server.go +++ b/vendor/k8s.io/kubernetes/cmd/kubelet/app/server.go @@ -410,7 +410,7 @@ func UnsecuredDependencies(s *options.KubeletServer, featureGate featuregate.Fea func Run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, featureGate featuregate.FeatureGate, stopCh <-chan struct{}) error { // To help debugging, immediately log version klog.Infof("Version: %+v", version.Get()) - if err := initForOS(s.KubeletFlags.WindowsService); err != nil { + if err := initForOS(s.KubeletFlags.WindowsService, s.KubeletFlags.WindowsPriorityClass); err != nil { return fmt.Errorf("failed OS init: %v", err) } if err := run(s, kubeDeps, featureGate, stopCh); err != nil { diff --git a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/adapter.go b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/adapter.go index bfbfb9e241..10939a0d97 100644 --- a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/adapter.go +++ b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/adapter.go @@ -21,6 +21,7 @@ package ipam import ( "context" "encoding/json" + "fmt" "net" "k8s.io/klog" @@ -60,8 +61,12 @@ func newAdapter(k8s clientset.Interface, cloud *gce.Cloud) *adapter { return ret } -func (a *adapter) Alias(ctx context.Context, nodeName string) (*net.IPNet, error) { - cidrs, err := a.cloud.AliasRanges(types.NodeName(nodeName)) +func (a *adapter) Alias(ctx context.Context, node *v1.Node) (*net.IPNet, error) { + if node.Spec.ProviderID == "" { + return nil, fmt.Errorf("node %s doesn't have providerID", node.Name) + } + + cidrs, err := a.cloud.AliasRangesByProviderID(node.Spec.ProviderID) if err != nil { return nil, err } @@ -72,7 +77,7 @@ func (a *adapter) Alias(ctx context.Context, nodeName string) (*net.IPNet, error case 1: break default: - klog.Warningf("Node %q has more than one alias assigned (%v), defaulting to the first", nodeName, cidrs) + klog.Warningf("Node %q has more than one alias assigned (%v), defaulting to the first", node.Name, cidrs) } _, cidrRange, err := net.ParseCIDR(cidrs[0]) @@ -83,8 +88,12 @@ func (a *adapter) Alias(ctx context.Context, nodeName string) (*net.IPNet, error return cidrRange, nil } -func (a *adapter) AddAlias(ctx context.Context, nodeName string, cidrRange *net.IPNet) error { - return a.cloud.AddAliasToInstance(types.NodeName(nodeName), cidrRange) +func (a *adapter) AddAlias(ctx context.Context, node *v1.Node, cidrRange *net.IPNet) error { + if node.Spec.ProviderID == "" { + return fmt.Errorf("node %s doesn't have providerID", node.Name) + } + + return a.cloud.AddAliasToInstanceByProviderID(node.Spec.ProviderID, cidrRange) } func (a *adapter) Node(ctx context.Context, name string) (*v1.Node, error) { diff --git a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go index 19adb41026..63975dc76c 100644 --- a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go +++ b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go @@ -249,8 +249,11 @@ func (ca *cloudCIDRAllocator) updateCIDRAllocation(nodeName string) error { klog.Errorf("Failed while getting node %v for updating Node.Spec.PodCIDR: %v", nodeName, err) return err } + if node.Spec.ProviderID == "" { + return fmt.Errorf("node %s doesn't have providerID", nodeName) + } - cidrs, err := ca.cloud.AliasRanges(types.NodeName(nodeName)) + cidrs, err := ca.cloud.AliasRangesByProviderID(node.Spec.ProviderID) if err != nil { nodeutil.RecordNodeStatusChange(ca.recorder, node, "CIDRNotAvailable") return fmt.Errorf("failed to allocate cidr: %v", err) diff --git a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/sync/sync.go b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/sync/sync.go index ee95392b8f..733f76c592 100644 --- a/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/sync/sync.go +++ b/vendor/k8s.io/kubernetes/pkg/controller/nodeipam/ipam/sync/sync.go @@ -43,9 +43,9 @@ const ( // cloudAlias is the interface to the cloud platform APIs. type cloudAlias interface { // Alias returns the IP alias for the node. - Alias(ctx context.Context, nodeName string) (*net.IPNet, error) + Alias(ctx context.Context, node *v1.Node) (*net.IPNet, error) // AddAlias adds an alias to the node. - AddAlias(ctx context.Context, nodeName string, cidrRange *net.IPNet) error + AddAlias(ctx context.Context, node *v1.Node, cidrRange *net.IPNet) error } // kubeAPI is the interface to the Kubernetes APIs. @@ -204,7 +204,7 @@ func (op *updateOp) run(sync *NodeSync) error { op.node = node } - aliasRange, err := sync.cloudAlias.Alias(ctx, sync.nodeName) + aliasRange, err := sync.cloudAlias.Alias(ctx, op.node) if err != nil { klog.Errorf("Error getting cloud alias for node %q: %v", sync.nodeName, err) return err @@ -293,7 +293,7 @@ func (op *updateOp) updateAliasFromNode(ctx context.Context, sync *NodeSync, nod return err } - if err := sync.cloudAlias.AddAlias(ctx, node.Name, aliasRange); err != nil { + if err := sync.cloudAlias.AddAlias(ctx, node, aliasRange); err != nil { klog.Errorf("Could not add alias %v for node %q: %v", aliasRange, node.Name, err) return err } @@ -325,7 +325,7 @@ func (op *updateOp) allocateRange(ctx context.Context, sync *NodeSync, node *v1. // If addAlias returns a hard error, cidrRange will be leaked as there // is no durable record of the range. The missing space will be // recovered on the next restart of the controller. - if err := sync.cloudAlias.AddAlias(ctx, node.Name, cidrRange); err != nil { + if err := sync.cloudAlias.AddAlias(ctx, node, cidrRange); err != nil { klog.Errorf("Could not add alias %v for node %q: %v", cidrRange, node.Name, err) return err } diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/kuberuntime_manager.go index 6d44270b2a..e3f38c71b0 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -510,19 +510,30 @@ func (m *kubeGenericRuntimeManager) computePodActions(pod *v1.Pod, podStatus *ku changes.CreateSandbox = false return changes } + + // Get the containers to start, excluding the ones that succeeded if RestartPolicy is OnFailure. + var containersToStart []int + for idx, c := range pod.Spec.Containers { + if pod.Spec.RestartPolicy == v1.RestartPolicyOnFailure && containerSucceeded(&c, podStatus) { + continue + } + containersToStart = append(containersToStart, idx) + } + // We should not create a sandbox for a Pod if initialization is done and there is no container to start. + if len(containersToStart) == 0 { + _, _, done := findNextInitContainerToRun(pod, podStatus) + if done { + changes.CreateSandbox = false + return changes + } + } + if len(pod.Spec.InitContainers) != 0 { // Pod has init containers, return the first one. changes.NextInitContainerToStart = &pod.Spec.InitContainers[0] return changes } - // Start all containers by default but exclude the ones that succeeded if - // RestartPolicy is OnFailure. - for idx, c := range pod.Spec.Containers { - if containerSucceeded(&c, podStatus) && pod.Spec.RestartPolicy == v1.RestartPolicyOnFailure { - continue - } - changes.ContainersToStart = append(changes.ContainersToStart, idx) - } + changes.ContainersToStart = containersToStart return changes } diff --git a/vendor/k8s.io/kubernetes/pkg/volume/azure_dd/azure_dd_max_disk_count.go b/vendor/k8s.io/kubernetes/pkg/volume/azure_dd/azure_dd_max_disk_count.go index 7bc40bda5a..c5a8cb73ee 100644 --- a/vendor/k8s.io/kubernetes/pkg/volume/azure_dd/azure_dd_max_disk_count.go +++ b/vendor/k8s.io/kubernetes/pkg/volume/azure_dd/azure_dd_max_disk_count.go @@ -74,7 +74,9 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_D16DS_V4": 32, "STANDARD_D16D_V4": 32, "STANDARD_D16S_V3": 32, + "STANDARD_D16S_V4": 32, "STANDARD_D16_V3": 32, + "STANDARD_D16_V4": 32, "STANDARD_D1_V2": 4, "STANDARD_D2": 8, "STANDARD_D2AS_V4": 4, @@ -82,16 +84,20 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_D2DS_V4": 4, "STANDARD_D2D_V4": 4, "STANDARD_D2S_V3": 4, + "STANDARD_D2S_V4": 4, "STANDARD_D2_V2": 8, "STANDARD_D2_V2_PROMO": 8, "STANDARD_D2_V3": 4, + "STANDARD_D2_V4": 4, "STANDARD_D3": 16, "STANDARD_D32AS_V4": 32, "STANDARD_D32A_V4": 32, "STANDARD_D32DS_V4": 32, "STANDARD_D32D_V4": 32, "STANDARD_D32S_V3": 32, + "STANDARD_D32S_V4": 32, "STANDARD_D32_V3": 32, + "STANDARD_D32_V4": 32, "STANDARD_D3_V2": 16, "STANDARD_D3_V2_PROMO": 16, "STANDARD_D4": 32, @@ -100,15 +106,19 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_D48DS_V4": 32, "STANDARD_D48D_V4": 32, "STANDARD_D48S_V3": 32, + "STANDARD_D48S_V4": 32, "STANDARD_D48_V3": 32, + "STANDARD_D48_V4": 32, "STANDARD_D4AS_V4": 8, "STANDARD_D4A_V4": 8, "STANDARD_D4DS_V4": 8, "STANDARD_D4D_V4": 8, "STANDARD_D4S_V3": 8, + "STANDARD_D4S_V4": 8, "STANDARD_D4_V2": 32, "STANDARD_D4_V2_PROMO": 32, "STANDARD_D4_V3": 8, + "STANDARD_D4_V4": 8, "STANDARD_D5_V2": 64, "STANDARD_D5_V2_PROMO": 64, "STANDARD_D64AS_V4": 32, @@ -116,13 +126,17 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_D64DS_V4": 32, "STANDARD_D64D_V4": 32, "STANDARD_D64S_V3": 32, + "STANDARD_D64S_V4": 32, "STANDARD_D64_V3": 32, + "STANDARD_D64_V4": 32, "STANDARD_D8AS_V4": 16, "STANDARD_D8A_V4": 16, "STANDARD_D8DS_V4": 16, "STANDARD_D8D_V4": 16, "STANDARD_D8S_V3": 16, + "STANDARD_D8S_V4": 16, "STANDARD_D8_V3": 16, + "STANDARD_D8_V4": 16, "STANDARD_D96AS_V4": 32, "STANDARD_D96A_V4": 32, "STANDARD_DC1S_V2": 1, @@ -130,6 +144,7 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_DC2S_V2": 2, "STANDARD_DC4S": 4, "STANDARD_DC4S_V2": 4, + "STANDARD_DC8S": 8, "STANDARD_DC8_V2": 8, "STANDARD_DS11-1_V2": 8, "STANDARD_DS11": 8, @@ -164,55 +179,82 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_DS4_V2_PROMO": 32, "STANDARD_DS5_V2": 64, "STANDARD_DS5_V2_PROMO": 64, + "STANDARD_E16-4AS_V4": 32, "STANDARD_E16-4DS_V4": 32, "STANDARD_E16-4S_V3": 32, + "STANDARD_E16-4S_V4": 32, + "STANDARD_E16-8AS_V4": 32, "STANDARD_E16-8DS_V4": 32, "STANDARD_E16-8S_V3": 32, + "STANDARD_E16-8S_V4": 32, "STANDARD_E16AS_V4": 32, "STANDARD_E16A_V4": 32, "STANDARD_E16DS_V4": 32, "STANDARD_E16D_V4": 32, "STANDARD_E16S_V3": 32, + "STANDARD_E16S_V4": 32, "STANDARD_E16_V3": 32, + "STANDARD_E16_V4": 32, "STANDARD_E20AS_V4": 32, "STANDARD_E20A_V4": 32, "STANDARD_E20DS_V4": 32, "STANDARD_E20D_V4": 32, "STANDARD_E20S_V3": 32, + "STANDARD_E20S_V4": 32, "STANDARD_E20_V3": 32, + "STANDARD_E20_V4": 32, "STANDARD_E2AS_V4": 4, "STANDARD_E2A_V4": 4, "STANDARD_E2DS_V4": 4, "STANDARD_E2D_V4": 4, "STANDARD_E2S_V3": 4, + "STANDARD_E2S_V4": 4, "STANDARD_E2_V3": 4, + "STANDARD_E2_V4": 4, + "STANDARD_E32-16AS_V4": 32, "STANDARD_E32-16DS_V4": 32, "STANDARD_E32-16S_V3": 32, + "STANDARD_E32-16S_V4": 32, + "STANDARD_E32-8AS_V4": 32, "STANDARD_E32-8DS_V4": 32, "STANDARD_E32-8S_V3": 32, + "STANDARD_E32-8S_V4": 32, "STANDARD_E32AS_V4": 32, "STANDARD_E32A_V4": 32, "STANDARD_E32DS_V4": 32, "STANDARD_E32D_V4": 32, "STANDARD_E32S_V3": 32, + "STANDARD_E32S_V4": 32, "STANDARD_E32_V3": 32, + "STANDARD_E32_V4": 32, + "STANDARD_E4-2AS_V4": 8, "STANDARD_E4-2DS_V4": 8, "STANDARD_E4-2S_V3": 8, + "STANDARD_E4-2S_V4": 8, "STANDARD_E48AS_V4": 32, "STANDARD_E48A_V4": 32, "STANDARD_E48DS_V4": 32, "STANDARD_E48D_V4": 32, "STANDARD_E48S_V3": 32, + "STANDARD_E48S_V4": 32, "STANDARD_E48_V3": 32, + "STANDARD_E48_V4": 32, "STANDARD_E4AS_V4": 8, "STANDARD_E4A_V4": 8, "STANDARD_E4DS_V4": 8, "STANDARD_E4D_V4": 8, "STANDARD_E4S_V3": 8, + "STANDARD_E4S_V4": 8, "STANDARD_E4_V3": 8, + "STANDARD_E4_V4": 8, + "STANDARD_E64-16AS_V4": 32, "STANDARD_E64-16DS_V4": 32, "STANDARD_E64-16S_V3": 32, + "STANDARD_E64-16S_V4": 32, + "STANDARD_E64-32AS_V4": 32, + "STANDARD_E64-32DS_V4": 32, "STANDARD_E64-32S_V3": 32, + "STANDARD_E64-32S_V4": 32, "STANDARD_E64AS_V4": 32, "STANDARD_E64A_V4": 32, "STANDARD_E64DS_V4": 32, @@ -220,17 +262,29 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_E64IS_V3": 32, "STANDARD_E64I_V3": 32, "STANDARD_E64S_V3": 32, + "STANDARD_E64S_V4": 32, "STANDARD_E64_V3": 32, + "STANDARD_E64_V4": 32, + "STANDARD_E80IDS_V4": 32, + "STANDARD_E80IS_V4": 32, + "STANDARD_E8-2AS_V4": 16, "STANDARD_E8-2DS_V4": 16, "STANDARD_E8-2S_V3": 16, + "STANDARD_E8-2S_V4": 16, + "STANDARD_E8-4AS_V4": 16, "STANDARD_E8-4DS_V4": 16, "STANDARD_E8-4S_V3": 16, + "STANDARD_E8-4S_V4": 16, "STANDARD_E8AS_V4": 16, "STANDARD_E8A_V4": 16, "STANDARD_E8DS_V4": 16, "STANDARD_E8D_V4": 16, "STANDARD_E8S_V3": 16, + "STANDARD_E8S_V4": 16, "STANDARD_E8_V3": 16, + "STANDARD_E8_V4": 16, + "STANDARD_E96-24AS_V4": 32, + "STANDARD_E96-48AS_V4": 32, "STANDARD_E96AS_V4": 32, "STANDARD_E96A_V4": 32, "STANDARD_F1": 4, @@ -324,6 +378,7 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_NC12_PROMO": 48, "STANDARD_NC12S_V2": 24, "STANDARD_NC12S_V3": 24, + "STANDARD_NC16AS_T4_V3": 32, "STANDARD_NC24": 64, "STANDARD_NC24_PROMO": 64, "STANDARD_NC24R": 64, @@ -332,10 +387,13 @@ var maxDataDiskCountMap = map[string]int64{ "STANDARD_NC24RS_V3": 32, "STANDARD_NC24S_V2": 32, "STANDARD_NC24S_V3": 32, + "STANDARD_NC4AS_T4_V3": 8, "STANDARD_NC6": 24, + "STANDARD_NC64AS_T4_V3": 32, "STANDARD_NC6_PROMO": 24, "STANDARD_NC6S_V2": 12, "STANDARD_NC6S_V3": 12, + "STANDARD_NC8AS_T4_V3": 16, "STANDARD_ND12S": 24, "STANDARD_ND24RS": 32, "STANDARD_ND24S": 32, diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go index 8d2e124325..d565c77858 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_backoff.go @@ -278,7 +278,7 @@ func (az *Cloud) CreateOrUpdateLB(service *v1.Service, lb network.LoadBalancer) az.lbCache.Delete(*lb.Name) } // The LB update may fail because the referenced PIP is not in the Succeeded provisioning state - if strings.Contains(strings.ToLower(err.Error()), strings.ToLower(referencedResourceNotProvisionedMessageCode)) { + if err != nil && strings.Contains(strings.ToLower(err.Error()), strings.ToLower(referencedResourceNotProvisionedMessageCode)) { matches := pipErrorMessageRE.FindStringSubmatch(err.Error()) if len(matches) != 3 { klog.Warningf("Failed to parse the retry error message %s", err.Error()) diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController.go index 8365250f85..3e62a10cfb 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_managedDiskController.go @@ -278,6 +278,9 @@ func (c *ManagedDiskController) ResizeDisk(diskURI string, oldSize resource.Quan return newSizeQuant, nil } + if result.DiskProperties.DiskState != compute.Unattached { + return oldSize, fmt.Errorf("azureDisk - disk resize is only supported on Unattached disk, current disk state: %s, already attached to %s", result.DiskProperties.DiskState, to.String(result.ManagedBy)) + } result.DiskProperties.DiskSizeGB = &requestGiB ctx, cancel = getContextWithCancel() diff --git a/vendor/k8s.io/legacy-cloud-providers/gce/gce.go b/vendor/k8s.io/legacy-cloud-providers/gce/gce.go index c4c33e446b..cae825c120 100644 --- a/vendor/k8s.io/legacy-cloud-providers/gce/gce.go +++ b/vendor/k8s.io/legacy-cloud-providers/gce/gce.go @@ -99,6 +99,13 @@ type Cloud struct { // for the cloudprovider to start watching the configmap. ClusterID ClusterID + // initializer is used for lazy initialization of subnetworkURL + // and isLegacyNetwork fields if they are not passed via the config. + // The reason is to avoid GCE API calls to initialize them if they + // will never be used. This is especially important when + // it is run from Kubelets, as there can be thousands of them. + subnetworkURLAndIsLegacyNetworkInitializer sync.Once + service *compute.Service serviceBeta *computebeta.Service serviceAlpha *computealpha.Service @@ -115,10 +122,14 @@ type Cloud struct { // managedZones will be set to the 1 zone if running a single zone cluster // it will be set to ALL zones in region for any multi-zone cluster // Use GetAllCurrentZones to get only zones that contain nodes - managedZones []string - networkURL string - isLegacyNetwork bool - subnetworkURL string + managedZones []string + networkURL string + // unsafeIsLegacyNetwork should be used only via IsLegacyNetwork() accessor, + // to ensure it was properly initialized. + unsafeIsLegacyNetwork bool + // unsafeSubnetworkURL should be used only via SubnetworkURL() accessor, + // to ensure it was properly initialized. + unsafeSubnetworkURL string secondaryRangeName string networkProjectID string onXPN bool @@ -465,32 +476,12 @@ func CreateGCECloud(config *CloudConfig) (*Cloud, error) { subnetURL = config.SubnetworkURL } else if config.SubnetworkName != "" { subnetURL = gceSubnetworkURL(config.APIEndpoint, netProjID, config.Region, config.SubnetworkName) - } else { - // Determine the type of network and attempt to discover the correct subnet for AUTO mode. - // Gracefully fail because kubelet calls CreateGCECloud without any config, and minions - // lack the proper credentials for API calls. - if networkName := lastComponent(networkURL); networkName != "" { - var n *compute.Network - if n, err = getNetwork(service, netProjID, networkName); err != nil { - klog.Warningf("Could not retrieve network %q; err: %v", networkName, err) - } else { - switch typeOfNetwork(n) { - case netTypeLegacy: - klog.Infof("Network %q is type legacy - no subnetwork", networkName) - isLegacyNetwork = true - case netTypeCustom: - klog.Warningf("Network %q is type custom - cannot auto select a subnetwork", networkName) - case netTypeAuto: - subnetURL, err = determineSubnetURL(service, netProjID, networkName, config.Region) - if err != nil { - klog.Warningf("Could not determine subnetwork for network %q and region %v; err: %v", networkName, config.Region, err) - } else { - klog.Infof("Auto selecting subnetwork %q", subnetURL) - } - } - } - } } + // If neither SubnetworkURL nor SubnetworkName are provided, defer to + // lazy initialization. Determining subnetURL and isLegacyNetwork requires + // GCE API call. Given that it's not used in many cases and the fact that + // the provider is initialized also for Kubelets (and there can be thousands + // of them) we defer to lazy initialization here. if len(config.ManagedZones) == 0 { config.ManagedZones, err = getZonesForRegion(service, config.ProjectID, config.Region) @@ -518,8 +509,8 @@ func CreateGCECloud(config *CloudConfig) (*Cloud, error) { localZone: config.Zone, managedZones: config.ManagedZones, networkURL: networkURL, - isLegacyNetwork: isLegacyNetwork, - subnetworkURL: subnetURL, + unsafeIsLegacyNetwork: isLegacyNetwork, + unsafeSubnetworkURL: subnetURL, secondaryRangeName: config.SecondaryRangeName, nodeTags: config.NodeTags, nodeInstancePrefix: config.NodeInstancePrefix, @@ -542,6 +533,45 @@ func CreateGCECloud(config *CloudConfig) (*Cloud, error) { return gce, nil } +// initializeNetworkConfig() is supposed to be called under sync.Once() +// for accessors to subnetworkURL and isLegacyNetwork fields. +func (g *Cloud) initializeSubnetworkURLAndIsLegacyNetwork() { + if g.unsafeSubnetworkURL != "" { + // This has already been initialized via the config. + return + } + + var subnetURL string + var isLegacyNetwork bool + + // Determine the type of network and attempt to discover the correct subnet for AUTO mode. + // Gracefully fail because kubelet calls CreateGCECloud without any config, and minions + // lack the proper credentials for API calls. + if networkName := lastComponent(g.NetworkURL()); networkName != "" { + if n, err := getNetwork(g.service, g.NetworkProjectID(), networkName); err != nil { + klog.Warningf("Could not retrieve network %q; err: %v", networkName, err) + } else { + switch typeOfNetwork(n) { + case netTypeLegacy: + klog.Infof("Network %q is type legacy - no subnetwork", networkName) + isLegacyNetwork = true + case netTypeCustom: + klog.Warningf("Network %q is type custom - cannot auto select a subnetwork", networkName) + case netTypeAuto: + subnetURL, err = determineSubnetURL(g.service, g.NetworkProjectID(), networkName, g.Region()) + if err != nil { + klog.Warningf("Could not determine subnetwork for network %q and region %v; err: %v", networkName, g.Region(), err) + } else { + klog.Infof("Auto selecting subnetwork %q", subnetURL) + } + } + } + } + + g.unsafeSubnetworkURL = subnetURL + g.unsafeIsLegacyNetwork = isLegacyNetwork +} + // SetRateLimiter adds a custom cloud.RateLimiter implementation. // WARNING: Calling this could have unexpected behavior if you have in-flight // requests. It is best to use this immediately after creating a Cloud. @@ -672,12 +702,14 @@ func (g *Cloud) NetworkURL() string { // SubnetworkURL returns the subnetwork url func (g *Cloud) SubnetworkURL() string { - return g.subnetworkURL + g.subnetworkURLAndIsLegacyNetworkInitializer.Do(g.initializeSubnetworkURLAndIsLegacyNetwork) + return g.unsafeSubnetworkURL } // IsLegacyNetwork returns true if the cluster is still running a legacy network configuration. func (g *Cloud) IsLegacyNetwork() bool { - return g.isLegacyNetwork + g.subnetworkURLAndIsLegacyNetworkInitializer.Do(g.initializeSubnetworkURLAndIsLegacyNetwork) + return g.unsafeIsLegacyNetwork } // SetInformers sets up the zone handlers we need watching for node changes. diff --git a/vendor/k8s.io/legacy-cloud-providers/gce/gce_instances.go b/vendor/k8s.io/legacy-cloud-providers/gce/gce_instances.go index 15d7b6f2e3..f0881f7f09 100644 --- a/vendor/k8s.io/legacy-cloud-providers/gce/gce_instances.go +++ b/vendor/k8s.io/legacy-cloud-providers/gce/gce_instances.go @@ -361,21 +361,20 @@ func (g *Cloud) CurrentNodeName(ctx context.Context, hostname string) (types.Nod return types.NodeName(hostname), nil } -// AliasRanges returns a list of CIDR ranges that are assigned to the +// AliasRangesByProviderID returns a list of CIDR ranges that are assigned to the // `node` for allocation to pods. Returns a list of the form // "/". -func (g *Cloud) AliasRanges(nodeName types.NodeName) (cidrs []string, err error) { +func (g *Cloud) AliasRangesByProviderID(providerID string) (cidrs []string, err error) { ctx, cancel := cloud.ContextWithCallTimeout() defer cancel() - var instance *gceInstance - instance, err = g.getInstanceByName(mapNodeNameToInstanceName(nodeName)) + _, zone, name, err := splitProviderID(providerID) if err != nil { - return + return nil, err } var res *computebeta.Instance - res, err = g.c.BetaInstances().Get(ctx, meta.ZonalKey(instance.Name, lastComponent(instance.Zone))) + res, err = g.c.BetaInstances().Get(ctx, meta.ZonalKey(canonicalizeInstanceName(name), zone)) if err != nil { return } @@ -388,28 +387,29 @@ func (g *Cloud) AliasRanges(nodeName types.NodeName) (cidrs []string, err error) return } -// AddAliasToInstance adds an alias to the given instance from the named +// AddAliasToInstanceByProviderID adds an alias to the given instance from the named // secondary range. -func (g *Cloud) AddAliasToInstance(nodeName types.NodeName, alias *net.IPNet) error { +func (g *Cloud) AddAliasToInstanceByProviderID(providerID string, alias *net.IPNet) error { ctx, cancel := cloud.ContextWithCallTimeout() defer cancel() - v1instance, err := g.getInstanceByName(mapNodeNameToInstanceName(nodeName)) + _, zone, name, err := splitProviderID(providerID) if err != nil { return err } - instance, err := g.c.BetaInstances().Get(ctx, meta.ZonalKey(v1instance.Name, lastComponent(v1instance.Zone))) + + instance, err := g.c.BetaInstances().Get(ctx, meta.ZonalKey(canonicalizeInstanceName(name), zone)) if err != nil { return err } switch len(instance.NetworkInterfaces) { case 0: - return fmt.Errorf("instance %q has no network interfaces", nodeName) + return fmt.Errorf("instance %q has no network interfaces", providerID) case 1: default: klog.Warningf("Instance %q has more than one network interface, using only the first (%v)", - nodeName, instance.NetworkInterfaces) + providerID, instance.NetworkInterfaces) } iface := &computebeta.NetworkInterface{} @@ -420,7 +420,7 @@ func (g *Cloud) AddAliasToInstance(nodeName types.NodeName, alias *net.IPNet) er SubnetworkRangeName: g.secondaryRangeName, }) - mc := newInstancesMetricContext("add_alias", v1instance.Zone) + mc := newInstancesMetricContext("add_alias", zone) err = g.c.BetaInstances().UpdateNetworkInterface(ctx, meta.ZonalKey(instance.Name, lastComponent(instance.Zone)), iface.Name, iface) return mc.Observe(err) } diff --git a/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_external.go b/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_external.go index ffb6d985d9..21cc74dad0 100644 --- a/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_external.go +++ b/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_external.go @@ -33,7 +33,6 @@ import ( servicehelpers "k8s.io/cloud-provider/service/helpers" utilnet "k8s.io/utils/net" - computealpha "google.golang.org/api/compute/v0.alpha" compute "google.golang.org/api/compute/v1" "k8s.io/klog" ) @@ -932,30 +931,18 @@ func createForwardingRule(s CloudForwardingRuleService, name, serviceName, regio desc := makeServiceDescription(serviceName) ipProtocol := string(ports[0].Protocol) - switch netTier { - case cloud.NetworkTierPremium: - rule := &compute.ForwardingRule{ - Name: name, - Description: desc, - IPAddress: ipAddress, - IPProtocol: ipProtocol, - PortRange: portRange, - Target: target, - } - err = s.CreateRegionForwardingRule(rule, region) - default: - rule := &computealpha.ForwardingRule{ - Name: name, - Description: desc, - IPAddress: ipAddress, - IPProtocol: ipProtocol, - PortRange: portRange, - Target: target, - NetworkTier: netTier.ToGCEValue(), - } - err = s.CreateAlphaRegionForwardingRule(rule, region) + rule := &compute.ForwardingRule{ + Name: name, + Description: desc, + IPAddress: ipAddress, + IPProtocol: ipProtocol, + PortRange: portRange, + Target: target, + NetworkTier: netTier.ToGCEValue(), } + err = s.CreateRegionForwardingRule(rule, region) + if err != nil && !isHTTPErrorCode(err, http.StatusConflict) { return err } @@ -1045,27 +1032,15 @@ func ensureStaticIP(s CloudAddressService, name, serviceName, region, existingIP desc := makeServiceDescription(serviceName) var creationErr error - switch netTier { - case cloud.NetworkTierPremium: - addressObj := &compute.Address{ - Name: name, - Description: desc, - } - if existingIP != "" { - addressObj.Address = existingIP - } - creationErr = s.ReserveRegionAddress(addressObj, region) - default: - addressObj := &computealpha.Address{ - Name: name, - Description: desc, - NetworkTier: netTier.ToGCEValue(), - } - if existingIP != "" { - addressObj.Address = existingIP - } - creationErr = s.ReserveAlphaRegionAddress(addressObj, region) + addressObj := &compute.Address{ + Name: name, + Description: desc, + NetworkTier: netTier.ToGCEValue(), } + if existingIP != "" { + addressObj.Address = existingIP + } + creationErr = s.ReserveRegionAddress(addressObj, region) if creationErr != nil { // GCE returns StatusConflict if the name conflicts; it returns diff --git a/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_internal.go b/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_internal.go index 30546d3240..721a89c198 100644 --- a/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_internal.go +++ b/vendor/k8s.io/legacy-cloud-providers/gce/gce_loadbalancer_internal.go @@ -57,7 +57,7 @@ func (g *Cloud) ensureInternalLoadBalancer(clusterName, clusterID string, svc *v } scheme := cloud.SchemeInternal options := getILBOptions(svc) - if g.isLegacyNetwork { + if g.IsLegacyNetwork() { g.eventRecorder.Event(svc, v1.EventTypeWarning, "ILBOptionsIgnored", "Internal LoadBalancer options are not supported with Legacy Networks.") options = ILBOptions{} } diff --git a/vendor/modules.txt b/vendor/modules.txt index 897c7788ce..4ac02c1cee 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1137,7 +1137,7 @@ gopkg.in/square/go-jose.v2/jwt gopkg.in/warnings.v0 # gopkg.in/yaml.v2 v2.2.8 gopkg.in/yaml.v2 -# k8s.io/api v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.14-k3s1 +# k8s.io/api v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.17.15-k3s1 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 k8s.io/api/admissionregistration/v1 @@ -1181,7 +1181,7 @@ k8s.io/api/settings/v1alpha1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apiextensions-apiserver v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.14-k3s1 +# k8s.io/apiextensions-apiserver v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.17.15-k3s1 k8s.io/apiextensions-apiserver/pkg/apihelpers k8s.io/apiextensions-apiserver/pkg/apis/apiextensions k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install @@ -1229,7 +1229,7 @@ k8s.io/apiextensions-apiserver/pkg/generated/openapi k8s.io/apiextensions-apiserver/pkg/registry/customresource k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition -# k8s.io/apimachinery v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.14-k3s1 +# k8s.io/apimachinery v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.17.15-k3s1 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors k8s.io/apimachinery/pkg/api/meta @@ -1291,7 +1291,7 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/apiserver v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.14-k3s1 +# k8s.io/apiserver v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.17.15-k3s1 k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/configuration k8s.io/apiserver/pkg/admission/initializer @@ -1408,7 +1408,7 @@ k8s.io/apiserver/plugin/pkg/authenticator/request/basicauth k8s.io/apiserver/plugin/pkg/authenticator/token/oidc k8s.io/apiserver/plugin/pkg/authenticator/token/webhook k8s.io/apiserver/plugin/pkg/authorizer/webhook -# k8s.io/cli-runtime v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.14-k3s1 +# k8s.io/cli-runtime v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.17.15-k3s1 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/kustomize k8s.io/cli-runtime/pkg/kustomize/k8sdeps @@ -1421,7 +1421,7 @@ k8s.io/cli-runtime/pkg/kustomize/k8sdeps/transformer/patch k8s.io/cli-runtime/pkg/kustomize/k8sdeps/validator k8s.io/cli-runtime/pkg/printers k8s.io/cli-runtime/pkg/resource -# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.14-k3s1 +# k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.17.15-k3s1 k8s.io/client-go/discovery k8s.io/client-go/discovery/cached k8s.io/client-go/discovery/cached/disk @@ -1614,20 +1614,20 @@ k8s.io/client-go/util/jsonpath k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/workqueue -# k8s.io/cloud-provider v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.14-k3s1 +# k8s.io/cloud-provider v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.17.15-k3s1 k8s.io/cloud-provider k8s.io/cloud-provider/node/helpers k8s.io/cloud-provider/service/helpers k8s.io/cloud-provider/volume k8s.io/cloud-provider/volume/errors k8s.io/cloud-provider/volume/helpers -# k8s.io/cluster-bootstrap v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.14-k3s1 +# k8s.io/cluster-bootstrap v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.17.15-k3s1 k8s.io/cluster-bootstrap/token/api k8s.io/cluster-bootstrap/token/jws k8s.io/cluster-bootstrap/token/util k8s.io/cluster-bootstrap/util/secrets k8s.io/cluster-bootstrap/util/tokens -# k8s.io/code-generator v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.14-k3s1 +# k8s.io/code-generator v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.17.15-k3s1 k8s.io/code-generator/cmd/client-gen/args k8s.io/code-generator/cmd/client-gen/generators k8s.io/code-generator/cmd/client-gen/generators/fake @@ -1642,7 +1642,7 @@ k8s.io/code-generator/cmd/lister-gen/args k8s.io/code-generator/cmd/lister-gen/generators k8s.io/code-generator/pkg/namer k8s.io/code-generator/pkg/util -# k8s.io/component-base v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.14-k3s1 +# k8s.io/component-base v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.17.15-k3s1 k8s.io/component-base/cli/flag k8s.io/component-base/cli/globalflag k8s.io/component-base/codec @@ -1659,10 +1659,10 @@ k8s.io/component-base/metrics/prometheus/version k8s.io/component-base/metrics/prometheus/workqueue k8s.io/component-base/version k8s.io/component-base/version/verflag -# k8s.io/cri-api v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.14-k3s1 +# k8s.io/cri-api v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.17.15-k3s1 k8s.io/cri-api/pkg/apis k8s.io/cri-api/pkg/apis/runtime/v1alpha2 -# k8s.io/csi-translation-lib v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.14-k3s1 +# k8s.io/csi-translation-lib v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.17.15-k3s1 k8s.io/csi-translation-lib k8s.io/csi-translation-lib/plugins # k8s.io/gengo v0.0.0-20191120174120-e74f70b9b27e @@ -1677,7 +1677,7 @@ k8s.io/gengo/types k8s.io/heapster/metrics/api/v1/types # k8s.io/klog v1.0.0 k8s.io/klog -# k8s.io/kube-aggregator v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.14-k3s1 +# k8s.io/kube-aggregator v0.17.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.17.15-k3s1 k8s.io/kube-aggregator/pkg/apis/apiregistration k8s.io/kube-aggregator/pkg/apis/apiregistration/install k8s.io/kube-aggregator/pkg/apis/apiregistration/v1 @@ -1705,7 +1705,7 @@ k8s.io/kube-aggregator/pkg/controllers/status k8s.io/kube-aggregator/pkg/registry/apiservice k8s.io/kube-aggregator/pkg/registry/apiservice/etcd k8s.io/kube-aggregator/pkg/registry/apiservice/rest -# k8s.io/kube-controller-manager v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.14-k3s1 +# k8s.io/kube-controller-manager v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.17.15-k3s1 k8s.io/kube-controller-manager/config/v1alpha1 # k8s.io/kube-openapi v0.0.0-20200410145947-bcb3869e6f29 k8s.io/kube-openapi/pkg/aggregator @@ -1716,12 +1716,12 @@ k8s.io/kube-openapi/pkg/schemaconv k8s.io/kube-openapi/pkg/util k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/util/proto/validation -# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.14-k3s1 +# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.17.15-k3s1 k8s.io/kube-proxy/config/v1alpha1 -# k8s.io/kube-scheduler v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.14-k3s1 +# k8s.io/kube-scheduler v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.17.15-k3s1 k8s.io/kube-scheduler/config/v1 k8s.io/kube-scheduler/config/v1alpha1 -# k8s.io/kubectl v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.14-k3s1 +# k8s.io/kubectl v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.17.15-k3s1 k8s.io/kubectl/pkg/apps k8s.io/kubectl/pkg/cmd k8s.io/kubectl/pkg/cmd/annotate @@ -1797,11 +1797,11 @@ k8s.io/kubectl/pkg/util/storage k8s.io/kubectl/pkg/util/templates k8s.io/kubectl/pkg/util/term k8s.io/kubectl/pkg/validation -# k8s.io/kubelet v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.14-k3s1 +# k8s.io/kubelet v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.17.15-k3s1 k8s.io/kubelet/config/v1beta1 k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1 k8s.io/kubelet/pkg/apis/pluginregistration/v1 -# k8s.io/kubernetes v1.17.14 => github.com/k3s-io/kubernetes v1.17.14-k3s1 +# k8s.io/kubernetes v1.17.15 => github.com/k3s-io/kubernetes v1.17.15-k3s1 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/scheme @@ -2538,7 +2538,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/simple k8s.io/kubernetes/third_party/forked/gonum/graph/traverse -# k8s.io/legacy-cloud-providers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.14-k3s1 +# k8s.io/legacy-cloud-providers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.17.15-k3s1 k8s.io/legacy-cloud-providers/aws k8s.io/legacy-cloud-providers/azure k8s.io/legacy-cloud-providers/azure/auth @@ -2547,7 +2547,7 @@ k8s.io/legacy-cloud-providers/openstack k8s.io/legacy-cloud-providers/vsphere k8s.io/legacy-cloud-providers/vsphere/vclib k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers -# k8s.io/metrics v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.14-k3s1 +# k8s.io/metrics v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.17.15-k3s1 k8s.io/metrics/pkg/apis/custom_metrics k8s.io/metrics/pkg/apis/custom_metrics/v1beta1 k8s.io/metrics/pkg/apis/custom_metrics/v1beta2