mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
handle nil extension points
This commit is contained in:
parent
2cd5fc54a1
commit
0734d1debb
@ -84,66 +84,76 @@ func NewFramework(r Registry, plugins *config.Plugins, args []config.PluginConfi
|
||||
f.plugins[name] = p
|
||||
}
|
||||
|
||||
for _, r := range plugins.Reserve.Enabled {
|
||||
if pg, ok := f.plugins[r.Name]; ok {
|
||||
p, ok := pg.(ReservePlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend reserve plugin", r.Name)
|
||||
if plugins.Reserve != nil {
|
||||
for _, r := range plugins.Reserve.Enabled {
|
||||
if pg, ok := f.plugins[r.Name]; ok {
|
||||
p, ok := pg.(ReservePlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend reserve plugin", r.Name)
|
||||
}
|
||||
f.reservePlugins = append(f.reservePlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("reserve plugin %v does not exist", r.Name)
|
||||
}
|
||||
f.reservePlugins = append(f.reservePlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("reserve plugin %v does not exist", r.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for _, pb := range plugins.PreBind.Enabled {
|
||||
if pg, ok := f.plugins[pb.Name]; ok {
|
||||
p, ok := pg.(PrebindPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend prebind plugin", pb.Name)
|
||||
if plugins.PreBind != nil {
|
||||
for _, pb := range plugins.PreBind.Enabled {
|
||||
if pg, ok := f.plugins[pb.Name]; ok {
|
||||
p, ok := pg.(PrebindPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend prebind plugin", pb.Name)
|
||||
}
|
||||
f.prebindPlugins = append(f.prebindPlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("prebind plugin %v does not exist", pb.Name)
|
||||
}
|
||||
f.prebindPlugins = append(f.prebindPlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("prebind plugin %v does not exist", pb.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for _, ur := range plugins.Unreserve.Enabled {
|
||||
if pg, ok := f.plugins[ur.Name]; ok {
|
||||
p, ok := pg.(UnreservePlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend unreserve plugin", ur.Name)
|
||||
if plugins.Unreserve != nil {
|
||||
for _, ur := range plugins.Unreserve.Enabled {
|
||||
if pg, ok := f.plugins[ur.Name]; ok {
|
||||
p, ok := pg.(UnreservePlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend unreserve plugin", ur.Name)
|
||||
}
|
||||
f.unreservePlugins = append(f.unreservePlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("unreserve plugin %v does not exist", ur.Name)
|
||||
}
|
||||
f.unreservePlugins = append(f.unreservePlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("unreserve plugin %v does not exist", ur.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for _, pr := range plugins.Permit.Enabled {
|
||||
if pg, ok := f.plugins[pr.Name]; ok {
|
||||
p, ok := pg.(PermitPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend permit plugin", pr.Name)
|
||||
if plugins.Permit != nil {
|
||||
for _, pr := range plugins.Permit.Enabled {
|
||||
if pg, ok := f.plugins[pr.Name]; ok {
|
||||
p, ok := pg.(PermitPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend permit plugin", pr.Name)
|
||||
}
|
||||
f.permitPlugins = append(f.permitPlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("permit plugin %v does not exist", pr.Name)
|
||||
}
|
||||
f.permitPlugins = append(f.permitPlugins, p)
|
||||
} else {
|
||||
return nil, fmt.Errorf("permit plugin %v does not exist", pr.Name)
|
||||
}
|
||||
}
|
||||
|
||||
for _, qs := range plugins.QueueSort.Enabled {
|
||||
if pg, ok := f.plugins[qs.Name]; ok {
|
||||
p, ok := pg.(QueueSortPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend queue sort plugin", qs.Name)
|
||||
if plugins.QueueSort != nil {
|
||||
for _, qs := range plugins.QueueSort.Enabled {
|
||||
if pg, ok := f.plugins[qs.Name]; ok {
|
||||
p, ok := pg.(QueueSortPlugin)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("plugin %v does not extend queue sort plugin", qs.Name)
|
||||
}
|
||||
f.queueSortPlugins = append(f.queueSortPlugins, p)
|
||||
if len(f.queueSortPlugins) > 1 {
|
||||
return nil, fmt.Errorf("only one queue sort plugin can be enabled")
|
||||
}
|
||||
} else {
|
||||
return nil, fmt.Errorf("queue sort plugin %v does not exist", qs.Name)
|
||||
}
|
||||
f.queueSortPlugins = append(f.queueSortPlugins, p)
|
||||
if len(f.queueSortPlugins) > 1 {
|
||||
return nil, fmt.Errorf("only one queue sort plugin can be enabled")
|
||||
}
|
||||
} else {
|
||||
return nil, fmt.Errorf("queue sort plugin %v does not exist", qs.Name)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user