diff --git a/Dockerfile.dapper b/Dockerfile.dapper index da4165e5baf5..458eb4056d61 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -42,7 +42,7 @@ ENV GO111MODULE off ENV DAPPER_RUN_ARGS --privileged -v k3s-cache:/go/src/github.com/rancher/k3s/.cache -v trivy-cache:/root/.cache/trivy ENV DAPPER_ENV REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE GCLOUD_AUTH GITHUB_TOKEN GOLANG ENV DAPPER_SOURCE /go/src/github.com/rancher/k3s/ -ENV DAPPER_OUTPUT ./bin ./dist ./build/out +ENV DAPPER_OUTPUT ./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy ./pkg/data ENV DAPPER_DOCKER_SOCKET true ENV HOME ${DAPPER_SOURCE} ENV CROSS true diff --git a/Makefile b/Makefile index 3eca4ec940a3..681a99748319 100644 --- a/Makefile +++ b/Makefile @@ -22,11 +22,6 @@ release: .PHONY: $(TARGETS) -.PHONY: generate -generate: build/data - ./scripts/download - go generate - build/data: mkdir -p $@ diff --git a/go.mod b/go.mod index 68c8aa6f1ccf..8dab3d2ae5a0 100644 --- a/go.mod +++ b/go.mod @@ -38,34 +38,34 @@ replace ( google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63 google.golang.org/grpc => google.golang.org/grpc v1.27.1 gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2 - k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1 - k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1 - k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1 - k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1 - k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1 - k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1 - k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1 - k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1 - k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1 - k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1 - k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1 - k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1 - k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1 - k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1 - k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1 - k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1 - k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1 - k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1 - k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1 - k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1 - k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.14-k3s1 - k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1 - k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1 - k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1 - k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.14-k3s1 - k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1 - k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.14-k3s1 - k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.14-k3s1 + k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1 + k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1 + k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1 + k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1 + k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1 + k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1 + k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1 + k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1 + k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1 + k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1 + k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1 + k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1 + k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1 + k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1 + k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1 + k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1 + k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1 + k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1 + k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1 + k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1 + k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.15-k3s1 + k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1 + k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1 + k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1 + k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.15-k3s1 + k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1 + k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.15-k3s1 + k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.15-k3s1 mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34 ) @@ -122,17 +122,17 @@ require ( golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 google.golang.org/grpc v1.33.2 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.20.14 - k8s.io/apimachinery v0.20.14 - k8s.io/apiserver v0.20.14 + k8s.io/api v0.20.15 + k8s.io/apimachinery v0.20.15 + k8s.io/apiserver v0.20.15 k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible - k8s.io/cloud-provider v0.20.14 - k8s.io/component-base v0.20.14 - k8s.io/controller-manager v0.20.14 - k8s.io/cri-api v0.20.14 + k8s.io/cloud-provider v0.20.15 + k8s.io/component-base v0.20.15 + k8s.io/controller-manager v0.20.15 + k8s.io/cri-api v0.20.15 k8s.io/klog v1.0.0 - k8s.io/kubectl v0.20.14 - k8s.io/kubernetes v1.20.14 + k8s.io/kubectl v0.20.15 + k8s.io/kubernetes v1.20.15 k8s.io/utils v0.0.0-20201110183641-67b214c5f920 sigs.k8s.io/yaml v1.2.0 ) diff --git a/go.sum b/go.sum index d0c2ebb17d9d..3c6953cb523c 100644 --- a/go.sum +++ b/go.sum @@ -517,55 +517,55 @@ github.com/k3s-io/helm-controller v0.10.8 h1:O7zoqUBp3W+6+nRCUWNiAoQMzOX6xw9IsBD github.com/k3s-io/helm-controller v0.10.8/go.mod h1:nZP8FH3KZrNNUf5r+SwwiMR63HS6lxdHdpHijgPfF74= github.com/k3s-io/kine v0.6.5 h1:gYjkuVUUhuIMthIAQSecb2APSx+JZLFO/GWHbDp2NFI= github.com/k3s-io/kine v0.6.5/go.mod h1:+QI+2dFYzFaFEdhXz3jFcY5HoD0SNXtMI22SxYhD7jk= -github.com/k3s-io/kubernetes v1.20.14-k3s1 h1:Zqjkof1/5rcoOAOmTaS0PX+6IGVBIIu31B/1TRX8+Co= -github.com/k3s-io/kubernetes v1.20.14-k3s1/go.mod h1:maNGHPCYK0JpF3C4gI2AOAX0OlPCYsseIEd+wewVkuA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1 h1:8hof13SowyRdAzFFMxtNtwRdmuY6ftCK0adLryV51qM= -github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1/go.mod h1:xNowlOuuxKUg8x7bAoYYuGvd/oPMqgQSZoKuThrP7LU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1 h1:vklX1Aee9YFPYYCjkmW5l8nhddSJwNh6X71whq0pu9o= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1/go.mod h1:VJtpimoJzMqv1QycUs4bQJLuvHpE9gDbPsyll2i8YjU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1 h1:gGaWXkSWl7nlYoAedE4PPpg8KC+n08ZstfP5DKFKrvk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1/go.mod h1:E3eXKx8mC+y5i+n18YJZ7jNgneHTIPTmbviL3TfSaxc= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1 h1:RJ5gDA7qibSIFXilm4w0R5aKGdC/Mcy4Yb4ruk4347w= -github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1/go.mod h1:NhDMNNUojgO9nCeJzHX8YjZEAZqW9JMUU/S/ZDBdZ10= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1 h1:JPTU9h8pbPfXUv1cOqRQ6lcEFUD6JoYGXpZFPlse/DU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1/go.mod h1:9UDRf1+mqtjJUnm2kDAg1HWfpUjysps5gNYMPwwzCOI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1 h1:cia24tjpjl3y8WzMMjlmhK7smEoVW/ePd81I5YhYh+c= -github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1/go.mod h1:nzvMdnLq7ywRrzASzLV7EFKhudpng1G38F5XbVixASU= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1 h1:y8loaTSTdjK+UFs8tcD7i8eYOixtdMv45/TXEBAn1+E= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1/go.mod h1:PHIzADQFbVKfpb2K1IxHnNelXeeDHkXOR5Iz1E7OuUk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1 h1:Le1F6+jeDk3haSp5NxiEwZDZjAazUwRoFv02a7CGShg= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1/go.mod h1:spaI5+5c+1VReIDh7pGGs8ngDc3IoHwmTF8X+fTrP08= -github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1 h1:JuOPnD8mlivkkkaqcMTpclbrEYJK4/qumIPZbX5hP6U= -github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1/go.mod h1:y82mrMRkgq5PTj83SpgLtK69lENvKkeqijq4UghEQZ4= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1 h1:gRR1gwfko4Qtdu1QQMlxCGtjocIIzHb8u6Unz5D0iPw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1/go.mod h1:8GInE8yyzLYFslW12FRnTl/9YkmR9f/GGzCYu8ANHCQ= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1 h1:2JJxYN11cb735ZHj8DcOX3Cp1CCySJDWNrSYOkaMZwo= -github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1/go.mod h1:pw+OH968rZrCvNZo0Eer3HGuPtKWS0dYbGot9aZ64Y4= -github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1 h1:W7vdc4HyDabU9hJHDPDoRYaO48uU7u0zNiClFFOKs8U= -github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1/go.mod h1:9QKLqDYjrnFJFS+rSO1jIH00jff39O2VGuZFkAUZPuM= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1 h1:WkxG9qjwDCW3+lzPAsSXD6i5qQoGz7Cf2AXp4zJnI1c= -github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1/go.mod h1:sUn/5gFGVe5vHOybvFlICWkiG5KV78bQ3YnW+6K+jJY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1 h1:modqs8EsS4mxtFtvNmcHHv+Ss2HNkSXzHB1p/2cTIsw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1/go.mod h1:Zicsc4aFIp+w3G/peRJVi5s2aJEZ9jQfGiG7ozhTXM4= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1 h1:XmBefaNDQgjJVhvQ7BhDJbT1ZNnCyy0p+pmh0SoR9uo= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1/go.mod h1:dGHwWfmVHCCSkGbzm1+KKp448LNQR3HfANuNXH++lnA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1 h1:ibmKyDd9yQ5zoR9mCYVMDAhydCr+5baF2QkAbqExK1g= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1/go.mod h1:wwy8f7/wn8nH5uZq1RrbJmZoYRoFicaqndxs8vbsALA= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1 h1:SXXocnbWneIHKhrQtQkA4DhtQEFlvQ6/EOTMFpXhN2g= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1/go.mod h1:PWMBqO9xuXWJS8REJ8QWiouJzbiOwVVVT81ZTwYb2Nk= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1 h1:9HDAepkSvBxWLmLH+nQe4PDfeKz33Zl2bLbcBuPzQII= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1/go.mod h1:KGBnJPnA0KkPNM8DFYa7IrEslOHOKUqewL+USqnG6fo= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1 h1:+53nGMhgjcdQxDbdyovSV+rjuuhkH0nhILk6quWUlUw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1/go.mod h1:d1id22qiXLGVR/9f3KN/9AXoY6kTMj5qeghYUyNtmTI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1 h1:gY4fLl6aRgn6EavY6Eh7+CNfM771LYULSR2b88d2z64= -github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1/go.mod h1:avdvE67Z3Ewhy/mUZjo9ek8a5SYYQzVcL/cnYiU7tlo= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1 h1:LjTxFwop9f41oIOAeRgBnZoFrNO8LPQuR+kv6fLE3u0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1/go.mod h1:Ar3mk1+4I10WJg8SwpYKlK7hzsa9BPd8W0Stzxr90Q0= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1 h1:uMyH94wM0tHDKkF0JtARDmd7PyetvGVPgJyxDSBaSJY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1/go.mod h1:0Lx45qGvZm3dwobUa3Tib+i4yj3b5CbNRLvbLX4e1bw= -github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1 h1:UGUSmdIfcAkjUmCp4wkBNRn+oX04nfTZ1paJFK6Z3JI= -github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1/go.mod h1:mFeSjsWvLj55xUpwltalvolz49izW7J0N5RfoIHrKKY= -github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1/go.mod h1:TTIyd68fEFbiCLXlHbYPm4bWi8llq4wkE8Sle/aDXUU= +github.com/k3s-io/kubernetes v1.20.15-k3s1 h1:VSVpbhH2nep5fMDeORHdD2ZwlAqfq5y1z48Iw3CwFs8= +github.com/k3s-io/kubernetes v1.20.15-k3s1/go.mod h1:maNGHPCYK0JpF3C4gI2AOAX0OlPCYsseIEd+wewVkuA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1 h1:FwD+eB1a9HmdgvyRHfaalUVSokXeatKYugHE5NrQ4Zk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1/go.mod h1:xNowlOuuxKUg8x7bAoYYuGvd/oPMqgQSZoKuThrP7LU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1 h1:EdvKZhTMGhqKnDs08huMM2QeNNA4OxbMl9KsyChW41U= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1/go.mod h1:VJtpimoJzMqv1QycUs4bQJLuvHpE9gDbPsyll2i8YjU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1 h1:qriY6ZfyV3x8I1na+0Uf3dx8+akMwlAVoDh0knRwRMs= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1/go.mod h1:E3eXKx8mC+y5i+n18YJZ7jNgneHTIPTmbviL3TfSaxc= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1 h1:I94MoNL0Qng9gKMkfdt2neWG1j4J7fO3NryZwRaya9c= +github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1/go.mod h1:NhDMNNUojgO9nCeJzHX8YjZEAZqW9JMUU/S/ZDBdZ10= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1 h1:cVrlL1gweLAwst3UQaOEM0MNr01Fmdjc0+lJUsV4jZU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1/go.mod h1:9UDRf1+mqtjJUnm2kDAg1HWfpUjysps5gNYMPwwzCOI= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1 h1:l4FWRVyRXCJQZ4gwaWTc8YTxgXmMS/gVPgTmhv9vPVU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1/go.mod h1:nzvMdnLq7ywRrzASzLV7EFKhudpng1G38F5XbVixASU= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1 h1:H07PSR2jDDFcGnPIFAocMEXbgkddXfqhcQRSrLKACEk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1/go.mod h1:PHIzADQFbVKfpb2K1IxHnNelXeeDHkXOR5Iz1E7OuUk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1 h1:Usvpk1/K2UpfONgCqgJHW+8OOLFxubxcU3Il6EV9NNk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1/go.mod h1:spaI5+5c+1VReIDh7pGGs8ngDc3IoHwmTF8X+fTrP08= +github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1 h1:wDtiV6Xuh/nkgUaL3tHum8aH9aXx6NkpbK49lojQ3ws= +github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1/go.mod h1:y82mrMRkgq5PTj83SpgLtK69lENvKkeqijq4UghEQZ4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1 h1:t4/iwuhWVREJn6idZnduUeLEX06hX7mhrmKKDS7TVzQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1/go.mod h1:8GInE8yyzLYFslW12FRnTl/9YkmR9f/GGzCYu8ANHCQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1 h1:jB0C1msXrEZYVWlObaiJ+kpUr/WSNsOB+zy32vgzkGs= +github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1/go.mod h1:pw+OH968rZrCvNZo0Eer3HGuPtKWS0dYbGot9aZ64Y4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1 h1:IyUrNai5AcUP/aS5Fm2c1RAWReLlJaXLf5t+QpZ2Jz0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1/go.mod h1:9QKLqDYjrnFJFS+rSO1jIH00jff39O2VGuZFkAUZPuM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1 h1:rMu3JAxHtS6Q+tBwgpy6PX3VjreC/mLfobajqVhx9PY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1/go.mod h1:sUn/5gFGVe5vHOybvFlICWkiG5KV78bQ3YnW+6K+jJY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1 h1:axUNF+xPE2ovO/mNk5e4RPLz1cvXULIPGURY8FZoigw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1/go.mod h1:Zicsc4aFIp+w3G/peRJVi5s2aJEZ9jQfGiG7ozhTXM4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1 h1:tQOxQiWoPq6kN4B6G5flcurgOmid0M5QFgsa5M1lIso= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1/go.mod h1:dGHwWfmVHCCSkGbzm1+KKp448LNQR3HfANuNXH++lnA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1 h1:OH/62M2bkex6F7M2yREGUjMXuv/d9jxrWYz1VFrUkbY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1/go.mod h1:wwy8f7/wn8nH5uZq1RrbJmZoYRoFicaqndxs8vbsALA= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1 h1:bLzrMoar0mWJcn9R6LOz9yvOSZuA5r3UxfyFcH/MkFI= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1/go.mod h1:PWMBqO9xuXWJS8REJ8QWiouJzbiOwVVVT81ZTwYb2Nk= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1 h1:UGx5aDWcreea6M9Zcod51uWaOkIMO/xcejN9gmgShx4= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1/go.mod h1:KGBnJPnA0KkPNM8DFYa7IrEslOHOKUqewL+USqnG6fo= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1 h1:oXnrQZzxMKUhSjyWM3CSXzn17Hi3TIX0II/EfpZNTM0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1/go.mod h1:d1id22qiXLGVR/9f3KN/9AXoY6kTMj5qeghYUyNtmTI= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1 h1:ZJf79/TzmzO2DtivT9bYsgPRaEyOk7ZXAl7ZMx1KTpM= +github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1/go.mod h1:avdvE67Z3Ewhy/mUZjo9ek8a5SYYQzVcL/cnYiU7tlo= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1 h1:6UTGkViw6O+Cdd5TO9Ehfl7OvZw9ZLf0DSXmQQhCc64= +github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1/go.mod h1:Ar3mk1+4I10WJg8SwpYKlK7hzsa9BPd8W0Stzxr90Q0= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1 h1:/zw8+mXYW2NIPqZPDUTxUHlycgmtWiwTe802beE0TQQ= +github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1/go.mod h1:0Lx45qGvZm3dwobUa3Tib+i4yj3b5CbNRLvbLX4e1bw= +github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1 h1:KMGJkotX8WK29g5ImWHan9GYJGCck2EuuAMw785BByE= +github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1/go.mod h1:mFeSjsWvLj55xUpwltalvolz49izW7J0N5RfoIHrKKY= +github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1/go.mod h1:TTIyd68fEFbiCLXlHbYPm4bWi8llq4wkE8Sle/aDXUU= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= diff --git a/vendor/k8s.io/apiserver/pkg/admission/audit.go b/vendor/k8s.io/apiserver/pkg/admission/audit.go index d1e103cfc622..02694b0a9140 100644 --- a/vendor/k8s.io/apiserver/pkg/admission/audit.go +++ b/vendor/k8s.io/apiserver/pkg/admission/audit.go @@ -19,6 +19,7 @@ package admission import ( "context" "fmt" + "sync" auditinternal "k8s.io/apiserver/pkg/apis/audit" "k8s.io/apiserver/pkg/audit" @@ -27,7 +28,10 @@ import ( // auditHandler logs annotations set by other admission handlers type auditHandler struct { Interface - ae *auditinternal.Event + // TODO: move the lock near the Annotations field of the audit event so it is always protected from concurrent access. + // to protect the 'Annotations' map of the audit event from concurrent writes + mutex sync.Mutex + ae *auditinternal.Event } var _ Interface = &auditHandler{} @@ -42,10 +46,10 @@ func WithAudit(i Interface, ae *auditinternal.Event) Interface { if i == nil { return i } - return &auditHandler{i, ae} + return &auditHandler{Interface: i, ae: ae} } -func (handler auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInterfaces) error { +func (handler *auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInterfaces) error { if !handler.Interface.Handles(a.GetOperation()) { return nil } @@ -60,7 +64,7 @@ func (handler auditHandler) Admit(ctx context.Context, a Attributes, o ObjectInt return err } -func (handler auditHandler) Validate(ctx context.Context, a Attributes, o ObjectInterfaces) error { +func (handler *auditHandler) Validate(ctx context.Context, a Attributes, o ObjectInterfaces) error { if !handler.Interface.Handles(a.GetOperation()) { return nil } @@ -84,10 +88,13 @@ func ensureAnnotationGetter(a Attributes) error { return fmt.Errorf("attributes must be an instance of privateAnnotationsGetter or AnnotationsGetter") } -func (handler auditHandler) logAnnotations(a Attributes) { +func (handler *auditHandler) logAnnotations(a Attributes) { if handler.ae == nil { return } + handler.mutex.Lock() + defer handler.mutex.Unlock() + switch a := a.(type) { case privateAnnotationsGetter: for key, value := range a.getAnnotations(handler.ae.Level) { diff --git a/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go b/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go index 2405bfd1ff92..6b5c31d3686c 100644 --- a/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go +++ b/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go @@ -146,7 +146,7 @@ type timeoutWriter interface { } func newTimeoutWriter(w http.ResponseWriter) timeoutWriter { - base := &baseTimeoutWriter{w: w} + base := &baseTimeoutWriter{w: w, handlerHeaders: w.Header().Clone()} _, notifiable := w.(http.CloseNotifier) _, hijackable := w.(http.Hijacker) @@ -166,6 +166,9 @@ func newTimeoutWriter(w http.ResponseWriter) timeoutWriter { type baseTimeoutWriter struct { w http.ResponseWriter + // headers written by the normal handler + handlerHeaders http.Header + mu sync.Mutex // if the timeout handler has timeout timedOut bool @@ -183,7 +186,7 @@ func (tw *baseTimeoutWriter) Header() http.Header { return http.Header{} } - return tw.w.Header() + return tw.handlerHeaders } func (tw *baseTimeoutWriter) Write(p []byte) (int, error) { @@ -197,7 +200,10 @@ func (tw *baseTimeoutWriter) Write(p []byte) (int, error) { return 0, http.ErrHijacked } - tw.wroteHeader = true + if !tw.wroteHeader { + copyHeaders(tw.w.Header(), tw.handlerHeaders) + tw.wroteHeader = true + } return tw.w.Write(p) } @@ -222,10 +228,17 @@ func (tw *baseTimeoutWriter) WriteHeader(code int) { return } + copyHeaders(tw.w.Header(), tw.handlerHeaders) tw.wroteHeader = true tw.w.WriteHeader(code) } +func copyHeaders(dst, src http.Header) { + for k, v := range src { + dst[k] = v + } +} + func (tw *baseTimeoutWriter) timeout(err *apierrors.StatusError) { tw.mu.Lock() defer tw.mu.Unlock() diff --git a/vendor/k8s.io/client-go/pkg/version/base.go b/vendor/k8s.io/client-go/pkg/version/base.go index 4b233ccfe2d2..720d0643b88a 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 = "20" - gitVersion = "v1.20.14-k3s1" - gitCommit = "c9ccd1687e39f0ae9ff460dbeed44d8a528d8f47" + gitVersion = "v1.20.15-k3s1" + gitCommit = "5312135011ce191fcf1bd1aa6099f2d3d690f57e" gitTreeState = "clean" - buildDate = "2021-12-15T21:14:12Z" + buildDate = "2022-01-19T23:16:01Z" ) diff --git a/vendor/k8s.io/client-go/util/workqueue/queue.go b/vendor/k8s.io/client-go/util/workqueue/queue.go index 39009b8e79a3..376c806db5fd 100644 --- a/vendor/k8s.io/client-go/util/workqueue/queue.go +++ b/vendor/k8s.io/client-go/util/workqueue/queue.go @@ -149,7 +149,10 @@ func (q *Type) Get() (item interface{}, shutdown bool) { return nil, true } - item, q.queue = q.queue[0], q.queue[1:] + item = q.queue[0] + // The underlying array still exists and reference this object, so the object will not be garbage collected. + q.queue[0] = nil + q.queue = q.queue[1:] q.metrics.get(item) diff --git a/vendor/k8s.io/component-base/version/base.go b/vendor/k8s.io/component-base/version/base.go index 4b233ccfe2d2..720d0643b88a 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 = "20" - gitVersion = "v1.20.14-k3s1" - gitCommit = "c9ccd1687e39f0ae9ff460dbeed44d8a528d8f47" + gitVersion = "v1.20.15-k3s1" + gitCommit = "5312135011ce191fcf1bd1aa6099f2d3d690f57e" gitTreeState = "clean" - buildDate = "2021-12-15T21:14:12Z" + buildDate = "2022-01-19T23:16:01Z" ) diff --git a/vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go b/vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go index 7d67008332c3..3ce090ba7614 100644 --- a/vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go +++ b/vendor/k8s.io/kubernetes/pkg/proxy/ipvs/proxier.go @@ -90,6 +90,9 @@ const ( DefaultDummyDevice = "kube-ipvs0" connReuseMinSupportedKernelVersion = "4.1" + + // https://github.com/torvalds/linux/commit/35dfb013149f74c2be1ff9c78f14e6a3cd1539d1 + connReuseFixedKernelVersion = "5.9" ) // iptablesJumpChain is tables of iptables chains that ipvs proxier used to install iptables or cleanup iptables. @@ -387,6 +390,9 @@ func NewProxier(ipt utiliptables.Interface, } if kernelVersion.LessThan(version.MustParseGeneric(connReuseMinSupportedKernelVersion)) { klog.Errorf("can't set sysctl %s, kernel version must be at least %s", sysctlConnReuse, connReuseMinSupportedKernelVersion) + } else if kernelVersion.AtLeast(version.MustParseGeneric(connReuseFixedKernelVersion)) { + // https://github.com/kubernetes/kubernetes/issues/93297 + klog.V(2).InfoS("Left as-is", "sysctl", sysctlConnReuse) } else { // Set the connection reuse mode if err := utilproxy.EnsureSysctl(sysctl, sysctlConnReuse, 0); err != nil { diff --git a/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go b/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go index e0384b19aad4..b2e563dcec0b 100644 --- a/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go +++ b/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go @@ -545,6 +545,7 @@ func (p *PriorityQueue) getUnschedulablePodsWithMatchingAffinityTerm(pod *v1.Pod selector, err := metav1.LabelSelectorAsSelector(term.LabelSelector) if err != nil { klog.Errorf("Error getting label selectors for pod: %v.", up.Name) + continue } if util.PodMatchesTermsNamespaceAndSelector(pod, namespaces, selector) { podsToMove = append(podsToMove, pInfo) diff --git a/vendor/k8s.io/kubernetes/pkg/scheduler/util/topologies.go b/vendor/k8s.io/kubernetes/pkg/scheduler/util/topologies.go index bf5ee53ac01d..a66229fa946c 100644 --- a/vendor/k8s.io/kubernetes/pkg/scheduler/util/topologies.go +++ b/vendor/k8s.io/kubernetes/pkg/scheduler/util/topologies.go @@ -38,6 +38,9 @@ func GetNamespacesFromPodAffinityTerm(pod *v1.Pod, podAffinityTerm *v1.PodAffini // PodMatchesTermsNamespaceAndSelector returns true if the given // matches the namespace and selector defined by `s . func PodMatchesTermsNamespaceAndSelector(pod *v1.Pod, namespaces sets.String, selector labels.Selector) bool { + if selector == nil { + return false + } if !namespaces.Has(pod.Namespace) { return false } diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure.go index 2d36a5c2bcd5..c34b3abb24f4 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure.go @@ -98,6 +98,14 @@ const ( // LabelFailureDomainBetaRegion failure-domain region label LabelFailureDomainBetaRegion = "failure-domain.beta.kubernetes.io/region" + + // LabelNodeExcludeBalancers specifies that the node should not be considered as a target + // for external load-balancers which use nodes as a second hop (e.g. many cloud LBs which only + // understand nodes). For services that use externalTrafficPolicy=Local, this may mean that + // any backends on excluded nodes are not reachable by those external load-balancers. + // Implementations of this exclusion may vary based on provider. This label is honored starting + // in 1.16 when the ServiceNodeExclusion gate is on. + LabelNodeExcludeBalancers = "node.kubernetes.io/exclude-from-external-load-balancers" ) const ( @@ -281,6 +289,8 @@ type Cloud struct { nodeResourceGroups map[string]string // unmanagedNodes holds a list of nodes not managed by Azure cloud provider. unmanagedNodes sets.String + // excludeLoadBalancerNodes holds a list of nodes that should be excluded from LoadBalancer. + excludeLoadBalancerNodes sets.String // nodeInformerSynced is for determining if the informer has synced. nodeInformerSynced cache.InformerSynced @@ -342,10 +352,11 @@ func NewCloudWithoutFeatureGates(configReader io.Reader) (*Cloud, error) { } az := &Cloud{ - nodeZones: map[string]sets.String{}, - nodeResourceGroups: map[string]string{}, - unmanagedNodes: sets.NewString(), - routeCIDRs: map[string]string{}, + nodeZones: map[string]sets.String{}, + nodeResourceGroups: map[string]string{}, + unmanagedNodes: sets.NewString(), + excludeLoadBalancerNodes: sets.NewString(), + routeCIDRs: map[string]string{}, } err = az.InitializeCloudFromConfig(config, false) @@ -748,8 +759,8 @@ func (az *Cloud) SetInformers(informerFactory informers.SharedInformerFactory) { UpdateFunc: func(prev, obj interface{}) { prevNode := prev.(*v1.Node) newNode := obj.(*v1.Node) - if newNode.Labels[LabelFailureDomainBetaZone] == - prevNode.Labels[LabelFailureDomainBetaZone] { + if newNode.Labels[v1.LabelTopologyZone] == + prevNode.Labels[v1.LabelTopologyZone] { return } az.updateNodeCaches(prevNode, newNode) @@ -801,6 +812,12 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) { managed, ok := prevNode.ObjectMeta.Labels[managedByAzureLabel] if ok && managed == "false" { az.unmanagedNodes.Delete(prevNode.ObjectMeta.Name) + az.excludeLoadBalancerNodes.Delete(prevNode.ObjectMeta.Name) + } + + // Remove from excludeLoadBalancerNodes cache. + if _, hasExcludeBalancerLabel := prevNode.ObjectMeta.Labels[LabelNodeExcludeBalancers]; hasExcludeBalancerLabel { + az.excludeLoadBalancerNodes.Delete(prevNode.ObjectMeta.Name) } } @@ -824,6 +841,12 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) { managed, ok := newNode.ObjectMeta.Labels[managedByAzureLabel] if ok && managed == "false" { az.unmanagedNodes.Insert(newNode.ObjectMeta.Name) + az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name) + } + + // Add to excludeLoadBalancerNodes cache. + if _, hasExcludeBalancerLabel := newNode.ObjectMeta.Labels[LabelNodeExcludeBalancers]; hasExcludeBalancerLabel { + az.excludeLoadBalancerNodes.Insert(newNode.ObjectMeta.Name) } } } @@ -913,16 +936,23 @@ func (az *Cloud) GetUnmanagedNodes() (sets.String, error) { return sets.NewString(az.unmanagedNodes.List()...), nil } -// ShouldNodeExcludedFromLoadBalancer returns true if node is unmanaged or in external resource group. -func (az *Cloud) ShouldNodeExcludedFromLoadBalancer(node *v1.Node) bool { - labels := node.ObjectMeta.Labels - if rg, ok := labels[externalResourceGroupLabel]; ok && !strings.EqualFold(rg, az.ResourceGroup) { - return true +// ShouldNodeExcludedFromLoadBalancer returns true if node is unmanaged, in external resource group or labeled with "node.kubernetes.io/exclude-from-external-load-balancers". +func (az *Cloud) ShouldNodeExcludedFromLoadBalancer(nodeName string) (bool, error) { + // Kubelet won't set az.nodeInformerSynced, always return nil. + if az.nodeInformerSynced == nil { + return false, nil + } + + az.nodeCachesLock.RLock() + defer az.nodeCachesLock.RUnlock() + if !az.nodeInformerSynced() { + return false, fmt.Errorf("node informer is not synced when trying to fetch node caches") } - if managed, ok := labels[managedByAzureLabel]; ok && managed == "false" { - return true + // Return true if the node is in external resource group. + if cachedRG, ok := az.nodeResourceGroups[nodeName]; ok && !strings.EqualFold(cachedRG, az.ResourceGroup) { + return true, nil } - return false + return az.excludeLoadBalancerNodes.Has(nodeName), nil } diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_fakes.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_fakes.go index 2e4f549ff48f..726a85d68f0e 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_fakes.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_fakes.go @@ -65,12 +65,13 @@ func GetTestCloud(ctrl *gomock.Controller) (az *Cloud) { MaximumLoadBalancerRuleCount: 250, VMType: vmTypeStandard, }, - nodeZones: map[string]sets.String{}, - nodeInformerSynced: func() bool { return true }, - nodeResourceGroups: map[string]string{}, - unmanagedNodes: sets.NewString(), - routeCIDRs: map[string]string{}, - eventRecorder: &record.FakeRecorder{}, + nodeZones: map[string]sets.String{}, + nodeInformerSynced: func() bool { return true }, + nodeResourceGroups: map[string]string{}, + unmanagedNodes: sets.NewString(), + excludeLoadBalancerNodes: sets.NewString(), + routeCIDRs: map[string]string{}, + eventRecorder: &record.FakeRecorder{}, } az.DisksClient = mockdiskclient.NewMockInterface(ctrl) az.InterfacesClient = mockinterfaceclient.NewMockInterface(ctrl) diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go index bbb30a458f33..033dba637f8e 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_loadbalancer.go @@ -343,7 +343,7 @@ func (az *Cloud) cleanBackendpoolForPrimarySLB(primarySLB *network.LoadBalancer, }, } // decouple the backendPool from the node - err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted) + err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted, true) if err != nil { return nil, err } @@ -1083,15 +1083,6 @@ func (az *Cloud) findFrontendIPConfigOfService( return nil, false, nil } -func nodeNameInNodes(nodeName string, nodes []*v1.Node) bool { - for _, node := range nodes { - if strings.EqualFold(nodeName, node.Name) { - return true - } - } - return false -} - // reconcileLoadBalancer ensures load balancer exists and the frontend ip config is setup. // This also reconciles the Service's Ports with the LoadBalancer config. // This entails adding rules/probes for expected Ports and removing stale rules/ports. @@ -1147,7 +1138,12 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service, // would not be in the `nodes` slice. We need to check the nodes that // have been added to the LB's backendpool, find the unwanted ones and // delete them from the pool. - if !nodeNameInNodes(nodeName, nodes) { + shouldExcludeLoadBalancer, err := az.ShouldNodeExcludedFromLoadBalancer(nodeName) + if err != nil { + klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", nodeName, err) + return nil, err + } + if shouldExcludeLoadBalancer { klog.V(2).Infof("reconcileLoadBalancer for service (%s)(%t): lb backendpool - found unwanted node %s, decouple it from the LB", serviceName, wantLb, nodeName) // construct a backendPool that only contains the IP config of the node to be deleted backendIPConfigurationsToBeDeleted = append(backendIPConfigurationsToBeDeleted, network.InterfaceIPConfiguration{ID: to.StringPtr(ipConfID)}) @@ -1164,7 +1160,7 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service, } vmSetName := az.mapLoadBalancerNameToVMSet(lbName, clusterName) // decouple the backendPool from the node - err = az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted) + err = az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, backendpoolToBeDeleted, false) if err != nil { return nil, err } @@ -1448,21 +1444,36 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service, // do nothing for availability set lb.BackendAddressPools = nil } - err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, lb.BackendAddressPools) + err := az.VMSet.EnsureBackendPoolDeleted(service, lbBackendPoolID, vmSetName, lb.BackendAddressPools, true) if err != nil { klog.Errorf("EnsureBackendPoolDeleted(%s) for service %s failed: %v", lbBackendPoolID, serviceName, err) return nil, err } klog.V(10).Infof("EnsureBackendPoolDeleted(%s) for service %s: end", lbBackendPoolID, serviceName) - // Remove the LB. - klog.V(10).Infof("reconcileLoadBalancer: az.DeleteLB(%q): start", lbName) - err = az.DeleteLB(service, lbName) + existingLBs, err := az.ListLB(service) if err != nil { - klog.V(2).Infof("reconcileLoadBalancer for service(%s) abort backoff: lb(%s) - deleting; no remaining frontendIPConfigurations", serviceName, lbName) + klog.Errorf("reconcileLoadBalancer: failed to list load balancer for service %q: %s", serviceName, err.Error()) return nil, err } - klog.V(10).Infof("az.DeleteLB(%q): end", lbName) + + foundLB := false + for _, existingLB := range existingLBs { + if strings.EqualFold(lbName, to.String(existingLB.Name)) { + foundLB = true + break + } + } + // Remove the LB if it exists. + if foundLB { + klog.V(10).Infof("reconcileLoadBalancer: az.DeleteLB(%q): start", lbName) + err = az.DeleteLB(service, lbName) + if err != nil { + klog.V(2).Infof("reconcileLoadBalancer for service(%s) abort backoff: lb(%s) - deleting; no remaining frontendIPConfigurations", serviceName, lbName) + return nil, err + } + klog.V(10).Infof("az.DeleteLB(%q): end", lbName) + } } } else { klog.V(2).Infof("reconcileLoadBalancer: reconcileLoadBalancer for service(%s): lb(%s) - updating", serviceName, lbName) @@ -1665,7 +1676,8 @@ func (az *Cloud) reconcileLoadBalancerRule( if probeProtocol == "" { probeProtocol = string(network.ProbeProtocolHTTP) } - if requestPath == "" { + needRequestPath := strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTP)) || strings.EqualFold(probeProtocol, string(network.ProbeProtocolHTTPS)) + if requestPath == "" && needRequestPath { requestPath = podPresencePath } diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go index a8ee19b10dac..ab66dd6d8438 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_standard.go @@ -914,7 +914,12 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No continue } - if as.ShouldNodeExcludedFromLoadBalancer(node) { + shouldExcludeLoadBalancer, err := as.ShouldNodeExcludedFromLoadBalancer(localNodeName) + if err != nil { + klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", localNodeName, err) + return err + } + if shouldExcludeLoadBalancer { klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", localNodeName) continue } @@ -939,7 +944,7 @@ func (as *availabilitySet) EnsureHostsInPool(service *v1.Service, nodes []*v1.No } // EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes. -func (as *availabilitySet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error { +func (as *availabilitySet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error { // Returns nil if backend address pools already deleted. if backendAddressPools == nil { return nil diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmsets.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmsets.go index d76dd2043784..3fb92852072b 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmsets.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmsets.go @@ -64,7 +64,7 @@ type VMSet interface { // participating in the specified LoadBalancer Backend Pool. EnsureHostInPool(service *v1.Service, nodeName types.NodeName, backendPoolID string, vmSetName string, isInternal bool) (string, string, string, *compute.VirtualMachineScaleSetVM, error) // EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes. - EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error + EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error // AttachDisk attaches a vhd to vm. The vhd must exist, can be identified by diskName, diskURI, and lun. AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, lun int32, cachingMode compute.CachingTypes, diskEncryptionSetID string, writeAcceleratorEnabled bool) error diff --git a/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go b/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go index c7b820548732..893f56682a24 100644 --- a/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go +++ b/vendor/k8s.io/legacy-cloud-providers/azure/azure_vmss.go @@ -743,11 +743,16 @@ func (ss *scaleSet) getAgentPoolScaleSets(nodes []*v1.Node) (*[]string, error) { continue } - if ss.ShouldNodeExcludedFromLoadBalancer(nodes[nx]) { + nodeName := nodes[nx].Name + shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(nodeName) + if err != nil { + klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", nodeName, err) + return nil, err + } + if shouldExcludeLoadBalancer { continue } - nodeName := nodes[nx].Name ssName, _, _, err := ss.getVmssVM(nodeName, azcache.CacheReadTypeDefault) if err != nil { return nil, err @@ -1105,7 +1110,12 @@ func (ss *scaleSet) ensureVMSSInPool(service *v1.Service, nodes []*v1.Node, back continue } - if ss.ShouldNodeExcludedFromLoadBalancer(node) { + shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(node.Name) + if err != nil { + klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", node.Name, err) + return err + } + if shouldExcludeLoadBalancer { klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", node.Name) continue } @@ -1248,7 +1258,12 @@ func (ss *scaleSet) EnsureHostsInPool(service *v1.Service, nodes []*v1.Node, bac continue } - if ss.ShouldNodeExcludedFromLoadBalancer(node) { + shouldExcludeLoadBalancer, err := ss.ShouldNodeExcludedFromLoadBalancer(localNodeName) + if err != nil { + klog.Errorf("ShouldNodeExcludedFromLoadBalancer(%s) failed with error: %v", localNodeName, err) + return err + } + if shouldExcludeLoadBalancer { klog.V(4).Infof("Excluding unmanaged/external-resource-group node %q", localNodeName) continue } @@ -1569,7 +1584,7 @@ func (ss *scaleSet) ensureBackendPoolDeletedFromVMSS(service *v1.Service, backen } // EnsureBackendPoolDeleted ensures the loadBalancer backendAddressPools deleted from the specified nodes. -func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool) error { +func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, vmSetName string, backendAddressPools *[]network.BackendAddressPool, deleteFromVMSet bool) error { // Returns nil if backend address pools already deleted. if backendAddressPools == nil { return nil @@ -1681,9 +1696,11 @@ func (ss *scaleSet) EnsureBackendPoolDeleted(service *v1.Service, backendPoolID, } // Ensure the backendPoolID is also deleted on VMSS itself. - err := ss.ensureBackendPoolDeletedFromVMSS(service, backendPoolID, vmSetName, ipConfigurationIDs) - if err != nil { - return err + if deleteFromVMSet { + err := ss.ensureBackendPoolDeletedFromVMSS(service, backendPoolID, vmSetName, ipConfigurationIDs) + if err != nil { + return err + } } isOperationSucceeded = true diff --git a/vendor/modules.txt b/vendor/modules.txt index 04dbae177430..419f62f68e56 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1382,7 +1382,7 @@ gopkg.in/warnings.v0 gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 gopkg.in/yaml.v3 -# k8s.io/api v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1 +# k8s.io/api v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1 ## explicit k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -1430,7 +1430,7 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apiextensions-apiserver v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1 +# k8s.io/apiextensions-apiserver v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1 k8s.io/apiextensions-apiserver/pkg/apihelpers k8s.io/apiextensions-apiserver/pkg/apis/apiextensions k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install @@ -1470,7 +1470,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1 +# k8s.io/apimachinery v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1 ## explicit k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -1534,7 +1534,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1 +# k8s.io/apiserver v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1 ## explicit k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/configuration @@ -1673,7 +1673,7 @@ k8s.io/apiserver/plugin/pkg/audit/webhook 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.20.14-k3s1 +# k8s.io/cli-runtime v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/kustomize k8s.io/cli-runtime/pkg/kustomize/k8sdeps @@ -1686,7 +1686,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.20.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.20.15-k3s1 ## explicit k8s.io/client-go/discovery k8s.io/client-go/discovery/cached @@ -1933,7 +1933,7 @@ 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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1 +# k8s.io/cloud-provider v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1 ## explicit k8s.io/cloud-provider k8s.io/cloud-provider/api @@ -1954,13 +1954,13 @@ 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.20.14-k3s1 +# k8s.io/cluster-bootstrap v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.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.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1 +# k8s.io/code-generator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.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 @@ -1975,7 +1975,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.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1 +# k8s.io/component-base v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1 ## explicit k8s.io/component-base/cli/flag k8s.io/component-base/cli/globalflag @@ -2001,13 +2001,13 @@ k8s.io/component-base/metrics/testutil k8s.io/component-base/term k8s.io/component-base/version k8s.io/component-base/version/verflag -# k8s.io/component-helpers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1 +# k8s.io/component-helpers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1 k8s.io/component-helpers/apimachinery/lease k8s.io/component-helpers/auth/rbac/reconciliation k8s.io/component-helpers/auth/rbac/validation k8s.io/component-helpers/scheduling/corev1 k8s.io/component-helpers/scheduling/corev1/nodeaffinity -# k8s.io/controller-manager v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1 +# k8s.io/controller-manager v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1 ## explicit k8s.io/controller-manager/app k8s.io/controller-manager/config @@ -2017,11 +2017,11 @@ k8s.io/controller-manager/pkg/clientbuilder k8s.io/controller-manager/pkg/features k8s.io/controller-manager/pkg/features/register k8s.io/controller-manager/pkg/informerfactory -# k8s.io/cri-api v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1 +# k8s.io/cri-api v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1 ## explicit 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.20.14-k3s1 +# k8s.io/csi-translation-lib v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1 k8s.io/csi-translation-lib k8s.io/csi-translation-lib/plugins # k8s.io/gengo v0.0.0-20201113003025-83324d819ded @@ -2039,7 +2039,7 @@ k8s.io/heapster/metrics/api/v1/types k8s.io/klog # k8s.io/klog/v2 v2.4.0 k8s.io/klog/v2 -# k8s.io/kube-aggregator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1 +# k8s.io/kube-aggregator v0.18.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.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 @@ -2067,7 +2067,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.20.14-k3s1 +# k8s.io/kube-controller-manager v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1 k8s.io/kube-controller-manager/config/v1alpha1 # k8s.io/kube-openapi v0.0.0-20211110013926-83f114cd0513 k8s.io/kube-openapi/pkg/aggregator @@ -2083,13 +2083,13 @@ k8s.io/kube-openapi/pkg/validation/spec k8s.io/kube-openapi/pkg/validation/strfmt k8s.io/kube-openapi/pkg/validation/strfmt/bson k8s.io/kube-openapi/pkg/validation/validate -# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1 +# k8s.io/kube-proxy v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.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.20.14-k3s1 +# k8s.io/kube-scheduler v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1 k8s.io/kube-scheduler/config/v1 k8s.io/kube-scheduler/config/v1beta1 k8s.io/kube-scheduler/extender/v1 -# k8s.io/kubectl v0.20.14 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1 +# k8s.io/kubectl v0.20.15 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1 ## explicit k8s.io/kubectl/pkg/apps k8s.io/kubectl/pkg/cmd @@ -2167,7 +2167,7 @@ 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.20.14-k3s1 +# k8s.io/kubelet v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1 k8s.io/kubelet/config/v1alpha1 k8s.io/kubelet/config/v1beta1 k8s.io/kubelet/pkg/apis/credentialprovider @@ -2178,7 +2178,7 @@ k8s.io/kubelet/pkg/apis/pluginregistration/v1 k8s.io/kubelet/pkg/apis/podresources/v1 k8s.io/kubelet/pkg/apis/podresources/v1alpha1 k8s.io/kubelet/pkg/apis/stats/v1alpha1 -# k8s.io/kubernetes v1.20.14 => github.com/k3s-io/kubernetes v1.20.14-k3s1 +# k8s.io/kubernetes v1.20.15 => github.com/k3s-io/kubernetes v1.20.15-k3s1 ## explicit k8s.io/kubernetes/cmd/kube-apiserver/app k8s.io/kubernetes/cmd/kube-apiserver/app/options @@ -2898,7 +2898,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.20.14-k3s1 +# k8s.io/legacy-cloud-providers v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1 k8s.io/legacy-cloud-providers/aws k8s.io/legacy-cloud-providers/azure k8s.io/legacy-cloud-providers/azure/auth @@ -2940,7 +2940,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.20.14-k3s1 +# k8s.io/metrics v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.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 @@ -2956,7 +2956,7 @@ k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1 k8s.io/metrics/pkg/client/custom_metrics k8s.io/metrics/pkg/client/custom_metrics/scheme k8s.io/metrics/pkg/client/external_metrics -# k8s.io/mount-utils v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1 +# k8s.io/mount-utils v0.0.0 => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1 k8s.io/mount-utils # k8s.io/utils v0.0.0-20201110183641-67b214c5f920 ## explicit @@ -3044,32 +3044,32 @@ sigs.k8s.io/yaml # google.golang.org/genproto => google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63 # google.golang.org/grpc => google.golang.org/grpc v1.27.1 # gopkg.in/square/go-jose.v2 => gopkg.in/square/go-jose.v2 v2.2.2 -# k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.14-k3s1 -# k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.14-k3s1 -# k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.14-k3s1 -# k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.14-k3s1 -# k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.14-k3s1 -# k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.14-k3s1 -# k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.14-k3s1 -# k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.14-k3s1 -# k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.14-k3s1 -# k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.14-k3s1 -# k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.14-k3s1 -# k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.14-k3s1 -# k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.14-k3s1 -# k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.14-k3s1 -# k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.14-k3s1 -# k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.14-k3s1 -# k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.14-k3s1 -# k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.14-k3s1 -# k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.14-k3s1 -# k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.14-k3s1 -# k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.14-k3s1 -# k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.14-k3s1 -# k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.14-k3s1 -# k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.14-k3s1 -# k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.14-k3s1 -# k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.14-k3s1 -# k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.14-k3s1 -# k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.14-k3s1 +# k8s.io/api => github.com/k3s-io/kubernetes/staging/src/k8s.io/api v1.20.15-k3s1 +# k8s.io/apiextensions-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.20.15-k3s1 +# k8s.io/apimachinery => github.com/k3s-io/kubernetes/staging/src/k8s.io/apimachinery v1.20.15-k3s1 +# k8s.io/apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/apiserver v1.20.15-k3s1 +# k8s.io/cli-runtime => github.com/k3s-io/kubernetes/staging/src/k8s.io/cli-runtime v1.20.15-k3s1 +# k8s.io/client-go => github.com/k3s-io/kubernetes/staging/src/k8s.io/client-go v1.20.15-k3s1 +# k8s.io/cloud-provider => github.com/k3s-io/kubernetes/staging/src/k8s.io/cloud-provider v1.20.15-k3s1 +# k8s.io/cluster-bootstrap => github.com/k3s-io/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.20.15-k3s1 +# k8s.io/code-generator => github.com/k3s-io/kubernetes/staging/src/k8s.io/code-generator v1.20.15-k3s1 +# k8s.io/component-base => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-base v1.20.15-k3s1 +# k8s.io/component-helpers => github.com/k3s-io/kubernetes/staging/src/k8s.io/component-helpers v1.20.15-k3s1 +# k8s.io/controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/controller-manager v1.20.15-k3s1 +# k8s.io/cri-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/cri-api v1.20.15-k3s1 +# k8s.io/csi-translation-lib => github.com/k3s-io/kubernetes/staging/src/k8s.io/csi-translation-lib v1.20.15-k3s1 +# k8s.io/kube-aggregator => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-aggregator v1.20.15-k3s1 +# k8s.io/kube-controller-manager => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-controller-manager v1.20.15-k3s1 +# k8s.io/kube-proxy => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-proxy v1.20.15-k3s1 +# k8s.io/kube-scheduler => github.com/k3s-io/kubernetes/staging/src/k8s.io/kube-scheduler v1.20.15-k3s1 +# k8s.io/kubectl => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubectl v1.20.15-k3s1 +# k8s.io/kubelet => github.com/k3s-io/kubernetes/staging/src/k8s.io/kubelet v1.20.15-k3s1 +# k8s.io/kubernetes => github.com/k3s-io/kubernetes v1.20.15-k3s1 +# k8s.io/legacy-cloud-providers => github.com/k3s-io/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.20.15-k3s1 +# k8s.io/metrics => github.com/k3s-io/kubernetes/staging/src/k8s.io/metrics v1.20.15-k3s1 +# k8s.io/mount-utils => github.com/k3s-io/kubernetes/staging/src/k8s.io/mount-utils v1.20.15-k3s1 +# k8s.io/node-api => github.com/k3s-io/kubernetes/staging/src/k8s.io/node-api v1.20.15-k3s1 +# k8s.io/sample-apiserver => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-apiserver v1.20.15-k3s1 +# k8s.io/sample-cli-plugin => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.20.15-k3s1 +# k8s.io/sample-controller => github.com/k3s-io/kubernetes/staging/src/k8s.io/sample-controller v1.20.15-k3s1 # mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34