Skip to content

Commit 24ad2e0

Browse files
committed
⚠ Bump k8s.io/ to v1.30.0-alpha.2
Kubernetes 1.30 has a breaking API change around leader election metrics. Adapt to those API changes accordingly. Signed-off-by: Tom Wieczorek <[email protected]>
1 parent 5615941 commit 24ad2e0

File tree

5 files changed

+57
-50
lines changed

5 files changed

+57
-50
lines changed

examples/scratch-env/go.mod

+6-6
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ require (
5656
gopkg.in/inf.v0 v0.9.1 // indirect
5757
gopkg.in/yaml.v2 v2.4.0 // indirect
5858
gopkg.in/yaml.v3 v3.0.1 // indirect
59-
k8s.io/api v0.29.1 // indirect
60-
k8s.io/apiextensions-apiserver v0.29.1 // indirect
61-
k8s.io/apimachinery v0.29.1 // indirect
62-
k8s.io/client-go v0.29.1 // indirect
63-
k8s.io/component-base v0.29.1 // indirect
59+
k8s.io/api v0.30.0-alpha.2 // indirect
60+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2 // indirect
61+
k8s.io/apimachinery v0.30.0-alpha.2 // indirect
62+
k8s.io/client-go v0.30.0-alpha.2 // indirect
63+
k8s.io/component-base v0.30.0-alpha.2 // indirect
6464
k8s.io/klog/v2 v2.120.1 // indirect
65-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
65+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e // indirect
6666
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
6767
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
6868
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect

examples/scratch-env/go.sum

+12-12
Original file line numberDiff line numberDiff line change
@@ -172,20 +172,20 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
172172
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
173173
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
174174
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
175-
k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw=
176-
k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ=
177-
k8s.io/apiextensions-apiserver v0.29.1 h1:S9xOtyk9M3Sk1tIpQMu9wXHm5O2MX6Y1kIpPMimZBZw=
178-
k8s.io/apiextensions-apiserver v0.29.1/go.mod h1:zZECpujY5yTW58co8V2EQR4BD6A9pktVgHhvc0uLfeU=
179-
k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc=
180-
k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
181-
k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A=
182-
k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks=
183-
k8s.io/component-base v0.29.1 h1:MUimqJPCRnnHsskTTjKD+IC1EHBbRCVyi37IoFBrkYw=
184-
k8s.io/component-base v0.29.1/go.mod h1:fP9GFjxYrLERq1GcWWZAE3bqbNcDKDytn2srWuHTtKc=
175+
k8s.io/api v0.30.0-alpha.2 h1:Pk7rCBK4z2wzfHQGWFvpNYagfeQAlyy87MnkjngRDEI=
176+
k8s.io/api v0.30.0-alpha.2/go.mod h1:xyrt5SWiJP/5Lj6VkeIQd7e9rLQ/FRU5SaZE5D3YenM=
177+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2 h1:pxLDgQ/sxUsxtIdOmuGfw+JhdyLAxmuQJqSLKBPX0hM=
178+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2/go.mod h1:crz2hLevYTzaDZuqEbMAczcCV3rBTRvh9oqLkkL+Ipg=
179+
k8s.io/apimachinery v0.30.0-alpha.2 h1:614MJReChyjEH03Il2Z10u/LTNmvzEVvg7d7VpxJwHI=
180+
k8s.io/apimachinery v0.30.0-alpha.2/go.mod h1:akBo0Z+IFaOazGhD1RG6NG75rWj9oAhmz7UHqmfygmw=
181+
k8s.io/client-go v0.30.0-alpha.2 h1:tHzSny3eX0Qg1YWC+CE77+wnuWm3NHtAoVD6iQz56Zs=
182+
k8s.io/client-go v0.30.0-alpha.2/go.mod h1:ggOVaLmJOEjl9vmdoAnxL+pBfrLP4+h6dP4L9QNTpcU=
183+
k8s.io/component-base v0.30.0-alpha.2 h1:hdBSlB+OcBRTntNYio4YTKJRxb0rA59q42qf3qXDWIE=
184+
k8s.io/component-base v0.30.0-alpha.2/go.mod h1:YYb+ohTXvPYL290zXMWrQwd1A+xIqbSuAMrcQJ7h5uw=
185185
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
186186
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
187-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
188-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
187+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e h1:snPmy96t93RredGRjKfMFt+gvxuVAncqSAyBveJtr4Q=
188+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
189189
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
190190
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
191191
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=

go.mod

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ require (
2121
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e
2222
golang.org/x/sys v0.17.0
2323
gomodules.xyz/jsonpatch/v2 v2.4.0
24-
k8s.io/api v0.29.1
25-
k8s.io/apiextensions-apiserver v0.29.1
26-
k8s.io/apimachinery v0.29.1
27-
k8s.io/apiserver v0.29.1
28-
k8s.io/client-go v0.29.1
29-
k8s.io/component-base v0.29.1
24+
k8s.io/api v0.30.0-alpha.2
25+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2
26+
k8s.io/apimachinery v0.30.0-alpha.2
27+
k8s.io/apiserver v0.30.0-alpha.2
28+
k8s.io/client-go v0.30.0-alpha.2
29+
k8s.io/component-base v0.30.0-alpha.2
3030
k8s.io/klog/v2 v2.120.1
3131
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
3232
sigs.k8s.io/yaml v1.4.0
@@ -91,8 +91,8 @@ require (
9191
gopkg.in/inf.v0 v0.9.1 // indirect
9292
gopkg.in/yaml.v2 v2.4.0 // indirect
9393
gopkg.in/yaml.v3 v3.0.1 // indirect
94-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
95-
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
94+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e // indirect
95+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 // indirect
9696
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
9797
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
9898
)

go.sum

+16-16
Original file line numberDiff line numberDiff line change
@@ -225,26 +225,26 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
225225
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
226226
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
227227
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
228-
k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw=
229-
k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ=
230-
k8s.io/apiextensions-apiserver v0.29.1 h1:S9xOtyk9M3Sk1tIpQMu9wXHm5O2MX6Y1kIpPMimZBZw=
231-
k8s.io/apiextensions-apiserver v0.29.1/go.mod h1:zZECpujY5yTW58co8V2EQR4BD6A9pktVgHhvc0uLfeU=
232-
k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc=
233-
k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
234-
k8s.io/apiserver v0.29.1 h1:e2wwHUfEmMsa8+cuft8MT56+16EONIEK8A/gpBSco+g=
235-
k8s.io/apiserver v0.29.1/go.mod h1:V0EpkTRrJymyVT3M49we8uh2RvXf7fWC5XLB0P3SwRw=
236-
k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A=
237-
k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks=
238-
k8s.io/component-base v0.29.1 h1:MUimqJPCRnnHsskTTjKD+IC1EHBbRCVyi37IoFBrkYw=
239-
k8s.io/component-base v0.29.1/go.mod h1:fP9GFjxYrLERq1GcWWZAE3bqbNcDKDytn2srWuHTtKc=
228+
k8s.io/api v0.30.0-alpha.2 h1:Pk7rCBK4z2wzfHQGWFvpNYagfeQAlyy87MnkjngRDEI=
229+
k8s.io/api v0.30.0-alpha.2/go.mod h1:xyrt5SWiJP/5Lj6VkeIQd7e9rLQ/FRU5SaZE5D3YenM=
230+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2 h1:pxLDgQ/sxUsxtIdOmuGfw+JhdyLAxmuQJqSLKBPX0hM=
231+
k8s.io/apiextensions-apiserver v0.30.0-alpha.2/go.mod h1:crz2hLevYTzaDZuqEbMAczcCV3rBTRvh9oqLkkL+Ipg=
232+
k8s.io/apimachinery v0.30.0-alpha.2 h1:614MJReChyjEH03Il2Z10u/LTNmvzEVvg7d7VpxJwHI=
233+
k8s.io/apimachinery v0.30.0-alpha.2/go.mod h1:akBo0Z+IFaOazGhD1RG6NG75rWj9oAhmz7UHqmfygmw=
234+
k8s.io/apiserver v0.30.0-alpha.2 h1:dOoEijSMgTfpy+rm3W/p7h1KuSLgT20kM6v3NDMGxx8=
235+
k8s.io/apiserver v0.30.0-alpha.2/go.mod h1:KcPItgbscof3zv7LuE8XhJCuxF6wCcU1ZfeAjzKvI0E=
236+
k8s.io/client-go v0.30.0-alpha.2 h1:tHzSny3eX0Qg1YWC+CE77+wnuWm3NHtAoVD6iQz56Zs=
237+
k8s.io/client-go v0.30.0-alpha.2/go.mod h1:ggOVaLmJOEjl9vmdoAnxL+pBfrLP4+h6dP4L9QNTpcU=
238+
k8s.io/component-base v0.30.0-alpha.2 h1:hdBSlB+OcBRTntNYio4YTKJRxb0rA59q42qf3qXDWIE=
239+
k8s.io/component-base v0.30.0-alpha.2/go.mod h1:YYb+ohTXvPYL290zXMWrQwd1A+xIqbSuAMrcQJ7h5uw=
240240
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
241241
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
242-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
243-
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
242+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e h1:snPmy96t93RredGRjKfMFt+gvxuVAncqSAyBveJtr4Q=
243+
k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
244244
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
245245
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
246-
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2SGwkQasmbeqDo8th5wOBA5h/AjTKA4I=
247-
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
246+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 h1:/U5vjBbQn3RChhv7P11uhYvCSm5G2GaIi5AIGBS6r4c=
247+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4=
248248
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
249249
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
250250
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=

pkg/metrics/leaderelection.go

+15-8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ var (
1414
Name: "leader_election_master_status",
1515
Help: "Gauge of if the reporting system is master of the relevant lease, 0 indicates backup, 1 indicates master. 'name' is the string used to identify the lease. Please make sure to group by name.",
1616
}, []string{"name"})
17+
18+
leaderSlowpathCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
19+
Name: "leader_election_slowpath_total",
20+
Help: "Total number of slow path exercised in renewing leader leases. 'name' is the string used to identify the lease. Please make sure to group by name.",
21+
}, []string{"name"})
1722
)
1823

