Skip to content

Commit a5f4501

Browse files
committed
Update provisioner lib to v10
Update the metrics registration to v10 - there are no global metrics now, give them to the provisioner by `provisionerOptions`.
1 parent 3b5a778 commit a5f4501

File tree

17 files changed

+219
-206
lines changed

17 files changed

+219
-206
lines changed

cmd/csi-provisioner/csi-provisioner.go

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ import (
5353
_ "k8s.io/component-base/metrics/prometheus/workqueue" // register work queues in the default legacy registry
5454
csitrans "k8s.io/csi-translation-lib"
5555
klog "k8s.io/klog/v2"
56-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller"
57-
libmetrics "sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller/metrics"
56+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller"
57+
libmetrics "sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/metrics"
5858

5959
"github.com/kubernetes-csi/csi-lib-utils/leaderelection"
6060
"github.com/kubernetes-csi/csi-lib-utils/metrics"
@@ -553,34 +553,20 @@ func main() {
553553
csiProvisioner = capacity.NewProvisionWrapper(csiProvisioner, capacityController)
554554
}
555555

556-
provisionController = controller.NewProvisionController(
557-
clientset,
558-
provisionerName,
559-
csiProvisioner,
560-
provisionerOptions...,
561-
)
562-
563-
csiClaimController := ctrl.NewCloningProtectionController(
564-
clientset,
565-
claimLister,
566-
claimInformer,
567-
claimQueue,
568-
controllerCapabilities,
569-
)
570-
571-
// Start HTTP server, regardless whether we are the leader or not.
572556
if addr != "" {
573-
// To collect metrics data from the metric handler itself, we
574-
// let it register itself and then collect from that registry.
557+
// Start HTTP server, regardless whether we are the leader or not.
558+
// Register provisioner metrics manually to be able to add multiplexer in front of it
559+
m := libmetrics.New("controller")
575560
reg := prometheus.NewRegistry()
576561
reg.MustRegister([]prometheus.Collector{
577-
libmetrics.PersistentVolumeClaimProvisionTotal,
578-
libmetrics.PersistentVolumeClaimProvisionFailedTotal,
579-
libmetrics.PersistentVolumeClaimProvisionDurationSeconds,
580-
libmetrics.PersistentVolumeDeleteTotal,
581-
libmetrics.PersistentVolumeDeleteFailedTotal,
582-
libmetrics.PersistentVolumeDeleteDurationSeconds,
562+
m.PersistentVolumeClaimProvisionTotal,
563+
m.PersistentVolumeClaimProvisionFailedTotal,
564+
m.PersistentVolumeClaimProvisionDurationSeconds,
565+
m.PersistentVolumeDeleteTotal,
566+
m.PersistentVolumeDeleteFailedTotal,
567+
m.PersistentVolumeDeleteDurationSeconds,
583568
}...)
569+
provisionerOptions = append(provisionerOptions, controller.MetricsInstance(m))
584570
gatherers = append(gatherers, reg)
585571

586572
// This is similar to k8s.io/component-base/metrics HandlerWithReset
@@ -611,6 +597,23 @@ func main() {
611597
}()
612598
}
613599

600+
logger := klog.FromContext(ctx)
601+
provisionController = controller.NewProvisionController(
602+
logger,
603+
clientset,
604+
provisionerName,
605+
csiProvisioner,
606+
provisionerOptions...,
607+
)
608+
609+
csiClaimController := ctrl.NewCloningProtectionController(
610+
clientset,
611+
claimLister,
612+
claimInformer,
613+
claimQueue,
614+
controllerCapabilities,
615+
)
616+
614617
run := func(ctx context.Context) {
615618
factory.Start(ctx.Done())
616619
if factoryForNamespace != nil {

go.mod

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module github.com/kubernetes-csi/external-provisioner
22

3-
go 1.22.0
4-
5-
toolchain go1.22.3
3+
go 1.22.3
64

75
require (
86
github.com/container-storage-interface/spec v1.9.0
@@ -29,7 +27,7 @@ require (
2927
k8s.io/klog/v2 v2.120.1
3028
sigs.k8s.io/controller-runtime v0.17.3
3129
sigs.k8s.io/gateway-api v1.0.0
32-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9 v9.1.0-rc.0
30+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0
3331
)
3432

3533
require (

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ sigs.k8s.io/gateway-api v1.0.0 h1:iPTStSv41+d9p0xFydll6d7f7MOBGuqXM6p2/zVYMAs=
346346
sigs.k8s.io/gateway-api v1.0.0/go.mod h1:4cUgr0Lnp5FZ0Cdq8FdRwCvpiWws7LVhLHGIudLlf4c=
347347
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
348348
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
349-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9 v9.1.0-rc.0 h1:0aLQSafwBXlXTPiA9wJK5wEDsgYUh5uJlKHpBw9dwCk=
350-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9 v9.1.0-rc.0/go.mod h1:MMl64GlAImSAd7mOvJZ8SOkKORuvV/lsjhtgLPDlGjQ=
349+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0 h1:+OhFU21hL9Gq/sHKHfYxbc7M6RWV3UqTpnk5/wF9cP4=
350+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0/go.mod h1:mfQ2enu5yAHUhpNWsce9NmkqkRQsk70zQT+7KjZ+JMo=
351351
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
352352
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
353353
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=

pkg/capacity/provision.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"context"
2121

2222
v1 "k8s.io/api/core/v1"
23-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller"
23+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller"
2424
)
2525

2626
type provisionWrapper struct {

pkg/controller/clone_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
"k8s.io/client-go/tools/cache"
1919
"k8s.io/client-go/util/workqueue"
2020
"k8s.io/klog/v2"
21-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller"
21+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller"
2222
)
2323

2424
//

pkg/controller/controller.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ import (
5151
"k8s.io/client-go/tools/record"
5252
"k8s.io/client-go/util/workqueue"
5353
klog "k8s.io/klog/v2"
54-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller"
55-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/util"
54+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller"
55+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/util"
5656

5757
"github.com/kubernetes-csi/csi-lib-utils/connection"
5858
"github.com/kubernetes-csi/csi-lib-utils/metrics"

pkg/controller/controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import (
4747
utilfeaturetesting "k8s.io/component-base/featuregate/testing"
4848
csitrans "k8s.io/csi-translation-lib"
4949
klog "k8s.io/klog/v2"
50-
"sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller"
50+
"sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller"
5151

5252
"github.com/kubernetes-csi/csi-lib-utils/connection"
5353
"github.com/kubernetes-csi/csi-lib-utils/metrics"

vendor/modules.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,11 +1485,11 @@ sigs.k8s.io/gateway-api/pkg/client/listers/apis/v1beta1
14851485
## explicit; go 1.18
14861486
sigs.k8s.io/json
14871487
sigs.k8s.io/json/internal/golang/encoding/json
1488-
# sigs.k8s.io/sig-storage-lib-external-provisioner/v9 v9.1.0-rc.0
1489-
## explicit; go 1.19
1490-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller
1491-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9/controller/metrics
1492-
sigs.k8s.io/sig-storage-lib-external-provisioner/v9/util
1488+
# sigs.k8s.io/sig-storage-lib-external-provisioner/v10 v10.0.0
1489+
## explicit; go 1.22.0
1490+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller
1491+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10/controller/metrics
1492+
sigs.k8s.io/sig-storage-lib-external-provisioner/v10/util
14931493
# sigs.k8s.io/structured-merge-diff/v4 v4.4.1
14941494
## explicit; go 1.13
14951495
sigs.k8s.io/structured-merge-diff/v4/fieldpath

0 commit comments

Comments
 (0)