Skip to content

Commit 80677b3

Browse files
committed
Adopt Kubernetes breaking change: regarding to effective version in PR129416
Adopt Kubernetes breaking change: change storage interface in PR130400 Adopt Kubernetes breaking change: use CacheDelegator to replace Cacher in PR129443 Adopt Kubernetes breaking change: Refactor explain cmd in PR129784 Adopt controller-runtime changes: Deprecates result.requeue in PR3107 Adopt Kubernetes breaking change: disable watchlist in PR131359 Signed-off-by: changzhen <[email protected]> Signed-off-by: RainbowMango <[email protected]>
1 parent 66d49eb commit 80677b3

File tree

12 files changed

+85
-53
lines changed

12 files changed

+85
-53
lines changed

cmd/aggregated-apiserver/app/options/options.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ import (
3333
genericfilters "k8s.io/apiserver/pkg/server/filters"
3434
genericoptions "k8s.io/apiserver/pkg/server/options"
3535
"k8s.io/apiserver/pkg/storage/storagebackend"
36+
"k8s.io/apiserver/pkg/util/compatibility"
3637
utilfeature "k8s.io/apiserver/pkg/util/feature"
3738
"k8s.io/client-go/kubernetes"
3839
"k8s.io/client-go/util/flowcontrol"
39-
cbversion "k8s.io/component-base/version"
4040
"k8s.io/klog/v2"
4141
netutils "k8s.io/utils/net"
4242

@@ -123,7 +123,7 @@ func (o *Options) Run(ctx context.Context) error {
123123
restConfig := config.GenericConfig.ClientConfig
124124
restConfig.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(o.KubeAPIQPS, o.KubeAPIBurst)
125125
secretLister := config.GenericConfig.SharedInformerFactory.Core().V1().Secrets().Lister()
126-
config.GenericConfig.EffectiveVersion = cbversion.NewEffectiveVersion("1.0")
126+
config.GenericConfig.EffectiveVersion = compatibility.DefaultBuildEffectiveVersion()
127127

128128
server, err := config.Complete().New(restConfig, secretLister)
129129
if err != nil {

cmd/karmada-search/app/karmada-search.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ import (
3131
genericapiserver "k8s.io/apiserver/pkg/server"
3232
genericfilters "k8s.io/apiserver/pkg/server/filters"
3333
genericoptions "k8s.io/apiserver/pkg/server/options"
34+
"k8s.io/apiserver/pkg/util/compatibility"
3435
"k8s.io/client-go/rest"
3536
"k8s.io/client-go/util/flowcontrol"
3637
cliflag "k8s.io/component-base/cli/flag"
3738
"k8s.io/component-base/logs"
3839
logsv1 "k8s.io/component-base/logs/api/v1"
3940
"k8s.io/component-base/term"
40-
cbversion "k8s.io/component-base/version"
4141
"k8s.io/klog/v2"
4242
netutils "k8s.io/utils/net"
4343
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
@@ -192,7 +192,7 @@ func config(o *options.Options, outOfTreeRegistryOptions ...Option) (*search.Con
192192
}
193193

194194
serverConfig.ClientConfig.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(o.KubeAPIQPS, o.KubeAPIBurst)
195-
serverConfig.Config.EffectiveVersion = cbversion.NewEffectiveVersion("1.0")
195+
serverConfig.Config.EffectiveVersion = compatibility.DefaultBuildEffectiveVersion()
196196

197197
httpClient, err := rest.HTTPClientFor(serverConfig.ClientConfig)
198198
if err != nil {

hack/tools/swagger/lib/render.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ import (
3030
"k8s.io/apiserver/pkg/registry/rest"
3131
genericapiserver "k8s.io/apiserver/pkg/server"
3232
genericoptions "k8s.io/apiserver/pkg/server/options"
33+
"k8s.io/apiserver/pkg/util/compatibility"
3334
"k8s.io/apiserver/pkg/util/feature"
34-
"k8s.io/component-base/featuregate"
35-
"k8s.io/component-base/version"
3635
"k8s.io/klog/v2"
3736
"k8s.io/kube-openapi/pkg/builder"
3837
"k8s.io/kube-openapi/pkg/common"
@@ -90,7 +89,8 @@ func RenderOpenAPISpec(cfg Config) (string, error) {
9089
serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(cfg.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(cfg.Scheme))
9190
serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(cfg.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(cfg.Scheme))
9291
serverConfig.OpenAPIConfig.Info.InfoProps = cfg.Info
93-
serverConfig.EffectiveVersion, serverConfig.FeatureGate = featuregate.DefaultComponentGlobalsRegistry.ComponentGlobalsOrRegister(featuregate.DefaultKubeComponent, version.DefaultBuildEffectiveVersion(), feature.DefaultMutableFeatureGate)
92+
serverConfig.EffectiveVersion = compatibility.DefaultBuildEffectiveVersion()
93+
serverConfig.FeatureGate = feature.DefaultMutableFeatureGate
9494

9595
genericServer, err := serverConfig.Complete().New("karmada-openapi-server", genericapiserver.NewEmptyDelegate())
9696
if err != nil {

pkg/aggregatedapiserver/apiserver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import (
2121
"k8s.io/apiserver/pkg/registry/generic"
2222
"k8s.io/apiserver/pkg/registry/rest"
2323
genericapiserver "k8s.io/apiserver/pkg/server"
24+
"k8s.io/apiserver/pkg/util/compatibility"
2425
listcorev1 "k8s.io/client-go/listers/core/v1"
2526
restclient "k8s.io/client-go/rest"
26-
"k8s.io/component-base/version"
2727
"k8s.io/klog/v2"
2828

2929
clusterapis "github.com/karmada-io/karmada/pkg/apis/cluster"
@@ -63,7 +63,7 @@ func (cfg *Config) Complete() CompletedConfig {
6363
GenericConfig: cfg.GenericConfig.Complete(),
6464
ExtraConfig: &cfg.ExtraConfig,
6565
}
66-
c.GenericConfig.EffectiveVersion = version.NewEffectiveVersion("1.0")
66+
c.GenericConfig.EffectiveVersion = compatibility.DefaultBuildEffectiveVersion()
6767

6868
return CompletedConfig{&c}
6969
}

pkg/aggregatedapiserver/apiserver_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ import (
2727
"k8s.io/apiserver/pkg/endpoints/openapi"
2828
"k8s.io/apiserver/pkg/registry/generic"
2929
genericapiserver "k8s.io/apiserver/pkg/server"
30+
"k8s.io/apiserver/pkg/util/compatibility"
3031
"k8s.io/client-go/informers"
3132
clientset "k8s.io/client-go/kubernetes"
3233
fakeclientset "k8s.io/client-go/kubernetes/fake"
3334
listcorev1 "k8s.io/client-go/listers/core/v1"
3435
restclient "k8s.io/client-go/rest"
35-
"k8s.io/component-base/version"
3636

3737
clusterscheme "github.com/karmada-io/karmada/pkg/apis/cluster/scheme"
3838
generatedopenapi "github.com/karmada-io/karmada/pkg/generated/openapi"
@@ -67,7 +67,7 @@ func TestNewAggregatedAPIServer(t *testing.T) {
6767
return nil
6868
},
6969
ExternalAddress: "10.0.0.0:10000",
70-
EffectiveVersion: version.NewEffectiveVersion("1.0"),
70+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
7171
},
7272
client: fakeclientset.NewSimpleClientset(),
7373
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
@@ -98,7 +98,7 @@ func TestNewAggregatedAPIServer(t *testing.T) {
9898
},
9999
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
100100
ExternalAddress: "10.0.0.0:10000",
101-
EffectiveVersion: version.NewEffectiveVersion("1.0"),
101+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
102102
},
103103
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
104104
sharedInformer := informers.NewSharedInformerFactory(client, 0)
@@ -134,7 +134,7 @@ func TestNewAggregatedAPIServer(t *testing.T) {
134134
},
135135
OpenAPIV3Config: genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(clusterscheme.Scheme)),
136136
ExternalAddress: "10.0.0.0:10000",
137-
EffectiveVersion: version.NewEffectiveVersion("1.0"),
137+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
138138
},
139139
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
140140
sharedInformer := informers.NewSharedInformerFactory(client, 0)

pkg/controllers/remediation/remedy_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func TestReconcile(t *testing.T) {
123123
}
124124

125125
// Assert requeue result
126-
assert.Equal(t, tt.expectedRequeue, result.Requeue, "Unexpected requeue result")
126+
assert.Equal(t, tt.expectedRequeue, result.RequeueAfter > 0, "Unexpected requeue result")
127127

128128
// Assert remedy actions if expected
129129
if tt.expectedActions != nil {

pkg/karmadactl/explain/explain.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,21 @@ var (
5656
5757
# Get the documentation of resources in different format in Karmada control plane
5858
%[1]s explain clusterpropagationpolicies --output=plaintext-openapiv2`)
59-
plaintextTemplateName = "plaintext"
6059
)
6160

6261
// NewCmdExplain new explain command.
6362
func NewCmdExplain(f util.Factory, parentCommand string, streams genericiooptions.IOStreams) *cobra.Command {
6463
var o CommandExplainOptions
65-
o.ExplainOptions = kubectlexplain.NewExplainOptions(parentCommand, streams)
64+
o.ExplainFlags = kubectlexplain.NewExplainFlags(streams)
6665

6766
cmd := &cobra.Command{
6867
Use: "explain TYPE [--recursive=FALSE|TRUE] [--api-version=api-version-group] [--output=plaintext|plaintext-openapiv2] ",
6968
DisableFlagsInUseLine: true,
7069
Short: "Get documentation for a resource",
7170
Long: fmt.Sprintf(explainLong, parentCommand),
7271
Example: fmt.Sprintf(explainExamples, parentCommand),
73-
Run: func(cmd *cobra.Command, args []string) {
74-
cmdutil.CheckErr(o.Complete(f, cmd, args))
72+
Run: func(_ *cobra.Command, args []string) {
73+
cmdutil.CheckErr(o.Complete(f, parentCommand, args))
7574
cmdutil.CheckErr(o.Validate())
7675
cmdutil.CheckErr(o.Run())
7776
},
@@ -80,16 +79,13 @@ func NewCmdExplain(f util.Factory, parentCommand string, streams genericiooption
8079
},
8180
}
8281

82+
o.ExplainFlags.AddFlags(cmd)
83+
8384
flags := cmd.Flags()
8485
o.OperationScope = options.KarmadaControlPlane
8586
options.AddKubeConfigFlags(flags)
8687
options.AddNamespaceFlag(flags)
8788
flags.VarP(&o.OperationScope, "operation-scope", "s", "Used to control the operation scope of the command. The optional values are karmada and members. Defaults to karmada.")
88-
flags.BoolVar(&o.Recursive, "recursive", o.Recursive, "When true, print the name of all the fields recursively. Otherwise, print the available fields with their description.")
89-
flags.StringVar(&o.APIVersion, "api-version", o.APIVersion, "Use given api-version (group/version) of the resource.")
90-
91-
// Only enable --output as a valid flag if the feature is enabled
92-
flags.StringVar(&o.OutputFormat, "output", plaintextTemplateName, "Format in which to render the schema. Valid values are: (plaintext, plaintext-openapiv2).")
9389
flags.StringVar(&o.Cluster, "cluster", "", "Used to specify a target member cluster and only takes effect when the command's operation scope is member clusters, for example: --operation-scope=all --cluster=member1")
9490

9591
utilcomp.RegisterCompletionFuncForKarmadaContextFlag(cmd)
@@ -103,12 +99,13 @@ func NewCmdExplain(f util.Factory, parentCommand string, streams genericiooption
10399
type CommandExplainOptions struct {
104100
// flags specific to explain
105101
*kubectlexplain.ExplainOptions
102+
*kubectlexplain.ExplainFlags
106103
Cluster string
107104
OperationScope options.OperationScope
108105
}
109106

110107
// Complete ensures that options are valid and marshals them if necessary
111-
func (o *CommandExplainOptions) Complete(f util.Factory, cmd *cobra.Command, args []string) error {
108+
func (o *CommandExplainOptions) Complete(f util.Factory, parentCommand string, args []string) error {
112109
var explainFactory cmdutil.Factory = f
113110
if o.OperationScope == options.Members && len(o.Cluster) != 0 {
114111
memberFactory, err := f.FactoryForMemberCluster(o.Cluster)
@@ -118,7 +115,9 @@ func (o *CommandExplainOptions) Complete(f util.Factory, cmd *cobra.Command, arg
118115
explainFactory = memberFactory
119116
}
120117

121-
return o.ExplainOptions.Complete(explainFactory, cmd, args)
118+
var err error
119+
o.ExplainOptions, err = o.ExplainFlags.ToOptions(explainFactory, parentCommand, args)
120+
return err
122121
}
123122

124123
// Validate checks that the provided explain options are specified

pkg/search/apiserver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"k8s.io/apiserver/pkg/registry/generic"
2222
"k8s.io/apiserver/pkg/registry/rest"
2323
genericapiserver "k8s.io/apiserver/pkg/server"
24-
cbversion "k8s.io/component-base/version"
24+
"k8s.io/apiserver/pkg/util/compatibility"
2525
"k8s.io/klog/v2"
2626

2727
searchapis "github.com/karmada-io/karmada/pkg/apis/search"
@@ -67,7 +67,7 @@ func (cfg *Config) Complete() CompletedConfig {
6767
GenericConfig: cfg.GenericConfig.Complete(),
6868
ExtraConfig: &cfg.ExtraConfig,
6969
}
70-
c.GenericConfig.EffectiveVersion = cbversion.NewEffectiveVersion("1.0")
70+
c.GenericConfig.EffectiveVersion = compatibility.DefaultBuildEffectiveVersion()
7171

7272
return CompletedConfig{&c}
7373
}

pkg/search/apiserver_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ import (
2525
"k8s.io/apimachinery/pkg/runtime"
2626
"k8s.io/apiserver/pkg/registry/generic"
2727
genericapiserver "k8s.io/apiserver/pkg/server"
28+
"k8s.io/apiserver/pkg/util/compatibility"
2829
"k8s.io/client-go/informers"
2930
clientset "k8s.io/client-go/kubernetes"
3031
fakeclientset "k8s.io/client-go/kubernetes/fake"
3132
restclient "k8s.io/client-go/rest"
32-
cbversion "k8s.io/component-base/version"
3333

3434
searchstorage "github.com/karmada-io/karmada/pkg/registry/search/storage"
3535
)
@@ -62,7 +62,7 @@ func TestNewKarmadaSearchAPIServer(t *testing.T) {
6262
return nil
6363
},
6464
ExternalAddress: "10.0.0.0:10000",
65-
EffectiveVersion: cbversion.NewEffectiveVersion("1.0"),
65+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
6666
},
6767
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
6868
sharedInformer := informers.NewSharedInformerFactory(client, 0)
@@ -92,7 +92,7 @@ func TestNewKarmadaSearchAPIServer(t *testing.T) {
9292
return nil
9393
},
9494
ExternalAddress: "10.0.0.0:10000",
95-
EffectiveVersion: cbversion.NewEffectiveVersion("1.0"),
95+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
9696
},
9797
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
9898
sharedInformer := informers.NewSharedInformerFactory(client, 0)
@@ -125,7 +125,7 @@ func TestNewKarmadaSearchAPIServer(t *testing.T) {
125125
return nil
126126
},
127127
ExternalAddress: "10.0.0.0:10000",
128-
EffectiveVersion: cbversion.NewEffectiveVersion("1.0"),
128+
EffectiveVersion: compatibility.DefaultBuildEffectiveVersion(),
129129
},
130130
prep: func(cfg *completedConfig, genericAPIServerCfg *genericapiserver.Config, client clientset.Interface) error {
131131
sharedInformer := informers.NewSharedInformerFactory(client, 0)

pkg/search/proxy/framework/plugins/cache/cache_test.go

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
"k8s.io/apimachinery/pkg/util/diff"
3636
"k8s.io/apimachinery/pkg/watch"
3737
"k8s.io/apiserver/pkg/endpoints/request"
38-
"k8s.io/utils/ptr"
3938

4039
"github.com/karmada-io/karmada/pkg/search/proxy/framework"
4140
proxytest "github.com/karmada-io/karmada/pkg/search/proxy/testing"
@@ -172,11 +171,9 @@ func TestCacheProxy_connect(t *testing.T) {
172171
want: want{
173172
gvr: proxytest.NodeGVR,
174173
listOptions: &metainternalversion.ListOptions{
175-
LabelSelector: labels.NewSelector(),
176-
FieldSelector: fields.Everything(),
177-
Watch: true,
178-
ResourceVersionMatch: metav1.ResourceVersionMatchNotOlderThan,
179-
SendInitialEvents: ptr.To[bool](true),
174+
LabelSelector: labels.NewSelector(),
175+
FieldSelector: fields.Everything(),
176+
Watch: true,
180177
},
181178
},
182179
},
@@ -189,11 +186,9 @@ func TestCacheProxy_connect(t *testing.T) {
189186
namespace: "default",
190187
gvr: proxytest.PodGVR,
191188
listOptions: &metainternalversion.ListOptions{
192-
LabelSelector: labels.NewSelector(),
193-
FieldSelector: fields.Everything(),
194-
Watch: true,
195-
ResourceVersionMatch: metav1.ResourceVersionMatchNotOlderThan,
196-
SendInitialEvents: ptr.To[bool](true),
189+
LabelSelector: labels.NewSelector(),
190+
FieldSelector: fields.Everything(),
191+
Watch: true,
197192
},
198193
},
199194
},

0 commit comments

Comments
 (0)