mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Prevent scheduler from crashing infinitely if apiserver is unreachable
This commit is contained in:
		@@ -58,7 +58,10 @@ func main() {
 | 
			
		||||
	go http.ListenAndServe(net.JoinHostPort(address.String(), strconv.Itoa(*port)), nil)
 | 
			
		||||
 | 
			
		||||
	configFactory := &factory.ConfigFactory{Client: kubeClient}
 | 
			
		||||
	config := configFactory.Create()
 | 
			
		||||
	config, err := configFactory.Create()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		glog.Fatalf("Can't create scheduler config: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	s := scheduler.New(config)
 | 
			
		||||
	s.Run()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ type ConfigFactory struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Create creates a scheduler and all support functions.
 | 
			
		||||
func (factory *ConfigFactory) Create() *scheduler.Config {
 | 
			
		||||
func (factory *ConfigFactory) Create() (*scheduler.Config, error) {
 | 
			
		||||
	// Watch and queue pods that need scheduling.
 | 
			
		||||
	podQueue := cache.NewFIFO()
 | 
			
		||||
	cache.NewReflector(factory.createUnassignedPodLW(), &api.Pod{}, podQueue).Run()
 | 
			
		||||
@@ -66,8 +66,7 @@ func (factory *ConfigFactory) Create() *scheduler.Config {
 | 
			
		||||
 | 
			
		||||
	nodes, err := factory.Client.ListMinions()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		glog.Errorf("failed to obtain minion information, aborting")
 | 
			
		||||
		return nil
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	algo := algorithm.NewGenericScheduler(
 | 
			
		||||
		[]algorithm.FitPredicate{
 | 
			
		||||
@@ -98,7 +97,7 @@ func (factory *ConfigFactory) Create() *scheduler.Config {
 | 
			
		||||
			return pod
 | 
			
		||||
		},
 | 
			
		||||
		Error: factory.makeDefaultErrorFunc(&podBackoff, podQueue),
 | 
			
		||||
	}
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type listWatch struct {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user