Use aggregated discovery API to discovery API groups and resources

Use aggregated discovery API to discovery API groups and resources

Fixes #7526

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
This commit is contained in:
Wenkai Yin(尹文开)
2024-10-11 13:43:02 +08:00
parent 8320df44fd
commit 07847925fe
8 changed files with 93 additions and 26 deletions

View File

@@ -224,7 +224,12 @@ func newServiceAccountBackupItemAction(f client.Factory) plugincommon.HandlerIni
return nil, err
}
discoveryHelper, err := velerodiscovery.NewHelper(clientset.Discovery(), logger)
discoveryClient, err := f.DiscoveryClient()
if err != nil {
return nil, err
}
discoveryHelper, err := velerodiscovery.NewHelper(discoveryClient, logger)
if err != nil {
return nil, err
}
@@ -253,11 +258,11 @@ func newRemapCRDVersionAction(f client.Factory) plugincommon.HandlerInitializer
return nil, err
}
clientset, err := f.KubeClient()
discoveryClient, err := f.DiscoveryClient()
if err != nil {
return nil, err
}
discoveryHelper, err := velerodiscovery.NewHelper(clientset.Discovery(), logger)
discoveryHelper, err := velerodiscovery.NewHelper(discoveryClient, logger)
if err != nil {
return nil, err
}
@@ -470,7 +475,12 @@ func newServiceAccountItemBlockAction(f client.Factory) plugincommon.HandlerInit
return nil, err
}
discoveryHelper, err := velerodiscovery.NewHelper(clientset.Discovery(), logger)
discoveryClient, err := f.DiscoveryClient()
if err != nil {
return nil, err
}
discoveryHelper, err := velerodiscovery.NewHelper(discoveryClient, logger)
if err != nil {
return nil, err
}

View File

@@ -135,7 +135,7 @@ type server struct {
metricsAddress string
kubeClientConfig *rest.Config
kubeClient kubernetes.Interface
discoveryClient discovery.DiscoveryInterface
discoveryClient discovery.AggregatedDiscoveryInterface
discoveryHelper velerodiscovery.Helper
dynamicClient dynamic.Interface
// controller-runtime client. the difference from the controller-manager's client
@@ -269,8 +269,8 @@ func newServer(f client.Factory, config *config.Config, logger *logrus.Logger) (
return nil, err
}
var discoveryClient *discovery.DiscoveryClient
if discoveryClient, err = discovery.NewDiscoveryClientForConfig(clientConfig); err != nil {
var discoveryClient discovery.AggregatedDiscoveryInterface
if discoveryClient, err = f.DiscoveryClient(); err != nil {
cancelFunc()
return nil, err
}