mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
PluginInitializer as a new part of NewFromPlugins method
This commit is contained in:
parent
fc0a3c6dcb
commit
ba40a528e1
@ -250,7 +250,10 @@ func Run(s *options.APIServer) error {
|
||||
pluginInit := admission.NewPluginInitializer()
|
||||
pluginInit.SetNamespaceInformer(namespaceInformer)
|
||||
|
||||
admissionController := admission.NewFromPlugins(client, admissionControlPluginNames, s.AdmissionControlConfigFile)
|
||||
admissionController, err := admission.NewFromPlugins(client, admissionControlPluginNames, s.AdmissionControlConfigFile, pluginInit)
|
||||
if err != nil {
|
||||
glog.Errorf("Failed to initialize plugins: %v", err)
|
||||
}
|
||||
|
||||
genericConfig := genericapiserver.NewConfig(s.ServerRunOptions)
|
||||
// TODO: Move the following to generic api server as well.
|
||||
|
@ -125,7 +125,10 @@ func Run(s *genericoptions.ServerRunOptions) error {
|
||||
pluginInit := admission.NewPluginInitializer()
|
||||
pluginInit.SetNamespaceInformer(namespaceInformer)
|
||||
|
||||
admissionController := admission.NewFromPlugins(client, admissionControlPluginNames, s.AdmissionControlConfigFile)
|
||||
admissionController, err := admission.NewFromPlugins(client, admissionControlPluginNames, s.AdmissionControlConfigFile, pluginInit)
|
||||
if err != nil {
|
||||
glog.Errorf("Failed to initialize plugins: %v", err)
|
||||
}
|
||||
genericConfig := genericapiserver.NewConfig(s)
|
||||
// TODO: Move the following to generic api server as well.
|
||||
genericConfig.StorageFactory = storageFactory
|
||||
|
@ -23,7 +23,7 @@ type chainAdmissionHandler []Interface
|
||||
|
||||
// NewFromPlugins returns an admission.Interface that will enforce admission control decisions of all
|
||||
// the given plugins.
|
||||
func NewFromPlugins(client clientset.Interface, pluginNames []string, configFilePath string) Interface {
|
||||
func NewFromPlugins(client clientset.Interface, pluginNames []string, configFilePath string, plugInit PluginInitializer) (Interface, error) {
|
||||
plugins := []Interface{}
|
||||
for _, pluginName := range pluginNames {
|
||||
plugin := InitPlugin(pluginName, client, configFilePath)
|
||||
@ -31,7 +31,12 @@ func NewFromPlugins(client clientset.Interface, pluginNames []string, configFile
|
||||
plugins = append(plugins, plugin)
|
||||
}
|
||||
}
|
||||
return chainAdmissionHandler(plugins)
|
||||
plugInit.Initialize(plugins)
|
||||
// ensure that plugins have been properly initialized
|
||||
if err := Validate(plugins); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return chainAdmissionHandler(plugins), nil
|
||||
}
|
||||
|
||||
// NewChainHandler creates a new chain handler from an array of handlers. Used for testing.
|
||||
|
Loading…
Reference in New Issue
Block a user