From e33dcdbdc9cd912377a1efd52daf17cdbc11c37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20K=C5=82obuszewski?= Date: Mon, 15 Jul 2024 15:49:55 +0200 Subject: [PATCH] Update vendor to use k8s 1.28.11 --- cluster-autoscaler/go.mod | 84 ++++++++-------- cluster-autoscaler/go.sum | 76 +++++++------- .../pkg/storage/cacher/watch_cache.go | 10 +- .../pkg/scheduler/framework/interface.go | 5 +- .../framework/preemption/preemption.go | 17 ++-- .../pkg/scheduler/framework/types.go | 3 + .../internal/queue/scheduling_queue.go | 5 + .../kubernetes/pkg/scheduler/schedule_one.go | 28 +++--- cluster-autoscaler/vendor/modules.txt | 98 +++++++++---------- cluster-autoscaler/version/version.go | 2 +- 10 files changed, 168 insertions(+), 160 deletions(-) diff --git a/cluster-autoscaler/go.mod b/cluster-autoscaler/go.mod index 79ab28c37de3..adef27e120df 100644 --- a/cluster-autoscaler/go.mod +++ b/cluster-autoscaler/go.mod @@ -36,17 +36,17 @@ require ( google.golang.org/protobuf v1.33.0 gopkg.in/gcfg.v1 v1.2.3 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.28.10 - k8s.io/apimachinery v0.28.10 - k8s.io/apiserver v0.28.10 - k8s.io/client-go v0.28.10 - k8s.io/cloud-provider v0.28.10 + k8s.io/api v0.28.11 + k8s.io/apimachinery v0.28.11 + k8s.io/apiserver v0.28.11 + k8s.io/client-go v0.28.11 + k8s.io/cloud-provider v0.28.11 k8s.io/cloud-provider-aws v1.27.0 - k8s.io/component-base v0.28.10 - k8s.io/component-helpers v0.28.10 + k8s.io/component-base v0.28.11 + k8s.io/component-helpers v0.28.11 k8s.io/klog/v2 v2.100.1 - k8s.io/kubelet v0.28.10 - k8s.io/kubernetes v1.28.10 + k8s.io/kubelet v0.28.11 + k8s.io/kubernetes v1.28.11 k8s.io/legacy-cloud-providers v0.0.0 k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 sigs.k8s.io/cloud-provider-azure v1.26.2 @@ -179,11 +179,11 @@ require ( gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.0.0 // indirect - k8s.io/controller-manager v0.28.10 // indirect - k8s.io/cri-api v0.28.10 // indirect + k8s.io/controller-manager v0.28.11 // indirect + k8s.io/cri-api v0.28.11 // indirect k8s.io/csi-translation-lib v0.27.0 // indirect k8s.io/dynamic-resource-allocation v0.0.0 // indirect - k8s.io/kms v0.28.10 // indirect + k8s.io/kms v0.28.11 // indirect k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect k8s.io/kube-scheduler v0.0.0 // indirect k8s.io/kubectl v0.0.0 // indirect @@ -199,64 +199,64 @@ replace github.com/digitalocean/godo => github.com/digitalocean/godo v1.27.0 replace github.com/rancher/go-rancher => github.com/rancher/go-rancher v0.1.0 -replace k8s.io/api => k8s.io/api v0.28.10 +replace k8s.io/api => k8s.io/api v0.28.11 -replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.10 +replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.11 -replace k8s.io/apimachinery => k8s.io/apimachinery v0.28.10 +replace k8s.io/apimachinery => k8s.io/apimachinery v0.28.11 -replace k8s.io/apiserver => k8s.io/apiserver v0.28.10 +replace k8s.io/apiserver => k8s.io/apiserver v0.28.11 -replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.28.10 +replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.28.11 -replace k8s.io/client-go => k8s.io/client-go v0.28.10 +replace k8s.io/client-go => k8s.io/client-go v0.28.11 -replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.10 +replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.11 -replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.10 +replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.11 -replace k8s.io/code-generator => k8s.io/code-generator v0.28.10 +replace k8s.io/code-generator => k8s.io/code-generator v0.28.11 -replace k8s.io/component-base => k8s.io/component-base v0.28.10 +replace k8s.io/component-base => k8s.io/component-base v0.28.11 -replace k8s.io/component-helpers => k8s.io/component-helpers v0.28.10 +replace k8s.io/component-helpers => k8s.io/component-helpers v0.28.11 -replace k8s.io/controller-manager => k8s.io/controller-manager v0.28.10 +replace k8s.io/controller-manager => k8s.io/controller-manager v0.28.11 -replace k8s.io/cri-api => k8s.io/cri-api v0.28.10 +replace k8s.io/cri-api => k8s.io/cri-api v0.28.11 -replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.28.10 +replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.28.11 -replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.28.10 +replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.28.11 -replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.28.10 +replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.28.11 -replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.28.10 +replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.28.11 -replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.28.10 +replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.28.11 -replace k8s.io/kubectl => k8s.io/kubectl v0.28.10 +replace k8s.io/kubectl => k8s.io/kubectl v0.28.11 -replace k8s.io/kubelet => k8s.io/kubelet v0.28.10 +replace k8s.io/kubelet => k8s.io/kubelet v0.28.11 -replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.28.10 +replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.28.11 -replace k8s.io/metrics => k8s.io/metrics v0.28.10 +replace k8s.io/metrics => k8s.io/metrics v0.28.11 -replace k8s.io/mount-utils => k8s.io/mount-utils v0.28.10 +replace k8s.io/mount-utils => k8s.io/mount-utils v0.28.11 -replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.28.10 +replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.28.11 -replace k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.28.10 +replace k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.28.11 -replace k8s.io/sample-controller => k8s.io/sample-controller v0.28.10 +replace k8s.io/sample-controller => k8s.io/sample-controller v0.28.11 -replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.28.10 +replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.28.11 -replace k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.28.10 +replace k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.28.11 -replace k8s.io/kms => k8s.io/kms v0.28.10 +replace k8s.io/kms => k8s.io/kms v0.28.11 replace k8s.io/noderesourcetopology-api => k8s.io/noderesourcetopology-api v0.27.0 -replace k8s.io/endpointslice => k8s.io/endpointslice v0.28.10 +replace k8s.io/endpointslice => k8s.io/endpointslice v0.28.11 diff --git a/cluster-autoscaler/go.sum b/cluster-autoscaler/go.sum index 9aa0950e35d9..0f59bbed6abf 100644 --- a/cluster-autoscaler/go.sum +++ b/cluster-autoscaler/go.sum @@ -1177,52 +1177,52 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.28.10 h1:q1Y+h3F+siuwP/qCQuqgqGJjaIuQWN0yFE7z367E3Q0= -k8s.io/api v0.28.10/go.mod h1:u6EzGdzmEC2vfhyw4sD89i7OIc/2v1EAwvd1t4chQac= -k8s.io/apiextensions-apiserver v0.28.10 h1:oPw2OHjwmnAxeHsIsWcxks27UzNv1bTSQ7ei5xYStgY= -k8s.io/apiextensions-apiserver v0.28.10/go.mod h1:1ZHGxGUZO9ta7f1J6/CoaTYzYABufZolc5JkE1ekUe4= -k8s.io/apimachinery v0.28.10 h1:cWonrYsJK3lbuf9IgMs5+L5Jzw6QR3ZGA3hzwG0HDeI= -k8s.io/apimachinery v0.28.10/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o= -k8s.io/apiserver v0.28.10 h1:PyY8SqN7jjGVa1no4lXaRu3a/tUWaf2Eikp19j7tpns= -k8s.io/apiserver v0.28.10/go.mod h1:x7jV3eQrjqj5ZrLyIACVi8lPjoKv/wQQLyA/Lb+JPK8= -k8s.io/client-go v0.28.10 h1:y+mvUei3+RU0rE7r2BZFA2ApTAsXSN1glGs4QfULLt4= -k8s.io/client-go v0.28.10/go.mod h1:JLwjCWhQhvm1F4J+7YAr9WVhSRNmfkRofPWU43m8LZk= -k8s.io/cloud-provider v0.28.10 h1:rCPhtwRly52b/4K0AK1UcGXonqvqHLI3loT3p85sNBg= -k8s.io/cloud-provider v0.28.10/go.mod h1:Uf8MWMkOG3LRRoooGjmnmCS0DyB80yTu1VAEzcQ94qc= +k8s.io/api v0.28.11 h1:2qFr3jSpjy/9QirmlRP0LZeomexuwyRlE8CWUn9hPNY= +k8s.io/api v0.28.11/go.mod h1:nQSGyxQ2sbS73i1zEJyaktFvFfD72z/7nU+LqxzNnXk= +k8s.io/apiextensions-apiserver v0.28.11 h1:EbHGxLgPVupsobUhwY9kLYES0yRLn65fV/aAuW52+xo= +k8s.io/apiextensions-apiserver v0.28.11/go.mod h1:eKJx8UVKgeaqFZWdU39Q8bNOnv21aFK55+riFdUhAJg= +k8s.io/apimachinery v0.28.11 h1:Ovrx7IOkKSgFJn8+d5BXOC7POzP4i7kOAVlx46iRQ04= +k8s.io/apimachinery v0.28.11/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o= +k8s.io/apiserver v0.28.11 h1:psPvPGLLQ8a9A/RMBmNZCDtdZl+SAGaGUmgRJwWJUVs= +k8s.io/apiserver v0.28.11/go.mod h1:R/TEx9vu8AlgAuasjca43rTazg9BI61NhTr4YqmduBI= +k8s.io/client-go v0.28.11 h1:YHtF6Bg4/DdYHHsx6f5Ti/0giwoo19t3DbBYYmo9xks= +k8s.io/client-go v0.28.11/go.mod h1:yi2BW8PQhFDLGmZ3WbyTJYX5J8YM6n3WUj1fvL7pJ4g= +k8s.io/cloud-provider v0.28.11 h1:mcnSeNqZDOQ5NwupExHuYzXFoWujTSfbYjIxIAfgQ1g= +k8s.io/cloud-provider v0.28.11/go.mod h1:o8owaKhBUV6N+FcNLincYuxbWd6OzwuJKNROMF+mDc0= k8s.io/cloud-provider-aws v1.27.0 h1:PF8YrH8QcN6JoXB3Xxlaz84SBDYMPunJuCc0cPuCWXA= k8s.io/cloud-provider-aws v1.27.0/go.mod h1:9vUb5mnVnReSRDBWcBxB1b0HOeEc472iOPmrnwpN9SA= -k8s.io/component-base v0.28.10 h1:q2GEIfUOeVTzAVawbLsl2HVJ40aEYMmMgo61ACwJt2A= -k8s.io/component-base v0.28.10/go.mod h1:6NORKNW2SWoximcDE8GZlO0nXVtyVfiM5R5xSVNTRK8= -k8s.io/component-helpers v0.28.10 h1:9VWe9/yw9/5mtXRuPMavu543n7Hn669+h5UFPWD0iaM= -k8s.io/component-helpers v0.28.10/go.mod h1:rkykkUC93BO9sOWf/EdLEVh6ibw8lq3twCSNIGrNdYo= -k8s.io/controller-manager v0.28.10 h1:bSweMCvh88y57G7lb1+NvqrAhfIH/V59CBBWEYyw7G4= -k8s.io/controller-manager v0.28.10/go.mod h1:DiItjXeUuokURg1HOxydFw0kbqEwMCNhhutz/EnonZU= -k8s.io/cri-api v0.28.10 h1:K5SMbREFibKwvCFiFIeHwjaAMjOQSKuuvj4uMR86Gac= -k8s.io/cri-api v0.28.10/go.mod h1:8/bPK3T4irPoj3LjriQc1TAIheeN2yWXR3mz+8jNZ8U= -k8s.io/csi-translation-lib v0.28.10 h1:qxSM8WoGg6EMYsI/BrlGsP7XminLQZLXkwJNiY6kGhA= -k8s.io/csi-translation-lib v0.28.10/go.mod h1:KLe1tGLhunZ7HJ41a+hbf4b5sZ7vj5NEj3R/D73x5g0= -k8s.io/dynamic-resource-allocation v0.28.10 h1:nUnewOgLaE98TS4B8JNvI6A1hYPY4CpwpET+ov52Vwc= -k8s.io/dynamic-resource-allocation v0.28.10/go.mod h1:lRM/w30SRsStfKmOnJBojfHN0Blgsy0oRJNz3glHwXs= +k8s.io/component-base v0.28.11 h1:/CyCF+Mgb737LnvJ0pHxZHKnK/OPiXtxGBr9fcE82K4= +k8s.io/component-base v0.28.11/go.mod h1:GDfDeCmn5CKKfdqvSxFJEcyoiBYzujP2bMj1rU919Dc= +k8s.io/component-helpers v0.28.11 h1:yV9DSZqDYXjtI+vQBT/su3nkQHOcjZq7rqCXwaJ4Ks0= +k8s.io/component-helpers v0.28.11/go.mod h1:2bQFOSpUmsB+X2yjWTXfo5PLsDCHmDP0PyYdMKNreNA= +k8s.io/controller-manager v0.28.11 h1:m5XLAwAhMc+bz1P4DCZuxJFuFKEdyKLPWXfejiiqKCo= +k8s.io/controller-manager v0.28.11/go.mod h1:sW9cbFkT/m9atGirDkq94rDmzLcADb6PxOJVkKOy8AY= +k8s.io/cri-api v0.28.11 h1:AnkgVS9Sz7vwJZM2ptCY3jfmDYyZMV2nqxKMxfJ64Zo= +k8s.io/cri-api v0.28.11/go.mod h1:8/bPK3T4irPoj3LjriQc1TAIheeN2yWXR3mz+8jNZ8U= +k8s.io/csi-translation-lib v0.28.11 h1:fPmUdaqvgWNCEHtaGom+2v0jIL8iUv7gFq+7CC83Xmk= +k8s.io/csi-translation-lib v0.28.11/go.mod h1:+WMkOjFvrV09okM5qEzRECOwVvH2mhBQPSAYH+7sv4c= +k8s.io/dynamic-resource-allocation v0.28.11 h1:IwDrj+isvI6N9+qGKxntPEhWrT2ogM4GqULpNG/BKm0= +k8s.io/dynamic-resource-allocation v0.28.11/go.mod h1:Wd0imF63eR/Zpa++lM+XqYdjrkVoR4HOhV92460kzA8= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kms v0.28.10 h1:rjP2HWXeMF6p5dnSosVGiYhhMYkVkCE2wVRxkqiUiAM= -k8s.io/kms v0.28.10/go.mod h1:RoSWftot8nvpJft3LXsx1G5Gd/RO/VxD2AWu7cMxqb0= +k8s.io/kms v0.28.11 h1:ZF4Tj/eOC/Ai0kfWdxubO+H/Sa19e56bYhGCTaC0j6Q= +k8s.io/kms v0.28.11/go.mod h1:OHQEkb4k4CRTodefxBnsBww1ia15Cc4mvwkilsxR2og= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/kube-scheduler v0.28.10 h1:818f9tHQWlnpARBtx1/yidmFqyN42vZE0hNzMf1Rf+c= -k8s.io/kube-scheduler v0.28.10/go.mod h1:Zs/VItGVb3DGOGzCw2tnZIbEa1eCu39x1xYUvUtnJDU= -k8s.io/kubectl v0.28.10 h1:ljlWrQVqKZspYESo4u570s3/BbnhiJ2z5LspzIKRSDM= -k8s.io/kubectl v0.28.10/go.mod h1:A1imFpT+xfaRkf+jN1yGHkAnq7hukF74i2ny/iXjbHc= -k8s.io/kubelet v0.28.10 h1:HoXMtQ86e8rGxuunEl+gtqcwXKSbW/pwShedoEBB+XQ= -k8s.io/kubelet v0.28.10/go.mod h1:TOshivjtPcQl+YGobMYgDffqdkuZ9h2/Dc7FOoVK4D4= -k8s.io/kubernetes v1.28.10 h1:QYofnL3gNbarVLOVbOKkyrZc6iA0rLGj69azDZLTbNs= -k8s.io/kubernetes v1.28.10/go.mod h1:chlmcCDBnOA/y+572cw8dO0Rci1wiA8bm5+zhPdFLCk= -k8s.io/legacy-cloud-providers v0.28.10 h1:kb0/GybmqXjbV8HGa5uvdDKXeiYKC1u69crOV65PY1w= -k8s.io/legacy-cloud-providers v0.28.10/go.mod h1:z1D9yTWsH9TByDv/PSCL9RtZO6KhE2+APO/oDSgIcsE= -k8s.io/mount-utils v0.28.10 h1:8XfdlJaWTxvvu5CfdNa7I/vU+378Z2thzIbIlovLYzo= -k8s.io/mount-utils v0.28.10/go.mod h1:ZxAFXgKzcAyi3VTd2pKFlZFswl9Q/cveJ5aptdjQOuc= +k8s.io/kube-scheduler v0.28.11 h1:3PN294bq1v9huIhVEYjThPP/83XG4CsxcmPOGA4rMQA= +k8s.io/kube-scheduler v0.28.11/go.mod h1:ANYrM+Qcw7gddvw7TIsrMP4P4HxigMImz8aIhT/8gqk= +k8s.io/kubectl v0.28.11 h1:9kJ715IY/QbnnrZRJVryL3uoVm0bDq88Br5HI10lavM= +k8s.io/kubectl v0.28.11/go.mod h1:yMBK/33GCQftCP5vpJH4CDutPxyRW4cMM8mC0bhGgm8= +k8s.io/kubelet v0.28.11 h1:UjMFkOAG6QzhxYMvISugqfpXrAQZ6ABBIttoLHeABZM= +k8s.io/kubelet v0.28.11/go.mod h1:l/rNAtULxUInrQ36aQkQGlxXLyQEjSmmwgugf1nJui0= +k8s.io/kubernetes v1.28.11 h1:P8v8pnlJJrJvbVOgQ+W2GPRUtYK86Hmtpe5VceDnW2A= +k8s.io/kubernetes v1.28.11/go.mod h1:chlmcCDBnOA/y+572cw8dO0Rci1wiA8bm5+zhPdFLCk= +k8s.io/legacy-cloud-providers v0.28.11 h1:5qJYIZiSKhkuHALQwzT0XR7JOwDjeOn+MusRa29cwiM= +k8s.io/legacy-cloud-providers v0.28.11/go.mod h1:2l1MIWk11PL/V3Z144gP0ZORoiP8ZLoZRs5Y1b6eIfI= +k8s.io/mount-utils v0.28.11 h1:n14zULz/VsR0J7hWiYUdCqg4g4EKY6q9ciIidaSX59w= +k8s.io/mount-utils v0.28.11/go.mod h1:ZxAFXgKzcAyi3VTd2pKFlZFswl9Q/cveJ5aptdjQOuc= k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= diff --git a/cluster-autoscaler/vendor/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go b/cluster-autoscaler/vendor/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go index c26eb55dac44..c27ca053b78e 100644 --- a/cluster-autoscaler/vendor/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go +++ b/cluster-autoscaler/vendor/k8s.io/apiserver/pkg/storage/cacher/watch_cache.go @@ -492,8 +492,7 @@ func (s sortableStoreElements) Swap(i, j int) { // WaitUntilFreshAndList returns list of pointers to `storeElement` objects along // with their ResourceVersion and the name of the index, if any, that was used. -func (w *watchCache) WaitUntilFreshAndList(ctx context.Context, resourceVersion uint64, matchValues []storage.MatchValue) ([]interface{}, uint64, string, error) { - var err error +func (w *watchCache) WaitUntilFreshAndList(ctx context.Context, resourceVersion uint64, matchValues []storage.MatchValue) (result []interface{}, rv uint64, index string, err error) { if utilfeature.DefaultFeatureGate.Enabled(features.ConsistentListFromCache) && w.notFresh(resourceVersion) { w.waitingUntilFresh.Add() err = w.waitUntilFreshAndBlock(ctx, resourceVersion) @@ -501,12 +500,14 @@ func (w *watchCache) WaitUntilFreshAndList(ctx context.Context, resourceVersion } else { err = w.waitUntilFreshAndBlock(ctx, resourceVersion) } + + defer func() { sort.Sort(sortableStoreElements(result)) }() defer w.RUnlock() if err != nil { - return nil, 0, "", err + return result, rv, index, err } - result, rv, index, err := func() ([]interface{}, uint64, string, error) { + result, rv, index, err = func() ([]interface{}, uint64, string, error) { // This isn't the place where we do "final filtering" - only some "prefiltering" is happening here. So the only // requirement here is to NOT miss anything that should be returned. We can return as many non-matching items as we // want - they will be filtered out later. The fact that we return less things is only further performance improvement. @@ -519,7 +520,6 @@ func (w *watchCache) WaitUntilFreshAndList(ctx context.Context, resourceVersion return w.store.List(), w.resourceVersion, "", nil }() - sort.Sort(sortableStoreElements(result)) return result, rv, index, err } diff --git a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/interface.go b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/interface.go index 6fc1564e3870..6164e3697fb7 100644 --- a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/interface.go +++ b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/interface.go @@ -49,7 +49,8 @@ type NodeScore struct { Score int64 } -// NodeToStatusMap declares map from node name to its status. +// NodeToStatusMap contains the statuses of the Nodes where the incoming Pod was not schedulable. +// A PostFilter plugin that uses this map should interpret absent Nodes as UnschedulableAndUnresolvable. type NodeToStatusMap map[string]*Status // NodePluginScores is a struct with node name and scores for that node. @@ -394,6 +395,8 @@ type FilterPlugin interface { type PostFilterPlugin interface { Plugin // PostFilter is called by the scheduling framework. + // If there is no entry in the NodeToStatus map, its implicit status is UnschedulableAndUnresolvable. + // // A PostFilter plugin should return one of the following statuses: // - Unschedulable: the plugin gets executed successfully but the pod cannot be made schedulable. // - Success: the plugin gets executed successfully and the pod can be made schedulable. diff --git a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/preemption/preemption.go b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/preemption/preemption.go index 2e0e8c6cd6e5..049f53aab457 100644 --- a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/preemption/preemption.go +++ b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/preemption/preemption.go @@ -408,15 +408,18 @@ func (ev *Evaluator) prepareCandidate(ctx context.Context, c Candidate, pod *v1. func nodesWherePreemptionMightHelp(nodes []*framework.NodeInfo, m framework.NodeToStatusMap) ([]*framework.NodeInfo, framework.NodeToStatusMap) { var potentialNodes []*framework.NodeInfo nodeStatuses := make(framework.NodeToStatusMap) + unresolvableStatus := framework.NewStatus(framework.UnschedulableAndUnresolvable, "Preemption is not helpful for scheduling") for _, node := range nodes { - name := node.Node().Name - // We rely on the status by each plugin - 'Unschedulable' or 'UnschedulableAndUnresolvable' - // to determine whether preemption may help or not on the node. - if m[name].Code() == framework.UnschedulableAndUnresolvable { - nodeStatuses[node.Node().Name] = framework.NewStatus(framework.UnschedulableAndUnresolvable, "Preemption is not helpful for scheduling") - continue + nodeName := node.Node().Name + // We only attempt preemption on nodes with status 'Unschedulable'. For + // diagnostic purposes, we propagate UnschedulableAndUnresolvable if either + // implied by absence in map or explicitly set. + status, ok := m[nodeName] + if status.Code() == framework.Unschedulable { + potentialNodes = append(potentialNodes, node) + } else if !ok || status.Code() == framework.UnschedulableAndUnresolvable { + nodeStatuses[nodeName] = unresolvableStatus } - potentialNodes = append(potentialNodes, node) } return potentialNodes, nodeStatuses } diff --git a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/types.go b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/types.go index 8e15cf5896c5..23d6b2567540 100644 --- a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/types.go +++ b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/framework/types.go @@ -291,6 +291,9 @@ const ExtenderName = "Extender" // Diagnosis records the details to diagnose a scheduling failure. type Diagnosis struct { + // NodeToStatusMap records the status of each retriable node (status Unschedulable) + // While this map may contain UnschedulableAndUnresolvable statuses, the absence of + // a node should be interpreted as UnschedulableAndUnresolvable. NodeToStatusMap NodeToStatusMap UnschedulablePlugins sets.Set[string] // PreFilterMsg records the messages returned from PreFilter plugins. diff --git a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go index 9d51d826eace..0781b275412d 100644 --- a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go +++ b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/internal/queue/scheduling_queue.go @@ -1098,6 +1098,11 @@ func (p *PriorityQueue) requeuePodViaQueueingHint(logger klog.Logger, pInfo *fra func (p *PriorityQueue) movePodsToActiveOrBackoffQueue(logger klog.Logger, podInfoList []*framework.QueuedPodInfo, event framework.ClusterEvent, oldObj, newObj interface{}) { activated := false for _, pInfo := range podInfoList { + // Since there may be many gated pods and they will not move from the + // unschedulable pool, we skip calling the expensive isPodWorthRequeueing. + if pInfo.Gated { + continue + } schedulingHint := p.isPodWorthRequeuing(logger, pInfo, event, oldObj, newObj) if schedulingHint == framework.QueueSkip { // QueueingHintFn determined that this Pod isn't worth putting to activeQ or backoffQ by this event. diff --git a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/schedule_one.go b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/schedule_one.go index 5ad29b496d26..1a791dad706c 100644 --- a/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/schedule_one.go +++ b/cluster-autoscaler/vendor/k8s.io/kubernetes/pkg/scheduler/schedule_one.go @@ -422,18 +422,14 @@ func (sched *Scheduler) schedulePod(ctx context.Context, fwk framework.Framework // filter plugins and filter extenders. func (sched *Scheduler) findNodesThatFitPod(ctx context.Context, fwk framework.Framework, state *framework.CycleState, pod *v1.Pod) ([]*v1.Node, framework.Diagnosis, error) { logger := klog.FromContext(ctx) + diagnosis := framework.Diagnosis{ + NodeToStatusMap: make(framework.NodeToStatusMap), + UnschedulablePlugins: sets.New[string](), + } allNodes, err := sched.nodeInfoSnapshot.NodeInfos().List() if err != nil { - return nil, framework.Diagnosis{ - NodeToStatusMap: make(framework.NodeToStatusMap), - UnschedulablePlugins: sets.New[string](), - }, err - } - - diagnosis := framework.Diagnosis{ - NodeToStatusMap: make(framework.NodeToStatusMap, len(allNodes)), - UnschedulablePlugins: sets.New[string](), + return nil, diagnosis, err } // Run "prefilter" plugins. preRes, s := fwk.RunPreFilterPlugins(ctx, state, pod) @@ -474,21 +470,19 @@ func (sched *Scheduler) findNodesThatFitPod(ctx context.Context, fwk framework.F nodes := allNodes if !preRes.AllNodes() { nodes = make([]*framework.NodeInfo, 0, len(preRes.NodeNames)) - for _, n := range allNodes { - if !preRes.NodeNames.Has(n.Node().Name) { - // We consider Nodes that are filtered out by PreFilterResult as rejected via UnschedulableAndUnresolvable. - // We have to record them in NodeToStatusMap so that they won't be considered as candidates in the preemption. - diagnosis.NodeToStatusMap[n.Node().Name] = framework.NewStatus(framework.UnschedulableAndUnresolvable, "node is filtered out by the prefilter result") - continue + for nodeName := range preRes.NodeNames { + // PreRes may return nodeName(s) which do not exist; we verify + // node exists in the Snapshot. + if nodeInfo, err := sched.nodeInfoSnapshot.Get(nodeName); err == nil { + nodes = append(nodes, nodeInfo) } - nodes = append(nodes, n) } } feasibleNodes, err := sched.findNodesThatPassFilters(ctx, fwk, state, pod, diagnosis, nodes) // always try to update the sched.nextStartNodeIndex regardless of whether an error has occurred // this is helpful to make sure that all the nodes have a chance to be searched processedNodes := len(feasibleNodes) + len(diagnosis.NodeToStatusMap) - sched.nextStartNodeIndex = (sched.nextStartNodeIndex + processedNodes) % len(nodes) + sched.nextStartNodeIndex = (sched.nextStartNodeIndex + processedNodes) % len(allNodes) if err != nil { return nil, diagnosis, err } diff --git a/cluster-autoscaler/vendor/modules.txt b/cluster-autoscaler/vendor/modules.txt index 89dc394cf243..9f1d4a391959 100644 --- a/cluster-autoscaler/vendor/modules.txt +++ b/cluster-autoscaler/vendor/modules.txt @@ -996,7 +996,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.28.10 => k8s.io/api v0.28.10 +# k8s.io/api v0.28.11 => k8s.io/api v0.28.11 ## explicit; go 1.20 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -1052,10 +1052,10 @@ 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.0.0 => k8s.io/apiextensions-apiserver v0.28.10 +# k8s.io/apiextensions-apiserver v0.0.0 => k8s.io/apiextensions-apiserver v0.28.11 ## explicit; go 1.20 k8s.io/apiextensions-apiserver/pkg/features -# k8s.io/apimachinery v0.28.10 => k8s.io/apimachinery v0.28.10 +# k8s.io/apimachinery v0.28.11 => k8s.io/apimachinery v0.28.11 ## explicit; go 1.20 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -1118,7 +1118,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.28.10 => k8s.io/apiserver v0.28.10 +# k8s.io/apiserver v0.28.11 => k8s.io/apiserver v0.28.11 ## explicit; go 1.20 k8s.io/apiserver/pkg/admission k8s.io/apiserver/pkg/admission/cel @@ -1263,7 +1263,7 @@ k8s.io/apiserver/plugin/pkg/audit/truncate k8s.io/apiserver/plugin/pkg/audit/webhook k8s.io/apiserver/plugin/pkg/authenticator/token/webhook k8s.io/apiserver/plugin/pkg/authorizer/webhook -# k8s.io/client-go v0.28.10 => k8s.io/client-go v0.28.10 +# k8s.io/client-go v0.28.11 => k8s.io/client-go v0.28.11 ## explicit; go 1.20 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -1589,7 +1589,7 @@ k8s.io/client-go/util/homedir k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/workqueue -# k8s.io/cloud-provider v0.28.10 => k8s.io/cloud-provider v0.28.10 +# k8s.io/cloud-provider v0.28.11 => k8s.io/cloud-provider v0.28.11 ## explicit; go 1.20 k8s.io/cloud-provider k8s.io/cloud-provider/api @@ -1612,7 +1612,7 @@ k8s.io/cloud-provider/volume/helpers # k8s.io/cloud-provider-aws v1.27.0 ## explicit; go 1.20 k8s.io/cloud-provider-aws/pkg/providers/v1 -# k8s.io/component-base v0.28.10 => k8s.io/component-base v0.28.10 +# k8s.io/component-base v0.28.11 => k8s.io/component-base v0.28.11 ## explicit; go 1.20 k8s.io/component-base/cli/flag k8s.io/component-base/codec @@ -1642,7 +1642,7 @@ k8s.io/component-base/tracing k8s.io/component-base/tracing/api/v1 k8s.io/component-base/version k8s.io/component-base/version/verflag -# k8s.io/component-helpers v0.28.10 => k8s.io/component-helpers v0.28.10 +# k8s.io/component-helpers v0.28.11 => k8s.io/component-helpers v0.28.11 ## explicit; go 1.20 k8s.io/component-helpers/apimachinery/lease k8s.io/component-helpers/node/topology @@ -1652,7 +1652,7 @@ k8s.io/component-helpers/scheduling/corev1 k8s.io/component-helpers/scheduling/corev1/nodeaffinity k8s.io/component-helpers/storage/ephemeral k8s.io/component-helpers/storage/volume -# k8s.io/controller-manager v0.28.10 => k8s.io/controller-manager v0.28.10 +# k8s.io/controller-manager v0.28.11 => k8s.io/controller-manager v0.28.11 ## explicit; go 1.20 k8s.io/controller-manager/config k8s.io/controller-manager/config/v1 @@ -1664,16 +1664,16 @@ k8s.io/controller-manager/pkg/features k8s.io/controller-manager/pkg/features/register k8s.io/controller-manager/pkg/leadermigration/config k8s.io/controller-manager/pkg/leadermigration/options -# k8s.io/cri-api v0.28.10 => k8s.io/cri-api v0.28.10 +# k8s.io/cri-api v0.28.11 => k8s.io/cri-api v0.28.11 ## explicit; go 1.20 k8s.io/cri-api/pkg/apis k8s.io/cri-api/pkg/apis/runtime/v1 k8s.io/cri-api/pkg/errors -# k8s.io/csi-translation-lib v0.27.0 => k8s.io/csi-translation-lib v0.28.10 +# k8s.io/csi-translation-lib v0.27.0 => k8s.io/csi-translation-lib v0.28.11 ## explicit; go 1.20 k8s.io/csi-translation-lib k8s.io/csi-translation-lib/plugins -# k8s.io/dynamic-resource-allocation v0.0.0 => k8s.io/dynamic-resource-allocation v0.28.10 +# k8s.io/dynamic-resource-allocation v0.0.0 => k8s.io/dynamic-resource-allocation v0.28.11 ## explicit; go 1.20 k8s.io/dynamic-resource-allocation/resourceclaim # k8s.io/klog/v2 v2.100.1 @@ -1684,7 +1684,7 @@ k8s.io/klog/v2/internal/clock k8s.io/klog/v2/internal/dbg k8s.io/klog/v2/internal/serialize k8s.io/klog/v2/internal/severity -# k8s.io/kms v0.28.10 => k8s.io/kms v0.28.10 +# k8s.io/kms v0.28.11 => k8s.io/kms v0.28.11 ## explicit; go 1.20 k8s.io/kms/apis/v1beta1 k8s.io/kms/apis/v2 @@ -1712,15 +1712,15 @@ k8s.io/kube-openapi/pkg/validation/errors 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-scheduler v0.0.0 => k8s.io/kube-scheduler v0.28.10 +# k8s.io/kube-scheduler v0.0.0 => k8s.io/kube-scheduler v0.28.11 ## explicit; go 1.20 k8s.io/kube-scheduler/config/v1 k8s.io/kube-scheduler/config/v1beta3 k8s.io/kube-scheduler/extender/v1 -# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.28.10 +# k8s.io/kubectl v0.0.0 => k8s.io/kubectl v0.28.11 ## explicit; go 1.20 k8s.io/kubectl/pkg/scale -# k8s.io/kubelet v0.28.10 => k8s.io/kubelet v0.28.10 +# k8s.io/kubelet v0.28.11 => k8s.io/kubelet v0.28.11 ## explicit; go 1.20 k8s.io/kubelet/config/v1 k8s.io/kubelet/config/v1alpha1 @@ -1741,7 +1741,7 @@ k8s.io/kubelet/pkg/apis/stats/v1alpha1 k8s.io/kubelet/pkg/cri/streaming k8s.io/kubelet/pkg/cri/streaming/portforward k8s.io/kubelet/pkg/cri/streaming/remotecommand -# k8s.io/kubernetes v1.28.10 +# k8s.io/kubernetes v1.28.11 ## explicit; go 1.20 k8s.io/kubernetes/cmd/kubelet/app k8s.io/kubernetes/cmd/kubelet/app/options @@ -2001,7 +2001,7 @@ k8s.io/kubernetes/pkg/volume/vsphere_volume k8s.io/kubernetes/pkg/windows/service k8s.io/kubernetes/test/utils k8s.io/kubernetes/third_party/forked/golang/expansion -# k8s.io/legacy-cloud-providers v0.0.0 => k8s.io/legacy-cloud-providers v0.28.10 +# k8s.io/legacy-cloud-providers v0.0.0 => k8s.io/legacy-cloud-providers v0.28.11 ## explicit; go 1.20 k8s.io/legacy-cloud-providers/azure k8s.io/legacy-cloud-providers/azure/auth @@ -2043,7 +2043,7 @@ k8s.io/legacy-cloud-providers/gce/gcpcredential k8s.io/legacy-cloud-providers/vsphere k8s.io/legacy-cloud-providers/vsphere/vclib k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers -# k8s.io/mount-utils v0.26.0-alpha.0 => k8s.io/mount-utils v0.28.10 +# k8s.io/mount-utils v0.26.0-alpha.0 => k8s.io/mount-utils v0.28.11 ## explicit; go 1.20 k8s.io/mount-utils # k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 @@ -2144,34 +2144,34 @@ sigs.k8s.io/yaml # github.com/aws/aws-sdk-go/service/eks => github.com/aws/aws-sdk-go/service/eks v1.38.49 # github.com/digitalocean/godo => github.com/digitalocean/godo v1.27.0 # github.com/rancher/go-rancher => github.com/rancher/go-rancher v0.1.0 -# k8s.io/api => k8s.io/api v0.28.10 -# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.10 -# k8s.io/apimachinery => k8s.io/apimachinery v0.28.10 -# k8s.io/apiserver => k8s.io/apiserver v0.28.10 -# k8s.io/cli-runtime => k8s.io/cli-runtime v0.28.10 -# k8s.io/client-go => k8s.io/client-go v0.28.10 -# k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.10 -# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.10 -# k8s.io/code-generator => k8s.io/code-generator v0.28.10 -# k8s.io/component-base => k8s.io/component-base v0.28.10 -# k8s.io/component-helpers => k8s.io/component-helpers v0.28.10 -# k8s.io/controller-manager => k8s.io/controller-manager v0.28.10 -# k8s.io/cri-api => k8s.io/cri-api v0.28.10 -# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.28.10 -# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.28.10 -# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.28.10 -# k8s.io/kube-proxy => k8s.io/kube-proxy v0.28.10 -# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.28.10 -# k8s.io/kubectl => k8s.io/kubectl v0.28.10 -# k8s.io/kubelet => k8s.io/kubelet v0.28.10 -# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.28.10 -# k8s.io/metrics => k8s.io/metrics v0.28.10 -# k8s.io/mount-utils => k8s.io/mount-utils v0.28.10 -# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.28.10 -# k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.28.10 -# k8s.io/sample-controller => k8s.io/sample-controller v0.28.10 -# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.28.10 -# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.28.10 -# k8s.io/kms => k8s.io/kms v0.28.10 +# k8s.io/api => k8s.io/api v0.28.11 +# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.28.11 +# k8s.io/apimachinery => k8s.io/apimachinery v0.28.11 +# k8s.io/apiserver => k8s.io/apiserver v0.28.11 +# k8s.io/cli-runtime => k8s.io/cli-runtime v0.28.11 +# k8s.io/client-go => k8s.io/client-go v0.28.11 +# k8s.io/cloud-provider => k8s.io/cloud-provider v0.28.11 +# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.28.11 +# k8s.io/code-generator => k8s.io/code-generator v0.28.11 +# k8s.io/component-base => k8s.io/component-base v0.28.11 +# k8s.io/component-helpers => k8s.io/component-helpers v0.28.11 +# k8s.io/controller-manager => k8s.io/controller-manager v0.28.11 +# k8s.io/cri-api => k8s.io/cri-api v0.28.11 +# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.28.11 +# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.28.11 +# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.28.11 +# k8s.io/kube-proxy => k8s.io/kube-proxy v0.28.11 +# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.28.11 +# k8s.io/kubectl => k8s.io/kubectl v0.28.11 +# k8s.io/kubelet => k8s.io/kubelet v0.28.11 +# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.28.11 +# k8s.io/metrics => k8s.io/metrics v0.28.11 +# k8s.io/mount-utils => k8s.io/mount-utils v0.28.11 +# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.28.11 +# k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.28.11 +# k8s.io/sample-controller => k8s.io/sample-controller v0.28.11 +# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.28.11 +# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.28.11 +# k8s.io/kms => k8s.io/kms v0.28.11 # k8s.io/noderesourcetopology-api => k8s.io/noderesourcetopology-api v0.27.0 -# k8s.io/endpointslice => k8s.io/endpointslice v0.28.10 +# k8s.io/endpointslice => k8s.io/endpointslice v0.28.11 diff --git a/cluster-autoscaler/version/version.go b/cluster-autoscaler/version/version.go index bd17081db751..6c026d67e510 100644 --- a/cluster-autoscaler/version/version.go +++ b/cluster-autoscaler/version/version.go @@ -17,4 +17,4 @@ limitations under the License. package version // ClusterAutoscalerVersion contains version of CA. -const ClusterAutoscalerVersion = "1.28.5" +const ClusterAutoscalerVersion = "1.28.6"