From 6e6cbce0a2741dc57beeef55f7c8c6b3df522c89 Mon Sep 17 00:00:00 2001 From: Markus Hilger Date: Mon, 27 Jul 2026 00:28:10 +0200 Subject: [PATCH] Do not report an interrupted firmware update as complete The retry counter is there to ride out a few unanswered polls, but exhausting it broke out of the loop with complete still unset and fell through to the 'complete' return, so an SMM that stopped answering part way through an apply was reported to the operator as updated. Raise instead; a genuine finish still leaves the loop on the progress reaching 100. --- confluent_server/aiohmi/ipmi/oem/lenovo/nextscale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/confluent_server/aiohmi/ipmi/oem/lenovo/nextscale.py b/confluent_server/aiohmi/ipmi/oem/lenovo/nextscale.py index bbadc663..f15245c2 100644 --- a/confluent_server/aiohmi/ipmi/oem/lenovo/nextscale.py +++ b/confluent_server/aiohmi/ipmi/oem/lenovo/nextscale.py @@ -1029,7 +1029,7 @@ class SMMClient(object): progdata, status, _ = await wc.grab_response_with_status('/data', 'get=fwProgress,fwUpdate') except Exception: if tries > 2: - break + raise tries += 1 continue if status != 200: