From dade4239aa53d315e096aa492226d7bd10264717 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 3 Apr 2026 08:37:05 -0400 Subject: [PATCH] Fix user management with redfish --- .../confluent/plugins/hardwaremanagement/ipmi.py | 2 +- .../confluent/plugins/hardwaremanagement/redfish.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index f0fbc7e6..1c1e8670 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -215,7 +215,7 @@ class IpmiCommandWrapper(ipmicommand.Command): self.cfm.remove_watcher(self._attribwatcher) self._attribwatcher = None - def _attribschanged(self, nodeattribs, configmanager, **kwargs): + async def _attribschanged(self, nodeattribs, configmanager, **kwargs): try: await self.ipmi_session._mark_broken() except AttributeError: diff --git a/confluent_server/confluent/plugins/hardwaremanagement/redfish.py b/confluent_server/confluent/plugins/hardwaremanagement/redfish.py index 496da502..d66687f5 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/redfish.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/redfish.py @@ -736,13 +736,15 @@ class IpmiHandler: privilege_level=user['privilege_level']) # A list of users await self.output.put(msg.ChildCollection('all')) - async for user in self.ipmicmd.get_users(): + usersfrombmc = await self.ipmicmd.get_users() + for user in usersfrombmc: await self.output.put(msg.ChildCollection(user, candelete=True)) return # List all users elif len(self.element) == 4 and self.element[-1] == 'all': users = [] - async for user in self.ipmicmd.get_users(): + usersfrombmc = await self.ipmicmd.get_users() + for user in usersfrombmc: users.append(await self.ipmicmd.get_user(uid=user)) await self.output.put(msg.UserCollection(users=users, name=self.node)) return