Commit 98756203 authored by wlan0's avatar wlan0

add external cloudprovider to clerly denote the offloading off cloudprovider tasks

parent 61e7d1eb
...@@ -420,7 +420,7 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.KubeletDeps) (err error) { ...@@ -420,7 +420,7 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.KubeletDeps) (err error) {
var externalKubeClient clientgoclientset.Interface var externalKubeClient clientgoclientset.Interface
var cloud cloudprovider.Interface var cloud cloudprovider.Interface
if s.CloudProvider != componentconfigv1alpha1.AutoDetectCloudProvider { if !cloudprovider.IsExternal(s.CloudProvider) && s.CloudProvider != componentconfigv1alpha1.AutoDetectCloudProvider {
cloud, err = cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile) cloud, err = cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
if err != nil { if err != nil {
return err return err
......
...@@ -37,6 +37,8 @@ var ( ...@@ -37,6 +37,8 @@ var (
providers = make(map[string]Factory) providers = make(map[string]Factory)
) )
const externalCloudProvider = "external"
// RegisterCloudProvider registers a cloudprovider.Factory by name. This // RegisterCloudProvider registers a cloudprovider.Factory by name. This
// is expected to happen during app startup. // is expected to happen during app startup.
func RegisterCloudProvider(name string, cloud Factory) { func RegisterCloudProvider(name string, cloud Factory) {
...@@ -85,6 +87,11 @@ func GetCloudProvider(name string, config io.Reader) (Interface, error) { ...@@ -85,6 +87,11 @@ func GetCloudProvider(name string, config io.Reader) (Interface, error) {
return f(config) return f(config)
} }
// Detects if the string is an external cloud provider
func IsExternal(name string) bool {
return name == externalCloudProvider
}
// InitCloudProvider creates an instance of the named cloud provider. // InitCloudProvider creates an instance of the named cloud provider.
func InitCloudProvider(name string, configFilePath string) (Interface, error) { func InitCloudProvider(name string, configFilePath string) (Interface, error) {
var cloud Interface var cloud Interface
...@@ -95,6 +102,11 @@ func InitCloudProvider(name string, configFilePath string) (Interface, error) { ...@@ -95,6 +102,11 @@ func InitCloudProvider(name string, configFilePath string) (Interface, error) {
return nil, nil return nil, nil
} }
if IsExternal(name) {
glog.Info("External cloud provider specified")
return nil, nil
}
if configFilePath != "" { if configFilePath != "" {
var config *os.File var config *os.File
config, err = os.Open(configFilePath) config, err = os.Open(configFilePath)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment