From 859a8db8738dfaa2ff6c8f77beda855e2e6743b8 Mon Sep 17 00:00:00 2001 From: Markus Hilger Date: Thu, 24 Sep 2026 19:04:28 +0200 Subject: [PATCH] Reseat EUREKA nodes with the Reseat reset type ForceRestart only restarts the host, so the node BMC kept running and a reseat did not recover a hung one. The EUREKA firmware provides a Reseat reset type that removes all power from the slot. --- confluent_server/aiohmi/redfish/oem/megware/eureka.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/confluent_server/aiohmi/redfish/oem/megware/eureka.py b/confluent_server/aiohmi/redfish/oem/megware/eureka.py index 587d4f67..719815fe 100644 --- a/confluent_server/aiohmi/redfish/oem/megware/eureka.py +++ b/confluent_server/aiohmi/redfish/oem/megware/eureka.py @@ -117,10 +117,12 @@ class OEMHandler(generic.OEMHandler): return cputemps async def reseat_bay(self, bay): - """Power cycle a specific node in the EUREKA enclosure. + """Reseat a specific node in the EUREKA enclosure. - Uses ComputerSystem.Reset with ForceRestart on the target node. - bay=-1 (enclosure-level) is not supported. + Uses ComputerSystem.Reset with the EUREKA specific Reseat type, + which removes all power from the slot, node BMC included. + ForceRestart only restarts the host. bay=-1 (enclosure-level) + is not supported. """ if bay == -1: raise exc.UnsupportedFunctionality( @@ -128,7 +130,7 @@ class OEMHandler(generic.OEMHandler): nodeurl = '/redfish/v1/Systems/Node{}'.format(bay) await self._do_web_request( nodeurl + '/Actions/ComputerSystem.Reset', - {'ResetType': 'ForceRestart'}, + {'ResetType': 'Reseat'}, method='POST') async def get_health(self, fishclient, verbose=True):