Before it was only ever setup during create(). As soon as a vm object was started from scratch, it never got created. Also removed libvirt_vm.VM.only_pty to always use virsh console which should be more reliable and still support all types. Added a fixme in create() -> add_serial() to investigate older libvirt additional serial addition at install.
Signed-off-by: Chris Evich <[email protected]> --- virttest/libvirt_vm.py | 28 ++++++++++++---------------- 1 files changed, 12 insertions(+), 16 deletions(-) diff --git a/virttest/libvirt_vm.py b/virttest/libvirt_vm.py index d8c5eb4..5ff7aa4 100644 --- a/virttest/libvirt_vm.py +++ b/virttest/libvirt_vm.py @@ -140,7 +140,6 @@ class VM(virt_vm.BaseVM): self.device_id = [] self.pci_devices = [] self.uuid = None - self.only_pty = False self.spice_port = 8000 self.name = name @@ -493,8 +492,7 @@ class VM(virt_vm.BaseVM): if has_option(help_text, "serial"): return " --serial file,path=%s --serial pty" % filename else: - self.only_pty = True - return "" + return "" # FIXME: Add additional serial ports on old libvirt? def add_kernel_cmdline(help_text, cmdline): return " -append %s" % cmdline @@ -804,6 +802,14 @@ class VM(virt_vm.BaseVM): return virt_install_cmd + def setup_serial_console(self): + self.serial_console = aexpect.ShellSession( + "virsh console %s" % self.name, + auto_close=False, + output_func=utils_misc.log_line, + output_params=("serial-%s.log" % self.name,)) + + @error.context_aware def create(self, name=None, params=None, root_dir=None, timeout=5.0, migration_mode=None, mac_source=None): @@ -971,19 +977,7 @@ class VM(virt_vm.BaseVM): uri=self.connect_uri).stdout.strip() # Establish a session with the serial console - if self.only_pty == True: - self.serial_console = aexpect.ShellSession( - "virsh console %s" % self.name, - auto_close=False, - output_func=utils_misc.log_line, - output_params=("serial-%s.log" % name,)) - else: - self.serial_console = aexpect.ShellSession( - "tail -f %s" % self.get_serial_console_filename(), - auto_close=False, - output_func=utils_misc.log_line, - output_params=("serial-%s.log" % name,)) - + self.setup_serial_console() finally: fcntl.lockf(lockfile, fcntl.LOCK_UN) lockfile.close() @@ -1300,6 +1294,8 @@ class VM(virt_vm.BaseVM): "active after start") self.uuid = virsh.domuuid(self.name, uri=self.connect_uri).stdout.strip() + # Establish a session with the serial console + self.setup_serial_console() else: raise virt_vm.VMStartError(self.name, "libvirt domain failed " "to start") -- 1.7.1 _______________________________________________ Virt-test-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-test-devel
