[Spice-devel] [spice/tests/migrate v1 4/4] tests: migrate: fix migration with --vdagent option
Uri Lublin
uril at redhat.com
Thu Oct 3 12:54:20 UTC 2019
On 10/3/19 1:14 PM, Victor Toso wrote:
> From: Victor Toso <me at victortoso.com>
>
> Before this patch, running the test with --vdagent option would error
> in the second migration attempt with:
>
> | qemu-system-x86_64: Unknown savevm section or instance
> | '0000:00:04.0/virtio-console' 0. Make sure that your current VM setup
> | matches your saved VM setup, including any hotplugged devices
>
> The reason is that target host created for migration was lacking the
> configuration for vdagent that is present in the first source/target
> migration VMs.
>
> Signed-off-by: Victor Toso <victortoso at redhat.com>
Looks good to me.
Uri.
> ---
> tests/migrate.py | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/tests/migrate.py b/tests/migrate.py
> index 9afeb59c..5f0f13a2 100755
> --- a/tests/migrate.py
> +++ b/tests/migrate.py
> @@ -77,10 +77,17 @@ def get_args():
> sys.exit(1)
> return args
>
> -def start_qemu(qemu_exec, image, spice_port, qmp_filename, incoming_port=None, extra_args=[]):
> +def start_qemu(qemu_exec, image, spice_port, qmp_filename, incoming_port=None, with_agent=False):
> incoming_args = []
> if incoming_port:
> incoming_args = ("-incoming tcp::%s" % incoming_port).split()
> +
> + extra_args = []
> + if with_agent:
> + extra_args = ['-device', 'virtio-serial',
> + '-chardev', 'spicevmc,name=vdagent,id=vdagent',
> + '-device', 'virtserialport,chardev=vdagent,name=com.redhat.spice.0']
> +
> args = ([qemu_exec, "-qmp", "unix:%s,server,nowait" % qmp_filename,
> "-spice", "disable-ticketing,port=%s" % spice_port]
> + incoming_args + extra_args)
> @@ -147,13 +154,12 @@ class Migrator(object):
> self.monitor_files = monitor_files
> self.spice_ports = spice_ports
> self.vdagent = vdagent
> - extra_args = []
> - if self.vdagent:
> - extra_args = ['-device', 'virtio-serial', '-chardev', 'spicevmc,name=vdagent,id=vdagent', '-device', 'virtserialport,chardev=vdagent,name=com.redhat.spice.0']
> +
> self.active = start_qemu(qemu_exec=qemu_exec, image=image, spice_port=spice_ports[0],
> - qmp_filename=monitor_files[0], extra_args=extra_args)
> + qmp_filename=monitor_files[0], with_agent=self.vdagent)
> self.target = start_qemu(qemu_exec=qemu_exec, image=image, spice_port=spice_ports[1],
> - qmp_filename=monitor_files[1], incoming_port=migration_port)
> + qmp_filename=monitor_files[1], with_agent=self.vdagent,
> + incoming_port=migration_port)
> self.remove_monitor_files()
> self.connected_client = None
>
> @@ -209,6 +215,7 @@ class Migrator(object):
> self.target = start_qemu(spice_port=new_spice_port,
> qemu_exec=self.qemu_exec, image=self.image,
> qmp_filename=new_qmp_filename,
> + with_agent=self.vdagent,
> incoming_port=self.migration_port)
> print self.migration_count
> self.migration_count += 1
>
More information about the Spice-devel
mailing list