Skip to content

Commit bfb50a5

Browse files
authored
Fixes from review of Autopilot code (#200)
* fix bug in logging of node health monitor * only consider running pods in autopilot unhealthy resource checks
1 parent dea20c0 commit bfb50a5

File tree

2 files changed

+25
-26
lines changed

2 files changed

+25
-26
lines changed

internal/controller/appwrapper/appwrapper_controller.go

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -512,37 +512,36 @@ func (r *AppWrapperReconciler) getPodStatus(ctx context.Context, aw *workloadv1b
512512
summary := &podStatusSummary{expected: pc}
513513

514514
for _, pod := range pods.Items {
515-
if len(unhealthyNodes) > 0 {
516-
if resources, ok := unhealthyNodes[pod.Spec.NodeName]; ok {
517-
for badResource := range resources {
518-
for _, container := range pod.Spec.Containers {
519-
if limit, ok := container.Resources.Limits[v1.ResourceName(badResource)]; ok {
520-
if !limit.IsZero() {
521-
if summary.unhealthyNodes == nil {
522-
summary.unhealthyNodes = make(sets.Set[string])
523-
}
524-
summary.unhealthyNodes.Insert(pod.Spec.NodeName)
525-
}
526-
}
527-
if request, ok := container.Resources.Requests[v1.ResourceName(badResource)]; ok {
528-
if !request.IsZero() {
529-
if summary.unhealthyNodes == nil {
530-
summary.unhealthyNodes = make(sets.Set[string])
531-
}
532-
summary.unhealthyNodes.Insert(pod.Spec.NodeName)
533-
}
534-
}
535-
}
536-
}
537-
}
538-
}
539-
540515
switch pod.Status.Phase {
541516
case v1.PodPending:
542517
summary.pending += 1
543518
case v1.PodRunning:
544519
if pod.DeletionTimestamp.IsZero() {
545520
summary.running += 1
521+
if len(unhealthyNodes) > 0 {
522+
if resources, ok := unhealthyNodes[pod.Spec.NodeName]; ok {
523+
for badResource := range resources {
524+
for _, container := range pod.Spec.Containers {
525+
if limit, ok := container.Resources.Limits[v1.ResourceName(badResource)]; ok {
526+
if !limit.IsZero() {
527+
if summary.unhealthyNodes == nil {
528+
summary.unhealthyNodes = make(sets.Set[string])
529+
}
530+
summary.unhealthyNodes.Insert(pod.Spec.NodeName)
531+
}
532+
}
533+
if request, ok := container.Resources.Requests[v1.ResourceName(badResource)]; ok {
534+
if !request.IsZero() {
535+
if summary.unhealthyNodes == nil {
536+
summary.unhealthyNodes = make(sets.Set[string])
537+
}
538+
summary.unhealthyNodes.Insert(pod.Spec.NodeName)
539+
}
540+
}
541+
}
542+
}
543+
}
544+
}
546545
}
547546
case v1.PodSucceeded:
548547
summary.succeeded += 1

internal/controller/appwrapper/node_health_monitor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (r *NodeHealthMonitor) Reconcile(ctx context.Context, req ctrl.Request) (ct
6666
}
6767
}
6868

69-
hadEntries := len(flaggedResources) > 0
69+
hadEntries := len(unhealthyNodes) > 0
7070

7171
if len(flaggedResources) == 0 {
7272
delete(unhealthyNodes, node.GetName())

0 commit comments

Comments
 (0)