Chore: Refactor backend plugin manager/tsdb query data (#34944)

Move QueryData method into backend plugin manager which HandleRequest uses to 
query data from plugin SDK supported data sources. This allowed us to remove a lot 
of code no longer needed.

Ref #21510

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
This commit is contained in:
Marcus Efraimsson
2021-06-03 14:16:58 +02:00
committed by GitHub
co-authored by Will Browne
parent 56e0efbb56
commit b3e9087557
21 changed files with 294 additions and 421 deletions
-20
View File
@@ -745,26 +745,6 @@ func collectPluginFilesWithin(rootDir string) ([]string, error) {
return files, err
}
// GetDataPlugin gets a DataPlugin with a certain name. If none is found, nil is returned.
//nolint: staticcheck // plugins.DataPlugin deprecated
func (pm *PluginManager) GetDataPlugin(id string) plugins.DataPlugin {
pm.pluginsMu.RLock()
defer pm.pluginsMu.RUnlock()
if p := pm.GetDataSource(id); p != nil && p.CanHandleDataQueries() {
return p
}
// XXX: Might other plugins implement DataPlugin?
p := pm.BackendPluginManager.GetDataPlugin(id)
if p != nil {
return p.(plugins.DataPlugin)
}
return nil
}
func (pm *PluginManager) StaticRoutes() []*plugins.PluginStaticRoute {
return pm.staticRoutes
}
+10 -2
View File
@@ -551,8 +551,6 @@ func verifyBundledPluginCatalogue(t *testing.T, pm *PluginManager) {
}
type fakeBackendPluginManager struct {
backendplugin.Manager
registeredPlugins []string
}
@@ -566,6 +564,10 @@ func (f *fakeBackendPluginManager) RegisterAndStart(ctx context.Context, pluginI
return nil
}
func (f *fakeBackendPluginManager) Get(pluginID string) (backendplugin.Plugin, bool) {
return nil, false
}
func (f *fakeBackendPluginManager) UnregisterAndStop(ctx context.Context, pluginID string) error {
var result []string
@@ -600,9 +602,15 @@ func (f *fakeBackendPluginManager) CheckHealth(ctx context.Context, pCtx backend
return nil, nil
}
func (f *fakeBackendPluginManager) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
return nil, nil
}
func (f *fakeBackendPluginManager) CallResource(pluginConfig backend.PluginContext, ctx *models.ReqContext, path string) {
}
var _ backendplugin.Manager = &fakeBackendPluginManager{}
type fakePluginInstaller struct {
installCount int
uninstallCount int