Skip to content

Commit 7e451ad

Browse files
authored
Merge pull request #1379 from nixpanic/automaxprocs
Add `-automaxprocs` flag for configuring `GOMAXPROCS`
2 parents 594a63f + e95d88e commit 7e451ad

File tree

7 files changed

+144
-24
lines changed

7 files changed

+144
-24
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ See the [storage capacity section](#capacity-support) below for details.
130130

131131
* `--prevent-volume-mode-conversion`: Prevents an unauthorized user from modifying the volume mode when creating a PVC from an existing VolumeSnapshot. Defaults to true.
132132

133+
* `--automaxprocs`: Automatically set the `GOMAXPROCS` environment variable to match the configured Linux container CPU quota. Defaults to false.
134+
133135
* All glog / klog arguments are supported, such as `-v <log level>` or `-alsologtostderr`.
134136

135137
### Design

cmd/csi-provisioner/csi-provisioner.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ import (
6363

6464
"github.com/kubernetes-csi/csi-lib-utils/leaderelection"
6565
"github.com/kubernetes-csi/csi-lib-utils/metrics"
66+
"github.com/kubernetes-csi/csi-lib-utils/standardflags"
6667
"github.com/kubernetes-csi/external-provisioner/v5/pkg/capacity"
6768
"github.com/kubernetes-csi/external-provisioner/v5/pkg/capacity/topology"
6869
ctrl "github.com/kubernetes-csi/external-provisioner/v5/pkg/controller"
@@ -142,6 +143,7 @@ func main() {
142143
logsapi.AddFlags(c, flag.CommandLine)
143144
logs.InitLogs()
144145
flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
146+
standardflags.AddAutomaxprocs(klog.Infof)
145147
flag.Parse()
146148
if err := logsapi.ValidateAndApply(c, fg); err != nil {
147149
klog.ErrorS(err, "LoggingConfiguration is invalid")

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/container-storage-interface/spec v1.11.0
99
github.com/golang/mock v1.6.0
1010
github.com/google/uuid v1.6.0 // indirect
11-
github.com/kubernetes-csi/csi-lib-utils v0.21.0
11+
github.com/kubernetes-csi/csi-lib-utils v0.22.0
1212
github.com/kubernetes-csi/csi-test/v5 v5.3.1
1313
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0
1414
github.com/miekg/dns v1.1.66 // indirect
@@ -17,11 +17,11 @@ require (
1717
github.com/stretchr/testify v1.10.0
1818
google.golang.org/grpc v1.72.1
1919
google.golang.org/protobuf v1.36.6
20-
k8s.io/api v0.33.0
21-
k8s.io/apimachinery v0.33.0
20+
k8s.io/api v0.33.1
21+
k8s.io/apimachinery v0.33.1
2222
k8s.io/apiserver v0.33.0
23-
k8s.io/client-go v0.33.0
24-
k8s.io/component-base v0.33.0
23+
k8s.io/client-go v0.33.1
24+
k8s.io/component-base v0.33.1
2525
k8s.io/component-helpers v0.33.0
2626
k8s.io/csi-translation-lib v0.33.0
2727
k8s.io/klog/v2 v2.130.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
117117
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
118118
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
119119
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
120-
github.com/kubernetes-csi/csi-lib-utils v0.21.0 h1:dUN/iIgXLucAxyML2iPyhniIlACQumIeAJmIzsMBddc=
121-
github.com/kubernetes-csi/csi-lib-utils v0.21.0/go.mod h1:ZCVRTYuup+bwX9tOeE5Q3LDw64QvltSwMUQ3M3g2T+Q=
120+
github.com/kubernetes-csi/csi-lib-utils v0.22.0 h1:EUAs1+uHGps3OtVj4XVx16urhpI02eu+Z8Vps6plpHY=
121+
github.com/kubernetes-csi/csi-lib-utils v0.22.0/go.mod h1:f+PalKyS4Ujsjb9+m6Rj0W6c28y3nfea3paQ/VqjI28=
122122
github.com/kubernetes-csi/csi-test/v5 v5.3.1 h1:Wiukp1In+kif+BFo6q2ExjgB+MbrAz4jZWzGfijypuY=
123123
github.com/kubernetes-csi/csi-test/v5 v5.3.1/go.mod h1:7hA2cSYJ6T8CraEZPA6zqkLZwemjBD54XAnPsPC3VpA=
124124
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.2.0 h1:Q3jQ1NkFqv5o+F8dMmHd8SfEmlcwNeo1immFApntEwE=

vendor/github.com/kubernetes-csi/csi-lib-utils/leaderelection/leader_election.go

Lines changed: 21 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/kubernetes-csi/csi-lib-utils/standardflags/automaxprocs.go

Lines changed: 105 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,14 +231,15 @@ github.com/json-iterator/go
231231
# github.com/karrick/godirwalk v1.17.0
232232
## explicit; go 1.13
233233
github.com/karrick/godirwalk
234-
# github.com/kubernetes-csi/csi-lib-utils v0.21.0
235-
## explicit; go 1.23.1
234+
# github.com/kubernetes-csi/csi-lib-utils v0.22.0
235+
## explicit; go 1.24.0
236236
github.com/kubernetes-csi/csi-lib-utils/accessmodes
237237
github.com/kubernetes-csi/csi-lib-utils/connection
238238
github.com/kubernetes-csi/csi-lib-utils/leaderelection
239239
github.com/kubernetes-csi/csi-lib-utils/metrics
240240
github.com/kubernetes-csi/csi-lib-utils/protosanitizer
241241
github.com/kubernetes-csi/csi-lib-utils/rpc
242+
github.com/kubernetes-csi/csi-lib-utils/standardflags
242243
# github.com/kubernetes-csi/csi-test/v5 v5.3.1
243244
## explicit; go 1.18
244245
github.com/kubernetes-csi/csi-test/v5/driver
@@ -726,7 +727,7 @@ gopkg.in/inf.v0
726727
# gopkg.in/yaml.v3 v3.0.1
727728
## explicit
728729
gopkg.in/yaml.v3
729-
# k8s.io/api v0.33.0 => k8s.io/api v0.33.0
730+
# k8s.io/api v0.33.1 => k8s.io/api v0.33.0
730731
## explicit; go 1.24.0
731732
k8s.io/api/admission/v1
732733
k8s.io/api/admission/v1beta1
@@ -793,7 +794,7 @@ k8s.io/api/storagemigration/v1alpha1
793794
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
794795
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
795796
k8s.io/apiextensions-apiserver/pkg/features
796-
# k8s.io/apimachinery v0.33.0 => k8s.io/apimachinery v0.33.0
797+
# k8s.io/apimachinery v0.33.1 => k8s.io/apimachinery v0.33.0
797798
## explicit; go 1.24.0
798799
k8s.io/apimachinery/pkg/api/equality
799800
k8s.io/apimachinery/pkg/api/errors
@@ -922,7 +923,7 @@ k8s.io/apiserver/pkg/util/feature
922923
k8s.io/apiserver/pkg/util/webhook
923924
k8s.io/apiserver/pkg/util/x509metrics
924925
k8s.io/apiserver/pkg/warning
925-
# k8s.io/client-go v0.33.0 => k8s.io/client-go v0.33.0
926+
# k8s.io/client-go v0.33.1 => k8s.io/client-go v0.33.0
926927
## explicit; go 1.24.0
927928
k8s.io/client-go/applyconfigurations
928929
k8s.io/client-go/applyconfigurations/admissionregistration/v1
@@ -1281,7 +1282,7 @@ k8s.io/client-go/util/workqueue
12811282
## explicit; go 1.24.0
12821283
k8s.io/cloud-provider/volume
12831284
k8s.io/cloud-provider/volume/helpers
1284-
# k8s.io/component-base v0.33.0 => k8s.io/component-base v0.33.0
1285+
# k8s.io/component-base v0.33.1 => k8s.io/component-base v0.33.0
12851286
## explicit; go 1.24.0
12861287
k8s.io/component-base/cli/flag
12871288
k8s.io/component-base/compatibility

0 commit comments

Comments
 (0)