Skip to content

Commit 119f114

Browse files
authored
Merge pull request kubernetes#128196 from richabanker/move-version
Move k8s.io/apiserver/pkg/util/version to component-base
2 parents cdf077d + 9274a58 commit 119f114

File tree

40 files changed

+340
-357
lines changed

40 files changed

+340
-357
lines changed

cmd/kube-apiserver/app/options/options_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ import (
3232
apiserveroptions "k8s.io/apiserver/pkg/server/options"
3333
"k8s.io/apiserver/pkg/storage/etcd3"
3434
"k8s.io/apiserver/pkg/storage/storagebackend"
35-
utilversion "k8s.io/apiserver/pkg/util/version"
3635
auditbuffered "k8s.io/apiserver/plugin/pkg/audit/buffered"
3736
audittruncate "k8s.io/apiserver/plugin/pkg/audit/truncate"
3837
cliflag "k8s.io/component-base/cli/flag"
3938
"k8s.io/component-base/featuregate"
4039
"k8s.io/component-base/logs"
4140
"k8s.io/component-base/metrics"
41+
utilversion "k8s.io/component-base/version"
4242
kapi "k8s.io/kubernetes/pkg/apis/core"
4343
controlplaneapiserver "k8s.io/kubernetes/pkg/controlplane/apiserver/options"
4444
"k8s.io/kubernetes/pkg/controlplane/reconcilers"
@@ -48,7 +48,7 @@ import (
4848
)
4949

5050
func TestAddFlags(t *testing.T) {
51-
componentGlobalsRegistry := utilversion.DefaultComponentGlobalsRegistry
51+
componentGlobalsRegistry := featuregate.DefaultComponentGlobalsRegistry
5252
t.Cleanup(func() {
5353
componentGlobalsRegistry.Reset()
5454
})
@@ -149,7 +149,7 @@ func TestAddFlags(t *testing.T) {
149149
JSONPatchMaxCopyBytes: int64(3 * 1024 * 1024),
150150
MaxRequestBodyBytes: int64(3 * 1024 * 1024),
151151
ComponentGlobalsRegistry: componentGlobalsRegistry,
152-
ComponentName: utilversion.DefaultKubeComponent,
152+
ComponentName: featuregate.DefaultKubeComponent,
153153
},
154154
Admission: &kubeoptions.AdmissionOptions{
155155
GenericAdmission: &apiserveroptions.AdmissionOptions{

cmd/kube-apiserver/app/options/validation.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424

2525
genericoptions "k8s.io/apiserver/pkg/server/options"
2626
utilfeature "k8s.io/apiserver/pkg/util/feature"
27-
utilversion "k8s.io/apiserver/pkg/util/version"
27+
utilversion "k8s.io/component-base/version"
2828
netutils "k8s.io/utils/net"
2929

3030
controlplaneapiserver "k8s.io/kubernetes/pkg/controlplane/apiserver/options"

cmd/kube-apiserver/app/server.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,17 @@ import (
3636
serverstorage "k8s.io/apiserver/pkg/server/storage"
3737
utilfeature "k8s.io/apiserver/pkg/util/feature"
3838
"k8s.io/apiserver/pkg/util/notfoundhandler"
39-
utilversion "k8s.io/apiserver/pkg/util/version"
4039
"k8s.io/apiserver/pkg/util/webhook"
4140
clientgoinformers "k8s.io/client-go/informers"
4241
"k8s.io/client-go/rest"
4342
cliflag "k8s.io/component-base/cli/flag"
4443
"k8s.io/component-base/cli/globalflag"
44+
"k8s.io/component-base/featuregate"
4545
"k8s.io/component-base/logs"
4646
logsapi "k8s.io/component-base/logs/api/v1"
4747
_ "k8s.io/component-base/metrics/prometheus/workqueue"
4848
"k8s.io/component-base/term"
49-
"k8s.io/component-base/version"
49+
utilversion "k8s.io/component-base/version"
5050
"k8s.io/component-base/version/verflag"
5151
"k8s.io/klog/v2"
5252
aggregatorapiserver "k8s.io/kube-aggregator/pkg/apiserver"
@@ -64,8 +64,8 @@ func init() {
6464

6565
// NewAPIServerCommand creates a *cobra.Command object with default parameters
6666
func NewAPIServerCommand() *cobra.Command {
67-
_, featureGate := utilversion.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(
68-
utilversion.DefaultKubeComponent, utilversion.DefaultBuildEffectiveVersion(), utilfeature.DefaultMutableFeatureGate)
67+
_, featureGate := featuregate.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(
68+
featuregate.DefaultKubeComponent, utilversion.DefaultBuildEffectiveVersion(), utilfeature.DefaultMutableFeatureGate)
6969
s := options.NewServerRunOptions()
7070

7171
cmd := &cobra.Command{
@@ -78,7 +78,7 @@ cluster's shared state through which all other components interact.`,
7878
// stop printing usage when the command errors
7979
SilenceUsage: true,
8080
PersistentPreRunE: func(*cobra.Command, []string) error {
81-
if err := utilversion.DefaultComponentGlobalsRegistry.Set(); err != nil {
81+
if err := featuregate.DefaultComponentGlobalsRegistry.Set(); err != nil {
8282
return err
8383
}
8484
// silence client-go warnings.
@@ -139,7 +139,7 @@ cluster's shared state through which all other components interact.`,
139139
// Run runs the specified APIServer. This should never exit.
140140
func Run(ctx context.Context, opts options.CompletedOptions) error {
141141
// To help debugging, immediately log version
142-
klog.Infof("Version: %+v", version.Get())
142+
klog.Infof("Version: %+v", utilversion.Get())
143143

144144
klog.InfoS("Golang settings", "GOGC", os.Getenv("GOGC"), "GOMAXPROCS", os.Getenv("GOMAXPROCS"), "GOTRACEBACK", os.Getenv("GOTRACEBACK"))
145145

cmd/kube-apiserver/app/testing/testserver.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,15 @@ import (
5050
"k8s.io/apiserver/pkg/storage/storagebackend"
5151
"k8s.io/apiserver/pkg/storageversion"
5252
utilfeature "k8s.io/apiserver/pkg/util/feature"
53-
utilversion "k8s.io/apiserver/pkg/util/version"
5453
"k8s.io/client-go/kubernetes"
5554
restclient "k8s.io/client-go/rest"
5655
clientgotransport "k8s.io/client-go/transport"
5756
"k8s.io/client-go/util/cert"
5857
"k8s.io/client-go/util/keyutil"
58+
"k8s.io/component-base/featuregate"
5959
featuregatetesting "k8s.io/component-base/featuregate/testing"
6060
logsapi "k8s.io/component-base/logs/api/v1"
61+
utilversion "k8s.io/component-base/version"
6162
"k8s.io/klog/v2"
6263
"k8s.io/kube-aggregator/pkg/apiserver"
6364
"k8s.io/kubernetes/pkg/features"
@@ -204,8 +205,8 @@ func StartTestServer(t ktesting.TB, instanceOptions *TestServerInstanceOptions,
204205
}
205206
// need to call SetFeatureGateEmulationVersionDuringTest to reset the feature gate emulation version at the end of the test.
206207
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, featureGate, effectiveVersion.EmulationVersion())
207-
utilversion.DefaultComponentGlobalsRegistry.Reset()
208-
utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate))
208+
featuregate.DefaultComponentGlobalsRegistry.Reset()
209+
utilruntime.Must(featuregate.DefaultComponentGlobalsRegistry.Register(featuregate.DefaultKubeComponent, effectiveVersion, featureGate))
209210

210211
s := options.NewServerRunOptions()
211212
if instanceOptions.RequestTimeout > 0 {
@@ -373,7 +374,7 @@ func StartTestServer(t ktesting.TB, instanceOptions *TestServerInstanceOptions,
373374
s.Authentication.RequestHeader.ExtraHeaderPrefixes = extraHeaders
374375
}
375376

376-
if err := utilversion.DefaultComponentGlobalsRegistry.Set(); err != nil {
377+
if err := featuregate.DefaultComponentGlobalsRegistry.Set(); err != nil {
377378
return result, err
378379
}
379380

cmd/kube-controller-manager/app/controllermanager.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import (
4141
"k8s.io/apiserver/pkg/server/healthz"
4242
"k8s.io/apiserver/pkg/server/mux"
4343
utilfeature "k8s.io/apiserver/pkg/util/feature"
44-
utilversion "k8s.io/apiserver/pkg/util/version"
4544
cacheddiscovery "k8s.io/client-go/discovery/cached/memory"
4645
"k8s.io/client-go/informers"
4746
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
@@ -63,7 +62,7 @@ import (
6362
controllersmetrics "k8s.io/component-base/metrics/prometheus/controllers"
6463
"k8s.io/component-base/metrics/prometheus/slis"
6564
"k8s.io/component-base/term"
66-
"k8s.io/component-base/version"
65+
utilversion "k8s.io/component-base/version"
6766
"k8s.io/component-base/version/verflag"
6867
genericcontrollermanager "k8s.io/controller-manager/app"
6968
"k8s.io/controller-manager/controller"
@@ -96,8 +95,8 @@ const (
9695

9796
// NewControllerManagerCommand creates a *cobra.Command object with default parameters
9897
func NewControllerManagerCommand() *cobra.Command {
99-
_, _ = utilversion.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(
100-
utilversion.DefaultKubeComponent, utilversion.DefaultBuildEffectiveVersion(), utilfeature.DefaultMutableFeatureGate)
98+
_, _ = featuregate.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(
99+
featuregate.DefaultKubeComponent, utilversion.DefaultBuildEffectiveVersion(), utilfeature.DefaultMutableFeatureGate)
101100

102101
s, err := options.NewKubeControllerManagerOptions()
103102
if err != nil {
@@ -139,7 +138,7 @@ controller, and serviceaccounts controller.`,
139138
}
140139

141140
// add feature enablement metrics
142-
fg := s.ComponentGlobalsRegistry.FeatureGateFor(utilversion.DefaultKubeComponent)
141+
fg := s.ComponentGlobalsRegistry.FeatureGateFor(featuregate.DefaultKubeComponent)
143142
fg.(featuregate.MutableFeatureGate).AddMetrics()
144143
return Run(context.Background(), c.Complete())
145144
},
@@ -183,7 +182,7 @@ func Run(ctx context.Context, c *config.CompletedConfig) error {
183182
stopCh := ctx.Done()
184183

185184
// To help debugging, immediately log version
186-
logger.Info("Starting", "version", version.Get())
185+
logger.Info("Starting", "version", utilversion.Get())
187186

188187
logger.Info("Golang settings", "GOGC", os.Getenv("GOGC"), "GOMAXPROCS", os.Getenv("GOMAXPROCS"), "GOTRACEBACK", os.Getenv("GOTRACEBACK"))
189188

@@ -282,11 +281,11 @@ func Run(ctx context.Context, c *config.CompletedConfig) error {
282281
}
283282

284283
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CoordinatedLeaderElection) {
285-
binaryVersion, err := semver.ParseTolerant(utilversion.DefaultComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent).BinaryVersion().String())
284+
binaryVersion, err := semver.ParseTolerant(featuregate.DefaultComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent).BinaryVersion().String())
286285
if err != nil {
287286
return err
288287
}
289-
emulationVersion, err := semver.ParseTolerant(utilversion.DefaultComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent).EmulationVersion().String())
288+
emulationVersion, err := semver.ParseTolerant(featuregate.DefaultComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent).EmulationVersion().String())
290289
if err != nil {
291290
return err
292291
}

cmd/kube-controller-manager/app/options/options.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
2727
apiserveroptions "k8s.io/apiserver/pkg/server/options"
2828
utilfeature "k8s.io/apiserver/pkg/util/feature"
29-
utilversion "k8s.io/apiserver/pkg/util/version"
3029
clientgofeaturegate "k8s.io/client-go/features"
3130
clientset "k8s.io/client-go/kubernetes"
3231
clientgokubescheme "k8s.io/client-go/kubernetes/scheme"
@@ -41,6 +40,7 @@ import (
4140
"k8s.io/component-base/logs"
4241
logsapi "k8s.io/component-base/logs/api/v1"
4342
"k8s.io/component-base/metrics"
43+
utilversion "k8s.io/component-base/version"
4444
cmoptions "k8s.io/controller-manager/options"
4545
"k8s.io/klog/v2"
4646
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
@@ -106,7 +106,7 @@ type KubeControllerManagerOptions struct {
106106
ShowHiddenMetricsForVersion string
107107

108108
// ComponentGlobalsRegistry is the registry where the effective versions and feature gates for all components are stored.
109-
ComponentGlobalsRegistry utilversion.ComponentGlobalsRegistry
109+
ComponentGlobalsRegistry featuregate.ComponentGlobalsRegistry
110110
}
111111

112112
// NewKubeControllerManagerOptions creates a new KubeControllerManagerOptions with a default config.
@@ -116,10 +116,10 @@ func NewKubeControllerManagerOptions() (*KubeControllerManagerOptions, error) {
116116
return nil, err
117117
}
118118

119-
if utilversion.DefaultComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent) == nil {
119+
if featuregate.DefaultComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent) == nil {
120120
featureGate := utilfeature.DefaultMutableFeatureGate
121121
effectiveVersion := utilversion.DefaultKubeEffectiveVersion()
122-
utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate))
122+
utilruntime.Must(featuregate.DefaultComponentGlobalsRegistry.Register(featuregate.DefaultKubeComponent, effectiveVersion, featureGate))
123123
}
124124

125125
s := KubeControllerManagerOptions{
@@ -211,7 +211,7 @@ func NewKubeControllerManagerOptions() (*KubeControllerManagerOptions, error) {
211211
Authorization: apiserveroptions.NewDelegatingAuthorizationOptions(),
212212
Metrics: metrics.NewOptions(),
213213
Logs: logs.NewOptions(),
214-
ComponentGlobalsRegistry: utilversion.DefaultComponentGlobalsRegistry,
214+
ComponentGlobalsRegistry: featuregate.DefaultComponentGlobalsRegistry,
215215
}
216216

217217
s.Authentication.RemoteKubeConfigFileOptional = true
@@ -452,7 +452,7 @@ func (s *KubeControllerManagerOptions) Validate(allControllers []string, disable
452452
errs = append(errs, s.Authentication.Validate()...)
453453
errs = append(errs, s.Authorization.Validate()...)
454454
errs = append(errs, s.Metrics.Validate()...)
455-
errs = append(errs, utilversion.ValidateKubeEffectiveVersion(s.ComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent)))
455+
errs = append(errs, utilversion.ValidateKubeEffectiveVersion(s.ComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent)))
456456

457457
// in-tree cloud providers are disabled since v1.31 (KEP-2395)
458458
if len(s.KubeCloudShared.CloudProvider.Name) > 0 && !cloudprovider.IsExternal(s.KubeCloudShared.CloudProvider.Name) {

cmd/kube-controller-manager/app/options/options_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434

3535
"k8s.io/apiserver/pkg/apis/apiserver"
3636
apiserveroptions "k8s.io/apiserver/pkg/server/options"
37-
utilversion "k8s.io/apiserver/pkg/util/version"
37+
utilversion "k8s.io/component-base/version"
3838

3939
componentbaseconfig "k8s.io/component-base/config"
4040
"k8s.io/component-base/featuregate"
@@ -449,7 +449,7 @@ func TestAddFlags(t *testing.T) {
449449
Master: "192.168.4.20",
450450
Metrics: &metrics.Options{},
451451
Logs: logs.NewOptions(),
452-
ComponentGlobalsRegistry: utilversion.DefaultComponentGlobalsRegistry,
452+
ComponentGlobalsRegistry: featuregate.DefaultComponentGlobalsRegistry,
453453
}
454454

455455
// Sort GCIgnoredResources because it's built from a map, which means the
@@ -729,7 +729,7 @@ func TestApplyTo(t *testing.T) {
729729

730730
func TestEmulatedVersion(t *testing.T) {
731731
var cleanupAndSetupFunc = func() featuregate.FeatureGate {
732-
componentGlobalsRegistry := utilversion.DefaultComponentGlobalsRegistry
732+
componentGlobalsRegistry := featuregate.DefaultComponentGlobalsRegistry
733733
componentGlobalsRegistry.Reset() // make sure this test have a clean state
734734
t.Cleanup(func() {
735735
componentGlobalsRegistry.Reset() // make sure this test doesn't leak a dirty state
@@ -746,7 +746,7 @@ func TestEmulatedVersion(t *testing.T) {
746746
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
747747
},
748748
}))
749-
utilruntime.Must(componentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, verKube, fg))
749+
utilruntime.Must(componentGlobalsRegistry.Register(featuregate.DefaultKubeComponent, verKube, fg))
750750
return fg
751751
}
752752

cmd/kube-scheduler/app/options/options.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"k8s.io/apimachinery/pkg/util/uuid"
3030
apiserveroptions "k8s.io/apiserver/pkg/server/options"
3131
utilfeature "k8s.io/apiserver/pkg/util/feature"
32-
utilversion "k8s.io/apiserver/pkg/util/version"
3332
"k8s.io/client-go/dynamic"
3433
"k8s.io/client-go/dynamic/dynamicinformer"
3534
clientset "k8s.io/client-go/kubernetes"
@@ -42,9 +41,11 @@ import (
4241
cliflag "k8s.io/component-base/cli/flag"
4342
componentbaseconfig "k8s.io/component-base/config"
4443
"k8s.io/component-base/config/options"
44+
"k8s.io/component-base/featuregate"
4545
"k8s.io/component-base/logs"
4646
logsapi "k8s.io/component-base/logs/api/v1"
4747
"k8s.io/component-base/metrics"
48+
utilversion "k8s.io/component-base/version"
4849
"k8s.io/klog/v2"
4950
schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
5051
"k8s.io/kubernetes/pkg/scheduler"
@@ -75,7 +76,7 @@ type Options struct {
7576
Master string
7677

7778
// ComponentGlobalsRegistry is the registry where the effective versions and feature gates for all components are stored.
78-
ComponentGlobalsRegistry utilversion.ComponentGlobalsRegistry
79+
ComponentGlobalsRegistry featuregate.ComponentGlobalsRegistry
7980

8081
// Flags hold the parsed CLI flags.
8182
Flags *cliflag.NamedFlagSets
@@ -84,10 +85,10 @@ type Options struct {
8485
// NewOptions returns default scheduler app options.
8586
func NewOptions() *Options {
8687
// make sure DefaultKubeComponent is registered in the DefaultComponentGlobalsRegistry.
87-
if utilversion.DefaultComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent) == nil {
88+
if featuregate.DefaultComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent) == nil {
8889
featureGate := utilfeature.DefaultMutableFeatureGate
8990
effectiveVersion := utilversion.DefaultKubeEffectiveVersion()
90-
utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate))
91+
utilruntime.Must(featuregate.DefaultComponentGlobalsRegistry.Register(featuregate.DefaultKubeComponent, effectiveVersion, featureGate))
9192
}
9293
o := &Options{
9394
SecureServing: apiserveroptions.NewSecureServingOptions().WithLoopback(),
@@ -107,7 +108,7 @@ func NewOptions() *Options {
107108
},
108109
Metrics: metrics.NewOptions(),
109110
Logs: logs.NewOptions(),
110-
ComponentGlobalsRegistry: utilversion.DefaultComponentGlobalsRegistry,
111+
ComponentGlobalsRegistry: featuregate.DefaultComponentGlobalsRegistry,
111112
}
112113

113114
o.Authentication.TolerateInClusterLookupFailure = true
@@ -279,7 +280,7 @@ func (o *Options) Validate() []error {
279280
errs = append(errs, o.Authorization.Validate()...)
280281
errs = append(errs, o.Metrics.Validate()...)
281282

282-
effectiveVersion := o.ComponentGlobalsRegistry.EffectiveVersionFor(utilversion.DefaultKubeComponent)
283+
effectiveVersion := o.ComponentGlobalsRegistry.EffectiveVersionFor(featuregate.DefaultKubeComponent)
283284
if err := utilversion.ValidateKubeEffectiveVersion(effectiveVersion); err != nil {
284285
errs = append(errs, err)
285286
}

0 commit comments

Comments
 (0)