mirror of
https://github.com/xcat2/confluent.git
synced 2026-09-05 04:27:56 +00:00
8521c6ad4b
bmc.py, serversession.py, fakebmc.py and virshbmc.py were byte identical to upstream pyghmi: the async port went through the session layer beneath them and left the server side alone. So every response created a coroutine and dropped it, and the overrides the now async parent awaits returned None. Running fakebmc bound no socket, spun a core, and answered nothing. Everything that sends a response is a coroutine now, and so is the dispatch that reaches it; the hooks a subclass implements stay ordinary functions, so an out of tree Bmc is unaffected unless it overrides the payload handlers. Two things had to leave their constructors, both being coroutines: assigning the server socket, into bind(), which is why listen() is no longer a classmethod, and answering the open session request, into send_open_session_response. Verified against upstream with ipmitool over nine commands, with identical output. SOL is not covered: fakebmc reports the payload disabled on both.