跟踪代码发现由于配置的pluginName都是同一个name应用在了不同的extensonPoint上,所以在初始化的时候被覆盖掉。
func (f *framework) pluginsNeeded(plugins *config.Plugins) map[string]config.Plugin { pgMap := make(map[string]config.Plugin) if plugins == nil { return pgMap } find := func(pgs *config.PluginSet) { if pgs == nil { return } for _, pg := range pgs.Enabled { pgMap[pg.Name] = pg } } for _, e := range f.getExtensionPoints(plugins) { find(e.plugins) } return pgMap }
由于是按照name来设置的map所以如果在plugin.yaml配置文件中设置一个扩展点的weight是不行的。
最后只能全部设置了weight