Provide full_args() to return all command-line arguments used to start a
vm, some of which are not otherwise visible to QEMUMachine clients. This
is needed by the cpr test, which must start a vm, then pass all qemu
command-line arguments to the cpr-exec monitor call.
Provide reopen_qmp_connection() to reopen a closed monitor connection.
This is needed by cpr, because qemu-exec closes the monitor socket.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
python/qemu/machine/machine.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index 37191f4..60b934d 100644
--- a/python/qemu/machine/machine.py
+++ b/python/qemu/machine/machine.py
@@ -332,6 +332,11 @@ def args(self) -> List[str]:
"""Returns the list of arguments given to the QEMU binary."""
return self._args
+ @property
+ def full_args(self) -> List[str]:
+ """Returns the full list of arguments used to launch QEMU."""
+ return list(self._qemu_full_args)
+
OK
def _pre_launch(self) -> None:
if self._console_set:
self._remove_files.append(self._console_address)
@@ -486,6 +491,15 @@ def _close_qmp_connection(self) -> None:
finally:
self._qmp_connection = None
+ def reopen_qmp_connection(self):
+ self._close_qmp_connection()
+ self._qmp_connection = QEMUMonitorProtocol(
+ self._monitor_address,
+ server=True,
+ nickname=self._name
+ )
+ self._qmp.accept(self._qmp_timer)
+
Unrelated change, please split into a new commit. (Sorry.)
Seems harmless enough, though. Happy to give RB and AB to both if you split the commits.
--js