Chore: Propagate context for data source provisioning (#40235)

* context all the things

* apply feedback

* rollback some alerting changes

* rollback some alerting changes #2

* more rollbacks

* more rollbacks #2

* more rollbacks #3

* more rollbacks #4

* fix integration test

* add missing context

* add missing and remove incorrect dispatch
This commit is contained in:
Will Browne
2021-10-18 16:06:19 +01:00
committed by GitHub
parent ec0fcbbf4b
commit e4297006f6
22 changed files with 129 additions and 112 deletions

View File

@@ -36,8 +36,8 @@ func ProvideService(cfg *setting.Cfg, sqlStore *sqlstore.SQLStore, pluginManager
type ProvisioningService interface {
registry.BackgroundService
RunInitProvisioners() error
ProvisionDatasources() error
RunInitProvisioners(ctx context.Context) error
ProvisionDatasources(ctx context.Context) error
ProvisionPlugins() error
ProvisionNotifications() error
ProvisionDashboards(ctx context.Context) error
@@ -60,7 +60,7 @@ func NewProvisioningServiceImpl() *ProvisioningServiceImpl {
func newProvisioningServiceImpl(
newDashboardProvisioner dashboards.DashboardProvisionerFactory,
provisionNotifiers func(string, encryption.Service) error,
provisionDatasources func(string) error,
provisionDatasources func(context.Context, string) error,
provisionPlugins func(string, plugifaces.Manager) error,
) *ProvisioningServiceImpl {
return &ProvisioningServiceImpl{
@@ -82,13 +82,13 @@ type ProvisioningServiceImpl struct {
newDashboardProvisioner dashboards.DashboardProvisionerFactory
dashboardProvisioner dashboards.DashboardProvisioner
provisionNotifiers func(string, encryption.Service) error
provisionDatasources func(string) error
provisionDatasources func(context.Context, string) error
provisionPlugins func(string, plugifaces.Manager) error
mutex sync.Mutex
}
func (ps *ProvisioningServiceImpl) RunInitProvisioners() error {
err := ps.ProvisionDatasources()
func (ps *ProvisioningServiceImpl) RunInitProvisioners(ctx context.Context) error {
err := ps.ProvisionDatasources(ctx)
if err != nil {
return err
}
@@ -135,9 +135,9 @@ func (ps *ProvisioningServiceImpl) Run(ctx context.Context) error {
}
}
func (ps *ProvisioningServiceImpl) ProvisionDatasources() error {
func (ps *ProvisioningServiceImpl) ProvisionDatasources(ctx context.Context) error {
datasourcePath := filepath.Join(ps.Cfg.ProvisioningPath, "datasources")
err := ps.provisionDatasources(datasourcePath)
err := ps.provisionDatasources(ctx, datasourcePath)
return errutil.Wrap("Datasource provisioning error", err)
}