On Thu, Jul 20, 2023 at 10:05 AM Daniel P. Berrangé <berra...@redhat.com> wrote:
>
> On Thu, Jul 20, 2023 at 09:04:48AM -0400, John Snow wrote:
> > By using a socketpair for the console, we don't need the sock_dir
> > argument for the base class anymore, remove it.
> >
> > The qtest subclass still uses the argument for the qtest socket for now.
> >
> > Signed-off-by: John Snow <js...@redhat.com>
> > ---
> >  python/qemu/machine/machine.py             | 18 ------------------
> >  python/qemu/machine/qtest.py               |  6 +++---
> >  tests/qemu-iotests/tests/copy-before-write |  3 +--
> >  3 files changed, 4 insertions(+), 23 deletions(-)
>
> A couple of callers to be updated to remove 'sock_dir=':
>
> $ git grep 'sock_dir=' tests
> tests/avocado/acpi-bits.py:                         sock_dir=sock_dir, 
> qmp_timer=qmp_timer)
> tests/avocado/avocado_qemu/__init__.py:                         
> sock_dir=self._sd.name, log_dir=self.logdir)
> tests/qemu-iotests/iotests.py:                         sock_dir=sock_dir, 
> qmp_timer=timer)
> tests/qemu-iotests/tests/copy-before-write:                              
> sock_dir=iotests.sock_dir)
>
> presume the avocado_qemu/__init__.py one is what caused the
> failure Peter reported.
>

Yep, missed a spot, sorry :( I tested avocado after patch 3 but not here.

While I'm at it, though, I am testing the same treatment for the qtest
extension and just removing sock_dir from *everything*, since we don't
need that workaround anymore if we aren't creating named sockets.

...And if I get rid of *that*, I can get rid of some other temp
directory management stuff too.

> >
> > diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
> > index ef9b2dc02e..350aa8bb26 100644
> > --- a/python/qemu/machine/machine.py
> > +++ b/python/qemu/machine/machine.py
> > @@ -127,7 +127,6 @@ def __init__(self,
> >                   name: Optional[str] = None,
> >                   base_temp_dir: str = "/var/tmp",
> >                   monitor_address: Optional[SocketAddrT] = None,
> > -                 sock_dir: Optional[str] = None,
> >                   drain_console: bool = False,
> >                   console_log: Optional[str] = None,
> >                   log_dir: Optional[str] = None,
> > @@ -141,7 +140,6 @@ def __init__(self,
> >          @param name: prefix for socket and log file names (default: 
> > qemu-PID)
> >          @param base_temp_dir: default location where temp files are created
> >          @param monitor_address: address for QMP monitor
> > -        @param sock_dir: where to create socket (defaults to base_temp_dir)
> >          @param drain_console: (optional) True to drain console socket to 
> > buffer
> >          @param console_log: (optional) path to console log file
> >          @param log_dir: where to create and keep log files
> > @@ -163,7 +161,6 @@ def __init__(self,
> >              Tuple[socket.socket, socket.socket]] = None
> >          self._temp_dir: Optional[str] = None
> >          self._base_temp_dir = base_temp_dir
> > -        self._sock_dir = sock_dir
> >          self._log_dir = log_dir
> >
> >          self._monitor_address = monitor_address
> > @@ -189,9 +186,6 @@ def __init__(self,
> >          self._console_index = 0
> >          self._console_set = False
> >          self._console_device_type: Optional[str] = None
> > -        self._console_address = os.path.join(
> > -            self.sock_dir, f"{self._name}.con"
> > -        )
> >          self._console_socket: Optional[socket.socket] = None
> >          self._remove_files: List[str] = []
> >          self._user_killed = False
> > @@ -334,9 +328,6 @@ def args(self) -> List[str]:
> >          return self._args
> >
> >      def _pre_launch(self) -> None:
> > -        if self._console_set:
> > -            self._remove_files.append(self._console_address)
> > -
> >          if self._qmp_set:
> >              if self._monitor_address is None:
> >                  self._sock_pair = socket.socketpair()
> > @@ -900,15 +891,6 @@ def temp_dir(self) -> str:
> >                                                dir=self._base_temp_dir)
> >          return self._temp_dir
> >
> > -    @property
> > -    def sock_dir(self) -> str:
> > -        """
> > -        Returns the directory used for sockfiles by this machine.
> > -        """
> > -        if self._sock_dir:
> > -            return self._sock_dir
> > -        return self.temp_dir
> > -
> >      @property
> >      def log_dir(self) -> str:
> >          """
> > diff --git a/python/qemu/machine/qtest.py b/python/qemu/machine/qtest.py
> > index 1c46138bd0..22f8045ef6 100644
> > --- a/python/qemu/machine/qtest.py
> > +++ b/python/qemu/machine/qtest.py
> > @@ -115,8 +115,8 @@ def __init__(self,
> >                   wrapper: Sequence[str] = (),
> >                   name: Optional[str] = None,
> >                   base_temp_dir: str = "/var/tmp",
> > -                 sock_dir: Optional[str] = None,
> > -                 qmp_timer: Optional[float] = None):
> > +                 qmp_timer: Optional[float] = None,
> > +                 sock_dir: Optional[str] = None):
> >          # pylint: disable=too-many-arguments
> >
> >          if name is None:
> > @@ -125,7 +125,7 @@ def __init__(self,
> >              sock_dir = base_temp_dir
> >          super().__init__(binary, args, wrapper=wrapper, name=name,
> >                           base_temp_dir=base_temp_dir,
> > -                         sock_dir=sock_dir, qmp_timer=qmp_timer)
> > +                         qmp_timer=qmp_timer)
> >          self._qtest: Optional[QEMUQtestProtocol] = None
> >          self._qtest_path = os.path.join(sock_dir, name + "-qtest.sock")
> >
> > diff --git a/tests/qemu-iotests/tests/copy-before-write 
> > b/tests/qemu-iotests/tests/copy-before-write
> > index 2ffe092b31..d3987db942 100755
> > --- a/tests/qemu-iotests/tests/copy-before-write
> > +++ b/tests/qemu-iotests/tests/copy-before-write
> > @@ -44,8 +44,7 @@ class TestCbwError(iotests.QMPTestCase):
> >
> >          opts = ['-nodefaults', '-display', 'none', '-machine', 'none']
> >          self.vm = QEMUMachine(iotests.qemu_prog, opts,
> > -                              base_temp_dir=iotests.test_dir,
> > -                              sock_dir=iotests.sock_dir)
> > +                              base_temp_dir=iotests.test_dir)
> >          self.vm.launch()
> >
> >      def do_cbw_error(self, on_cbw_error):
> > --
> > 2.41.0
> >
>
> With regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
>


Reply via email to