mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Cloud provider should return an error
Not fatal - makes cloud provider useful in methods that can return error.
This commit is contained in:
parent
7689391c68
commit
d8bb4552de
@ -260,7 +260,10 @@ func (s *APIServer) Run(_ []string) error {
|
|||||||
HostNetworkSources: []string{},
|
HostNetworkSources: []string{},
|
||||||
})
|
})
|
||||||
|
|
||||||
cloud := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
cloud, err := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
glog.Fatalf("Cloud provider could not be initialized: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
kubeletClient, err := client.NewKubeletClient(&s.KubeletConfig)
|
kubeletClient, err := client.NewKubeletClient(&s.KubeletConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -186,7 +186,10 @@ func (s *CMServer) Run(_ []string) error {
|
|||||||
controllerManager := replicationControllerPkg.NewReplicationManager(kubeClient, replicationControllerPkg.BurstReplicas)
|
controllerManager := replicationControllerPkg.NewReplicationManager(kubeClient, replicationControllerPkg.BurstReplicas)
|
||||||
go controllerManager.Run(s.ConcurrentRCSyncs, util.NeverStop)
|
go controllerManager.Run(s.ConcurrentRCSyncs, util.NeverStop)
|
||||||
|
|
||||||
cloud := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
cloud, err := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
glog.Fatalf("Cloud provider could not be initialized: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
nodeController := nodecontroller.NewNodeController(cloud, kubeClient, s.RegisterRetryCount,
|
nodeController := nodecontroller.NewNodeController(cloud, kubeClient, s.RegisterRetryCount,
|
||||||
s.PodEvictionTimeout, nodecontroller.NewPodEvictor(util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst)),
|
s.PodEvictionTimeout, nodecontroller.NewPodEvictor(util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst)),
|
||||||
|
@ -286,7 +286,10 @@ func (s *KubeletServer) Run(_ []string) error {
|
|||||||
DockerFreeDiskMB: s.LowDiskSpaceThresholdMB,
|
DockerFreeDiskMB: s.LowDiskSpaceThresholdMB,
|
||||||
RootFreeDiskMB: s.LowDiskSpaceThresholdMB,
|
RootFreeDiskMB: s.LowDiskSpaceThresholdMB,
|
||||||
}
|
}
|
||||||
cloud := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
cloud, err := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
glog.V(2).Infof("Successfully initialized cloud provider: %q from the config file: %q\n", s.CloudProvider, s.CloudConfigFile)
|
glog.V(2).Infof("Successfully initialized cloud provider: %q from the config file: %q\n", s.CloudProvider, s.CloudConfigFile)
|
||||||
|
|
||||||
hostNetworkSources, err := kubelet.GetValidatedSources(strings.Split(s.HostNetworkSources, ","))
|
hostNetworkSources, err := kubelet.GetValidatedSources(strings.Split(s.HostNetworkSources, ","))
|
||||||
|
@ -115,7 +115,10 @@ func (s *CMServer) Run(_ []string) error {
|
|||||||
if s.CloudProvider != mesos.ProviderName {
|
if s.CloudProvider != mesos.ProviderName {
|
||||||
glog.Fatalf("Only provider %v is supported, you specified %v", mesos.ProviderName, s.CloudProvider)
|
glog.Fatalf("Only provider %v is supported, you specified %v", mesos.ProviderName, s.CloudProvider)
|
||||||
}
|
}
|
||||||
cloud := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
cloud, err := cloudprovider.InitCloudProvider(s.CloudProvider, s.CloudConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
glog.Fatalf("Cloud provider could not be initialized: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
nodeController := nodecontroller.NewNodeController(cloud, kubeClient, s.RegisterRetryCount,
|
nodeController := nodecontroller.NewNodeController(cloud, kubeClient, s.RegisterRetryCount,
|
||||||
s.PodEvictionTimeout, nodecontroller.NewPodEvictor(util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst)),
|
s.PodEvictionTimeout, nodecontroller.NewPodEvictor(util.NewTokenBucketRateLimiter(s.DeletingPodsQps, s.DeletingPodsBurst)),
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package cloudprovider
|
package cloudprovider
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
@ -62,12 +63,12 @@ func GetCloudProvider(name string, config io.Reader) (Interface, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 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 {
|
func InitCloudProvider(name string, configFilePath string) (Interface, error) {
|
||||||
var cloud Interface
|
var cloud Interface
|
||||||
|
|
||||||
if name == "" {
|
if name == "" {
|
||||||
glog.Info("No cloud provider specified.")
|
glog.Info("No cloud provider specified.")
|
||||||
return nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@ -87,11 +88,11 @@ func InitCloudProvider(name string, configFilePath string) Interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatalf("Couldn't init cloud provider %q: %v", name, err)
|
return nil, fmt.Errorf("could not init cloud provider %q: %v", name, err)
|
||||||
}
|
}
|
||||||
if cloud == nil {
|
if cloud == nil {
|
||||||
glog.Fatalf("Unknown cloud provider: %s", name)
|
return nil, fmt.Errorf("unknown cloud provider %q", name)
|
||||||
}
|
}
|
||||||
|
|
||||||
return cloud
|
return cloud, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user