Dustin C. Hatch 46b26199b0
All checks were successful
dustin/k8s-reboot-coordinator/pipeline/head This commit looks good
drain: Fix a race condition while waiting for pods
Using a channel to transfer the list of pods from the task that is
evicting the pods to the task that is waiting for them to be deleted
creates a race condition.  It is possible for the watch event stream to
handle the pod delete event _before_ the channel delivers the pod
identifier, so the pod gets added to the wait list _after_ it's already
been deleted.  This results in the `wait_drained` task waiting forever
for the pod to be deleted, even though it is already gone.

To address this, we need to construct the wait list in the `drain_node`
task, as we are evicting pods.  This way, we can be sure that every pod
that was evicted is in the wait list immediately.
2025-10-10 08:32:59 -05:00
2025-09-24 08:17:03 -05:00
2025-09-25 18:01:39 -05:00
2025-09-24 08:17:03 -05:00
2025-09-24 08:17:03 -05:00
2025-10-08 12:41:05 -05:00
2025-10-08 12:41:05 -05:00
2025-10-08 12:41:05 -05:00
2025-09-24 08:17:03 -05:00
Description
No description provided
163 KiB
Languages
Rust 97%
Shell 2%
Dockerfile 1%