From 593dc7514512a98e06c85bbd10326ad4a02acea0 Mon Sep 17 00:00:00 2001 From: Markus Hilger Date: Fri, 14 Aug 2026 02:57:08 +0200 Subject: [PATCH] Do not set an indicator the platform does not have Reading the identify state says plainly when a platform describes no indicator, but writing it went ahead and patched IndicatorLED regardless. This bmc has neither that property nor the boolean that replaced it, and answered the write with an internal service error, which reached the user as one and the log as a traceback. Ask the same question the read asks. With neither property present there is nothing to write, so say so in the same words instead of finding out from the bmc. --- confluent_server/aiohmi/redfish/command.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/confluent_server/aiohmi/redfish/command.py b/confluent_server/aiohmi/redfish/command.py index 72360801..11074287 100644 --- a/confluent_server/aiohmi/redfish/command.py +++ b/confluent_server/aiohmi/redfish/command.py @@ -897,6 +897,13 @@ class Command(object): if not targurl: raise Exception("Unable to identify system url") targinfo = await self._do_web_request(targurl) + if ('IndicatorLED' not in targinfo + and 'LocationIndicatorActive' not in targinfo): + # Reading already knows when there is no indicator to speak of, so + # do not go on to write a property the platform never offered and + # let it answer with whatever it makes of that + raise exc.UnsupportedFunctionality( + 'Indicator LED state is not reported by this platform') if ('IndicatorLED' not in targinfo and 'LocationIndicatorActive' in targinfo): # IndicatorLED is deprecated in favour of a boolean, which has no