mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Merge pull request #59279 from sjenning/fix-outofdisk-unknown
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. nodelifecycle: set OutOfDisk unknown on node timeout Fixes https://github.com/kubernetes/kubernetes/issues/59278 @dashpole @derekwaynecarr @wjiangjay
This commit is contained in:
commit
49b7d97519
@ -52,9 +52,10 @@ import (
|
|||||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||||
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/golang/glog"
|
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/golang/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -813,6 +814,7 @@ func (nc *Controller) tryUpdateNodeStatus(node *v1.Node) (time.Duration, v1.Node
|
|||||||
|
|
||||||
// remaining node conditions should also be set to Unknown
|
// remaining node conditions should also be set to Unknown
|
||||||
remainingNodeConditionTypes := []v1.NodeConditionType{
|
remainingNodeConditionTypes := []v1.NodeConditionType{
|
||||||
|
v1.NodeOutOfDisk,
|
||||||
v1.NodeMemoryPressure,
|
v1.NodeMemoryPressure,
|
||||||
v1.NodeDiskPressure,
|
v1.NodeDiskPressure,
|
||||||
// We don't change 'NodeNetworkUnavailable' condition, as it's managed on a control plane level.
|
// We don't change 'NodeNetworkUnavailable' condition, as it's managed on a control plane level.
|
||||||
|
@ -1465,6 +1465,14 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
|
|||||||
LastHeartbeatTime: metav1.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC),
|
LastHeartbeatTime: metav1.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC),
|
||||||
LastTransitionTime: fakeNow,
|
LastTransitionTime: fakeNow,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Type: v1.NodeOutOfDisk,
|
||||||
|
Status: v1.ConditionUnknown,
|
||||||
|
Reason: "NodeStatusNeverUpdated",
|
||||||
|
Message: "Kubelet never posted node status.",
|
||||||
|
LastHeartbeatTime: metav1.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC),
|
||||||
|
LastTransitionTime: fakeNow,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Type: v1.NodeMemoryPressure,
|
Type: v1.NodeMemoryPressure,
|
||||||
Status: v1.ConditionUnknown,
|
Status: v1.ConditionUnknown,
|
||||||
@ -1522,6 +1530,13 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
|
|||||||
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Type: v1.NodeOutOfDisk,
|
||||||
|
Status: v1.ConditionFalse,
|
||||||
|
// Node status hasn't been updated for 1hr.
|
||||||
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
|
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Capacity: v1.ResourceList{
|
Capacity: v1.ResourceList{
|
||||||
v1.ResourceName(v1.ResourceCPU): resource.MustParse("10"),
|
v1.ResourceName(v1.ResourceCPU): resource.MustParse("10"),
|
||||||
@ -1546,6 +1561,13 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
|
|||||||
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Type: v1.NodeOutOfDisk,
|
||||||
|
Status: v1.ConditionFalse,
|
||||||
|
// Node status hasn't been updated for 1hr.
|
||||||
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
|
LastTransitionTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Capacity: v1.ResourceList{
|
Capacity: v1.ResourceList{
|
||||||
v1.ResourceName(v1.ResourceCPU): resource.MustParse("10"),
|
v1.ResourceName(v1.ResourceCPU): resource.MustParse("10"),
|
||||||
@ -1568,6 +1590,14 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) {
|
|||||||
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
LastTransitionTime: metav1.Time{Time: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC).Add(time.Hour)},
|
LastTransitionTime: metav1.Time{Time: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC).Add(time.Hour)},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Type: v1.NodeOutOfDisk,
|
||||||
|
Status: v1.ConditionUnknown,
|
||||||
|
Reason: "NodeStatusUnknown",
|
||||||
|
Message: "Kubelet stopped posting node status.",
|
||||||
|
LastHeartbeatTime: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||||
|
LastTransitionTime: metav1.Time{Time: metav1.Date(2015, 1, 1, 12, 0, 0, 0, time.UTC).Add(time.Hour)},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Type: v1.NodeMemoryPressure,
|
Type: v1.NodeMemoryPressure,
|
||||||
Status: v1.ConditionUnknown,
|
Status: v1.ConditionUnknown,
|
||||||
|
Loading…
Reference in New Issue
Block a user