From d8f40491155dd893f3c2d5e790756e1380472cce Mon Sep 17 00:00:00 2001 From: Markus Hilger Date: Tue, 14 Jul 2026 05:42:25 +0200 Subject: [PATCH] Fix password change handling in EUREKA discovery util.json_loads does not exist, so the PasswordChangeRequired flow raised AttributeError on every 401, silently swallowed by the blanket except. Use json.loads, which accepts the bytes body directly. --- confluent_server/confluent/discovery/handlers/eureka.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/confluent_server/confluent/discovery/handlers/eureka.py b/confluent_server/confluent/discovery/handlers/eureka.py index 3bb466f0..7488a8f7 100644 --- a/confluent_server/confluent/discovery/handlers/eureka.py +++ b/confluent_server/confluent/discovery/handlers/eureka.py @@ -21,6 +21,8 @@ sensor readings. It does NOT support IPMI, NIC configuration, firmware update, or other BMC-specific operations. """ +import asyncio +import json import confluent.discovery.handlers.generic as generic import confluent.util as util import aiohmi.util.webclient as webclient @@ -105,7 +107,7 @@ class NodeHandler(generic.NodeHandler): elif status == 401: self.trieddefault = True try: - errinfo = util.json_loads(body) + errinfo = json.loads(body) for msg in errinfo.get('@Message.ExtendedInfo', []): if 'PasswordChangeRequired' in msg.get('MessageId', ''): chgurl = msg.get('MessageArgs', [None])[0]