qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 07/25] python/qmp: switch qemu-ga-client to AQMP


From: Beraldo Leal
Subject: Re: [PATCH v2 07/25] python/qmp: switch qemu-ga-client to AQMP
Date: Thu, 16 Dec 2021 10:21:13 -0300

On Wed, Dec 15, 2021 at 02:39:21PM -0500, John Snow wrote:
> 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':

>From the Python PoV, LGTM:

Reviewed-by: Beraldo Leal <bleal@redhat.com>

--
Beraldo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]