Loading src/balloon.py +11 −2 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ import time from typing import Any, Deque, Dict, Optional, Tuple, cast from qemu.qmp import QMPClient from qemu.qmp.protocol import StateError log = logging.getLogger(__name__) Loading Loading @@ -677,7 +678,9 @@ class BalloonMonitor: try: await self._update_balloon() except Exception as e: if isinstance(e, (ConnectionError, BrokenPipeError, OSError)): if isinstance(e, (ConnectionError, BrokenPipeError, OSError, StateError)): if self._stop.is_set(): break log.warning("QMP connection lost: %s. Reconnecting...", e) await self._qmp_reconnect() else: Loading @@ -692,7 +695,13 @@ class BalloonMonitor: if self.event_task: self.event_task.cancel() if self.qmp: qmp_logger = logging.getLogger("qemu.qmp") prev_level = qmp_logger.level qmp_logger.setLevel(logging.WARNING) try: await self.qmp.disconnect() finally: qmp_logger.setLevel(prev_level) # ========================================================== # Main Execution Loading Loading
src/balloon.py +11 −2 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ import time from typing import Any, Deque, Dict, Optional, Tuple, cast from qemu.qmp import QMPClient from qemu.qmp.protocol import StateError log = logging.getLogger(__name__) Loading Loading @@ -677,7 +678,9 @@ class BalloonMonitor: try: await self._update_balloon() except Exception as e: if isinstance(e, (ConnectionError, BrokenPipeError, OSError)): if isinstance(e, (ConnectionError, BrokenPipeError, OSError, StateError)): if self._stop.is_set(): break log.warning("QMP connection lost: %s. Reconnecting...", e) await self._qmp_reconnect() else: Loading @@ -692,7 +695,13 @@ class BalloonMonitor: if self.event_task: self.event_task.cancel() if self.qmp: qmp_logger = logging.getLogger("qemu.qmp") prev_level = qmp_logger.level qmp_logger.setLevel(logging.WARNING) try: await self.qmp.disconnect() finally: qmp_logger.setLevel(prev_level) # ========================================================== # Main Execution Loading