1924
func init() {
@@ -23,18 +28,20 @@ func init() {
2328

2429
type leaderelectionMetricsProvider struct{}
2530

26-
func (leaderelectionMetricsProvider) NewLeaderMetric() leaderelection.SwitchMetric {
27-
return &switchAdapter{gauge: leaderGauge}
31+
func (leaderelectionMetricsProvider) NewLeaderMetric() leaderelection.LeaderMetric {
32+
return leaderElectionPrometheusAdapter{}
2833
}
2934

30-
type switchAdapter struct {
31-
gauge *prometheus.GaugeVec
35+
type leaderElectionPrometheusAdapter struct{}
36+
37+
func (s leaderElectionPrometheusAdapter) On(name string) {
38+
leaderGauge.WithLabelValues(name).Set(1.0)
3239
}
3340

34-
func (s *switchAdapter) On(name string) {
35-
s.gauge.WithLabelValues(name).Set(1.0)
41+
func (s leaderElectionPrometheusAdapter) Off(name string) {
42+
leaderGauge.WithLabelValues(name).Set(0.0)
3643
}
3744

38-
func (s *switchAdapter) Off(name string) {
39-
s.gauge.WithLabelValues(name).Set(0.0)
45+
func (leaderElectionPrometheusAdapter) SlowpathExercised(name string) {
46+
leaderSlowpathCounter.WithLabelValues(name).Inc()
4047
}

0 commit comments

Comments
 (0)