mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 15:02:33 +08:00
fix: preinstall sync plugins have priority over preinstall_async plugin (#106016)
This commit is contained in:
@ -145,13 +145,15 @@ func (cfg *Cfg) readPluginSettings(iniFile *ini.File) error {
|
||||
delete(preinstallPluginsAsync, disabledPlugin)
|
||||
delete(preinstallPluginsSync, disabledPlugin)
|
||||
}
|
||||
for _, plugin := range preinstallPluginsSync {
|
||||
cfg.PreinstallPluginsSync = append(cfg.PreinstallPluginsSync, plugin)
|
||||
// preinstallSync plugin has priority over preinstallAsync
|
||||
delete(preinstallPluginsAsync, plugin.ID)
|
||||
}
|
||||
for _, plugin := range preinstallPluginsAsync {
|
||||
cfg.PreinstallPluginsAsync = append(cfg.PreinstallPluginsAsync, plugin)
|
||||
}
|
||||
|
||||
for _, plugin := range preinstallPluginsSync {
|
||||
cfg.PreinstallPluginsSync = append(cfg.PreinstallPluginsSync, plugin)
|
||||
}
|
||||
installPluginsInAsync := pluginsSection.Key("preinstall_async").MustBool(true)
|
||||
if !installPluginsInAsync {
|
||||
for key, plugin := range preinstallPluginsAsync {
|
||||
|
@ -237,6 +237,13 @@ func Test_readPluginSettings(t *testing.T) {
|
||||
return plugins
|
||||
}(),
|
||||
},
|
||||
{
|
||||
name: "when same plugin is defined in preinstall and preinstall_sync, should be only in preinstallSync",
|
||||
rawInput: "plugin1",
|
||||
rawInputSync: "plugin1",
|
||||
expected: defaultPreinstallPluginsList,
|
||||
expectedSync: []InstallPlugin{{ID: "plugin1"}},
|
||||
},
|
||||
}
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user