mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #79873 from tedyu/kube-runtime
Set runtimeState when RuntimeReady is not set or false
This commit is contained in:
commit
d5f9a81d0f
@ -2189,15 +2189,16 @@ func (kl *Kubelet) updateRuntimeUp() {
|
||||
// Set nil if the container runtime network is ready.
|
||||
kl.runtimeState.setNetworkState(nil)
|
||||
}
|
||||
// TODO(random-liu): Add runtime error in runtimeState, and update it
|
||||
// when runtime is not ready, so that the information in RuntimeReady
|
||||
// condition will be propagated to NodeReady condition.
|
||||
// information in RuntimeReady condition will be propagated to NodeReady condition.
|
||||
runtimeReady := s.GetRuntimeCondition(kubecontainer.RuntimeReady)
|
||||
// If RuntimeReady is not set or is false, report an error.
|
||||
if runtimeReady == nil || !runtimeReady.Status {
|
||||
klog.Errorf("Container runtime not ready: %v", runtimeReady)
|
||||
err := fmt.Errorf("Container runtime not ready: %v", runtimeReady)
|
||||
klog.Error(err)
|
||||
kl.runtimeState.setRuntimeState(err)
|
||||
return
|
||||
}
|
||||
kl.runtimeState.setRuntimeState(nil)
|
||||
kl.oneTimeInitializer.Do(kl.initializeRuntimeDependentModules)
|
||||
kl.runtimeState.setRuntimeSync(kl.clock.Now())
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ type runtimeState struct {
|
||||
lastBaseRuntimeSync time.Time
|
||||
baseRuntimeSyncThreshold time.Duration
|
||||
networkError error
|
||||
runtimeError error
|
||||
storageError error
|
||||
cidr string
|
||||
healthChecks []*healthCheck
|
||||
@ -62,6 +63,12 @@ func (s *runtimeState) setNetworkState(err error) {
|
||||
s.networkError = err
|
||||
}
|
||||
|
||||
func (s *runtimeState) setRuntimeState(err error) {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
s.runtimeError = err
|
||||
}
|
||||
|
||||
func (s *runtimeState) setStorageState(err error) {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
@ -94,6 +101,9 @@ func (s *runtimeState) runtimeErrors() error {
|
||||
errs = append(errs, fmt.Errorf("%s is not healthy: %v", hc.name, err))
|
||||
}
|
||||
}
|
||||
if s.runtimeError != nil {
|
||||
errs = append(errs, s.runtimeError)
|
||||
}
|
||||
|
||||
return utilerrors.NewAggregate(errs)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user