[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 06/23] python/qmp: switch qemu-ga-client to AQMP
From: |
John Snow |
Subject: |
[PATCH 06/23] python/qmp: switch qemu-ga-client to AQMP |
Date: |
Wed, 24 Nov 2021 14:26:00 -0500 |
Signed-off-by: John Snow <jsnow@redhat.com>
---
python/qemu/qmp/qemu_ga_client.py | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/python/qemu/qmp/qemu_ga_client.py
b/python/qemu/qmp/qemu_ga_client.py
index b3e1d98c9e..15ed430c61 100644
--- a/python/qemu/qmp/qemu_ga_client.py
+++ b/python/qemu/qmp/qemu_ga_client.py
@@ -37,8 +37,8 @@
# the COPYING file in the top-level directory.
import argparse
+import asyncio
import base64
-import errno
import os
import random
import sys
@@ -50,8 +50,8 @@
Sequence,
)
-from qemu import qmp
-from qemu.qmp import SocketAddrT
+from qemu.aqmp import ConnectError, SocketAddrT
+from qemu.aqmp.legacy import QEMUMonitorProtocol
# This script has not seen many patches or careful attention in quite
@@ -61,7 +61,7 @@
# pylint: disable=missing-docstring
-class QemuGuestAgent(qmp.QEMUMonitorProtocol):
+class QemuGuestAgent(QEMUMonitorProtocol):
def __getattr__(self, name: str) -> Callable[..., Any]:
def wrapper(**kwds: object) -> object:
return self.command('guest-' + name.replace('_', '-'), **kwds)
@@ -149,7 +149,7 @@ def ping(self, timeout: Optional[float]) -> bool:
self.qga.settimeout(timeout)
try:
self.qga.ping()
- except TimeoutError:
+ except asyncio.TimeoutError:
return False
return True
@@ -172,7 +172,7 @@ def suspend(self, mode: str) -> None:
try:
getattr(self.qga, 'suspend' + '_' + mode)()
# On error exception will raise
- except TimeoutError:
+ except asyncio.TimeoutError:
# On success command will timed out
return
@@ -182,7 +182,7 @@ def shutdown(self, mode: str = 'powerdown') -> None:
try:
self.qga.shutdown(mode=mode)
- except TimeoutError:
+ except asyncio.TimeoutError:
pass
@@ -277,7 +277,7 @@ def _cmd_reboot(client: QemuGuestAgentClient, args:
Sequence[str]) -> None:
def send_command(address: str, cmd: str, args: Sequence[str]) -> None:
if not os.path.exists(address):
- print('%s not found' % address)
+ print(f"'{address}' not found. (Is QEMU running?)")
sys.exit(1)
if cmd not in commands:
@@ -287,10 +287,10 @@ def send_command(address: str, cmd: str, args:
Sequence[str]) -> None:
try:
client = QemuGuestAgentClient(address)
- except OSError as err:
+ except ConnectError as err:
print(err)
- if err.errno == errno.ECONNREFUSED:
- print('Hint: qemu is not running?')
+ if isinstance(err.exc, ConnectionError):
+ print('(Is QEMU running?)')
sys.exit(1)
if cmd == 'fsfreeze' and args[0] == 'freeze':
--
2.31.1
- [PATCH 00/23] Python: delete qemu.qmp package, John Snow, 2021/11/24
- [PATCH 04/23] python/aqmp: add SocketAddrT to package root, John Snow, 2021/11/24
- [PATCH 05/23] python/qemu-ga-client: update instructions to newer CLI syntax, John Snow, 2021/11/24
- [PATCH 01/23] python/aqmp: add __del__ method to legacy interface, John Snow, 2021/11/24
- [PATCH 08/23] python/qmp: switch qmp-shell to AQMP, John Snow, 2021/11/24
- [PATCH 10/23] python: move qmp-shell under the AQMP package, John Snow, 2021/11/24
- [PATCH 13/23] scripts/cpu-x86-uarch-abi: switch to AQMP, John Snow, 2021/11/24
- [PATCH 02/23] python/aqmp: handle asyncio.TimeoutError on execute(), John Snow, 2021/11/24
- [PATCH 03/23] python/aqmp: copy type definitions from qmp, John Snow, 2021/11/24
- [PATCH 06/23] python/qmp: switch qemu-ga-client to AQMP,
John Snow <=
- [PATCH 07/23] python/qmp: switch qom tools to AQMP, John Snow, 2021/11/24
- [PATCH 09/23] python: move qmp utilities to python/qemu/utils, John Snow, 2021/11/24
- [PATCH 14/23] scripts/render-block-graph: switch to AQMP, John Snow, 2021/11/24
- [PATCH 11/23] python/machine: permanently switch to AQMP, John Snow, 2021/11/24
- [PATCH 12/23] scripts/cpu-x86-uarch-abi: fix CLI parsing, John Snow, 2021/11/24
- [PATCH 17/23] iotests: switch to AQMP, John Snow, 2021/11/24
- [PATCH 19/23] python/aqmp: take QMPBadPortError and parse_address from qemu.qmp, John Snow, 2021/11/24
- [PATCH 15/23] scripts/bench-block-job: switch to AQMP, John Snow, 2021/11/24
- [PATCH 18/23] python: temporarily silence pylint duplicate-code warnings, John Snow, 2021/11/24
- [PATCH 21/23] python/aqmp: copy qmp docstrings to qemu.aqmp.legacy, John Snow, 2021/11/24