INNER CODE UNIT · Go

rebootAsRequired

kubereboot/kured · cmd/kured/main.go:567

func rebootAsRequired(nodeID string, rebooter reboot.Rebooter, checker checkers.Checker, blockCheckers []blockers.RebootBlocker, window *timewindow.TimeWindow, lock daemonsetlock.Lock, client *kubernetes.Clientset) {

	source := rand.NewSource(time.Now().UnixNano())
	tick := delaytick.New(source, 1*time.Minute)
	for range tick {
		holding, lockData, err := lock.Holding()
		if err != nil {
			log.Errorf("Error testing lock: %v", err)
		}
		if holding {
			node, err := client.CoreV1().Nodes().Get(context.TODO(), nodeID, metav1.GetOptions{})
			if err != nil {
				log.Errorf("Error retrieving node object via k8s API: %v", err)
				continue
			}

			if !lockData.Metadata.Unschedulable {
				err = uncordon(client, node)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…