From 7fedbc1810cd720943ed645ea83c00245366921a Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 21 Jan 2026 16:45:42 -0500 Subject: [PATCH] Replace some pyghmi references and modernize some asyncio invocations --- confluent_client/bin/nodedefine | 2 +- confluent_client/bin/nodediscover | 2 +- confluent_client/bin/nodelist | 2 +- confluent_server/confluent/discovery/handlers/cpstorage.py | 3 ++- confluent_server/confluent/discovery/handlers/imm.py | 4 ++-- confluent_server/confluent/discovery/handlers/smm.py | 4 +++- confluent_server/confluent/discovery/handlers/smm3.py | 2 -- confluent_server/confluent/networking/lldp.py | 2 +- confluent_server/confluent/networking/nxapi.py | 4 +++- confluent_server/confluent/osimage.py | 4 ++-- confluent_server/confluent/plugins/console/openbmc.py | 7 +++++++ confluent_server/confluent/plugins/console/tsmsol.py | 4 ++-- 12 files changed, 25 insertions(+), 15 deletions(-) diff --git a/confluent_client/bin/nodedefine b/confluent_client/bin/nodedefine index c398bb3d..8d8b9423 100755 --- a/confluent_client/bin/nodedefine +++ b/confluent_client/bin/nodedefine @@ -60,4 +60,4 @@ async def main(): sys.exit(exitcode) if __name__ == '__main__': - asyncio.get_event_loop().run_until_complete(main()) + asyncio.run(main()) diff --git a/confluent_client/bin/nodediscover b/confluent_client/bin/nodediscover index 82a280f3..f4e2691a 100755 --- a/confluent_client/bin/nodediscover +++ b/confluent_client/bin/nodediscover @@ -438,4 +438,4 @@ async def main(): if __name__ == '__main__': - asyncio.get_event_loop().run_until_complete(main()) + asyncio.run(main()) diff --git a/confluent_client/bin/nodelist b/confluent_client/bin/nodelist index 8938924f..70588a9e 100755 --- a/confluent_client/bin/nodelist +++ b/confluent_client/bin/nodelist @@ -74,4 +74,4 @@ async def main(): sys.exit(exitcode) if __name__ == '__main__': - asyncio.get_event_loop().run_until_complete(main()) + asyncio.run(main()) diff --git a/confluent_server/confluent/discovery/handlers/cpstorage.py b/confluent_server/confluent/discovery/handlers/cpstorage.py index 4284a8c6..ab099ab8 100644 --- a/confluent_server/confluent/discovery/handlers/cpstorage.py +++ b/confluent_server/confluent/discovery/handlers/cpstorage.py @@ -19,7 +19,8 @@ try: from urllib import urlencode except ImportError: from urllib.parse import urlencode -webclient = eventlet.import_patched('pyghmi.util.webclient') +import aiohmi.util.webclient as webclient + class NodeHandler(bmchandler.NodeHandler): DEFAULT_USER = 'admin' diff --git a/confluent_server/confluent/discovery/handlers/imm.py b/confluent_server/confluent/discovery/handlers/imm.py index 7e0ef7d5..e7099860 100644 --- a/confluent_server/confluent/discovery/handlers/imm.py +++ b/confluent_server/confluent/discovery/handlers/imm.py @@ -14,8 +14,8 @@ import codecs import confluent.discovery.handlers.bmc as bmchandler -import pyghmi.exceptions as pygexc -import pyghmi.ipmi.private.util as pygutil +import aiohmi.exceptions as pygexc +import aiohmi.ipmi.private.util as pygutil import confluent.util as util import struct diff --git a/confluent_server/confluent/discovery/handlers/smm.py b/confluent_server/confluent/discovery/handlers/smm.py index 0c367854..185cc251 100644 --- a/confluent_server/confluent/discovery/handlers/smm.py +++ b/confluent_server/confluent/discovery/handlers/smm.py @@ -16,7 +16,9 @@ import codecs import confluent.discovery.handlers.bmc as bmchandler import confluent.exceptions as exc import eventlet -webclient = eventlet.import_patched('pyghmi.util.webclient') + +import aiohmi.util.webclient as webclient + import struct try: from urllib import urlencode diff --git a/confluent_server/confluent/discovery/handlers/smm3.py b/confluent_server/confluent/discovery/handlers/smm3.py index 8d93cc3e..784b3051 100644 --- a/confluent_server/confluent/discovery/handlers/smm3.py +++ b/confluent_server/confluent/discovery/handlers/smm3.py @@ -16,8 +16,6 @@ import confluent.discovery.handlers.redfishbmc as redfishbmc import eventlet.support.greendns import confluent.util as util -webclient = eventlet.import_patched('pyghmi.util.webclient') - getaddrinfo = eventlet.support.greendns.getaddrinfo diff --git a/confluent_server/confluent/networking/lldp.py b/confluent_server/confluent/networking/lldp.py index e2eba7e3..fe18fe62 100644 --- a/confluent_server/confluent/networking/lldp.py +++ b/confluent_server/confluent/networking/lldp.py @@ -94,7 +94,7 @@ def lenovoname(idx, desc): return desc nameoverrides = [ - (re.compile('20301\..*'), lenovoname), + (re.compile(r'20301\..*'), lenovoname), ] # Lenovo chassis id rule is match only first 5 bytes for a match..... diff --git a/confluent_server/confluent/networking/nxapi.py b/confluent_server/confluent/networking/nxapi.py index 9978110c..ebe227c0 100644 --- a/confluent_server/confluent/networking/nxapi.py +++ b/confluent_server/confluent/networking/nxapi.py @@ -2,7 +2,9 @@ import confluent.util as util import time import eventlet -webclient = eventlet.import_patched('pyghmi.util.webclient') +import aiohmi.util.webclient as webclient + + _healthmap = { 'normal': 'ok', diff --git a/confluent_server/confluent/osimage.py b/confluent_server/confluent/osimage.py index adf20034..4790e92f 100644 --- a/confluent_server/confluent/osimage.py +++ b/confluent_server/confluent/osimage.py @@ -1308,7 +1308,7 @@ if __name__ == '__main__': os.umask(0o022) if len(sys.argv) > 2: mfd = os.environ.get('CONFLUENT_MEDIAFD', None) - asyncio.get_event_loop().run_until_complete(import_image(sys.argv[1], callback=printit, backend=True, mfd=mfd, custtargpath=sys.argv[3], custdistpath=sys.argv[4], custname=sys.argv[5])) + asyncio.run(import_image(sys.argv[1], callback=printit, backend=True, mfd=mfd, custtargpath=sys.argv[3], custdistpath=sys.argv[4], custname=sys.argv[5])) else: - asyncio.get_event_loop().run_until_complete(import_image(sys.argv[1], callback=printit)) + asyncio.run(import_image(sys.argv[1], callback=printit)) diff --git a/confluent_server/confluent/plugins/console/openbmc.py b/confluent_server/confluent/plugins/console/openbmc.py index 04f8684c..a4ee9002 100644 --- a/confluent_server/confluent/plugins/console/openbmc.py +++ b/confluent_server/confluent/plugins/console/openbmc.py @@ -30,6 +30,13 @@ import aiohmi.redfish.command as rcmd import aiohmi.util.webclient as webclient import aiohttp +try: + raise Exception('TODO: Migrate to aiohttp websocket') + websocket = eventlet.import_patched('websocket') + wso = websocket.WebSocket +except Exception: + wso = object + class CustomVerifier(aiohttp.Fingerprint): def __init__(self, verifycallback): self._certverify = verifycallback diff --git a/confluent_server/confluent/plugins/console/tsmsol.py b/confluent_server/confluent/plugins/console/tsmsol.py index 55ef4a90..3394977f 100644 --- a/confluent_server/confluent/plugins/console/tsmsol.py +++ b/confluent_server/confluent/plugins/console/tsmsol.py @@ -23,8 +23,8 @@ import confluent.exceptions as cexc import confluent.interface.console as conapi import confluent.log as log import confluent.util as util -import pyghmi.exceptions as pygexc -import pyghmi.redfish.command as rcmd +import aiohmi.exceptions as pygexc +import aiohmi.redfish.command as rcmd import eventlet import eventlet.green.ssl as ssl try: