Skip to content

Commit

Permalink
python/machine: remove unused sock_dir argument
Browse files Browse the repository at this point in the history
By using a socketpair for all of the sockets managed by the VM class and
its extensions, we don't need the sock_dir argument anymore, so remove
it.

We only added this argument so that we could specify a second, shorter
temporary directory for cases where the temp/log dirs were "too long" as
a socket name on macOS. We don't need it for this class now. In one
case, avocado testing takes over responsibility for creating an
appropriate sockdir.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20230928044943.849073-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
  • Loading branch information
jnsnow committed Oct 11, 2023
1 parent d396737 commit 46d4747
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 31 deletions.
18 changes: 0 additions & 18 deletions python/qemu/machine/machine.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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._console_file: Optional[socket.SocketIO] = None
self._remove_files: List[str] = []
Expand Down Expand Up @@ -335,9 +329,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()
Expand Down Expand Up @@ -937,15 +928,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:
"""
Expand Down
5 changes: 1 addition & 4 deletions python/qemu/machine/qtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,17 +135,14 @@ 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):
# pylint: disable=too-many-arguments

if name is None:
name = "qemu-%d" % os.getpid()
if sock_dir is None:
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_sock_pair: Optional[
Tuple[socket.socket, socket.socket]] = None
Expand Down
5 changes: 1 addition & 4 deletions tests/avocado/acpi-bits.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,14 @@ def __init__(self,
base_temp_dir: str = "/var/tmp",
debugcon_log: str = "debugcon-log.txt",
debugcon_addr: str = "0x403",
sock_dir: Optional[str] = None,
qmp_timer: Optional[float] = None):
# pylint: disable=too-many-arguments

if name is None:
name = "qemu-bits-%d" % os.getpid()
if sock_dir is None:
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.debugcon_log = debugcon_log
self.debugcon_addr = debugcon_addr
self.base_temp_dir = base_temp_dir
Expand Down
2 changes: 1 addition & 1 deletion tests/avocado/avocado_qemu/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ def require_multiprocess(self):
def _new_vm(self, name, *args):
self._sd = tempfile.TemporaryDirectory(prefix="qemu_")
vm = QEMUMachine(self.qemu_bin, base_temp_dir=self.workdir,
sock_dir=self._sd.name, log_dir=self.logdir)
log_dir=self.logdir)
self.log.debug('QEMUMachine "%s" created', name)
self.log.debug('QEMUMachine "%s" temp_dir: %s', name, vm.temp_dir)
self.log.debug('QEMUMachine "%s" log_dir: %s', name, vm.log_dir)
Expand Down
5 changes: 4 additions & 1 deletion tests/avocado/machine_aspeed.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,10 @@ def test_arm_ast2600_evb_buildroot_tpm(self):
image_path = self.fetch_asset(image_url, asset_hash=image_hash,
algorithm='sha256')

socket = os.path.join(self.vm.sock_dir, 'swtpm-socket')
# force creation of VM object, which also defines self._sd
vm = self.vm

socket = os.path.join(self._sd.name, 'swtpm-socket')

subprocess.run(['swtpm', 'socket', '-d', '--tpm2',
'--tpmstate', f'dir={self.vm.temp_dir}',
Expand Down
2 changes: 1 addition & 1 deletion tests/qemu-iotests/iotests.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ def __init__(self, path_suffix=''):
super().__init__(qemu_prog, qemu_opts, wrapper=wrapper,
name=name,
base_temp_dir=test_dir,
sock_dir=sock_dir, qmp_timer=timer)
qmp_timer=timer)
self._num_drives = 0

def _post_shutdown(self) -> None:
Expand Down
3 changes: 1 addition & 2 deletions tests/qemu-iotests/tests/copy-before-write
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit 46d4747

Please sign in to comment.