Fix controller.machineStatusUpdate to retry on conflict #838
Labels
area/quality
Output qualification (tests, checks, scans, automation in general, etc.) related
exp/beginner
Issue that requires only basic skills
kind/bug
Bug
priority/2
Priority (lower number equals higher priority)
status/closed
Issue is closed (either delivered or triaged)
How to categorize this issue?
/area quality
/kind bug
/priority 2
What happened:
Machines are stuck in
CrashLoopBackoff
and never transitions toFailed
if VM startup takes a very long time and context deadline is exceeeded. This is because the Machine obj gets outdated andcontroller.machineStatusUpdate
unfortunately doesn’t use retry on conflict so machine status update to theFailed
phase is missed insidecontroller.machineCreateErrorHandler
What you expected to happen:
Machines are not stuck in
CrashLoopBackoff
. Machine Status is updated successfully without frequent errors saying "object has been modified.the object has been modified; please apply your changes to the latest version and try again"How to reproduce it (as minimally and precisely as possible):
set a sleep exceeding the context deadline inside the MC
Driver.CreateMachine
Anything else we need to know?:
related #767
Environment:
kubectl version
):The text was updated successfully, but these errors were encountered: