[Spice-devel] [spice v1 8/8] tests: migrate: add seamless-migration option
Uri Lublin
uril at redhat.com
Wed Oct 30 16:52:04 UTC 2019
On 10/7/19 3:19 PM, Victor Toso wrote:
> From: Victor Toso <me at victortoso.com>
>
> Now we always add seamless-migration option to qemu command line and
> disabled (off) by default although seamless migration is supported for
> over 7 years already!
If it's not a seemless migration the client disconnects.
I think you should further modify the script if you want to test this case.
Uri.
>
> Signed-off-by: Victor Toso <victortoso at redhat.com>
> ---
> tests/migrate.py | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/tests/migrate.py b/tests/migrate.py
> index a9a2c1cb..3dcbc9f1 100755
> --- a/tests/migrate.py
> +++ b/tests/migrate.py
> @@ -69,6 +69,8 @@ def get_args():
> help="Wait spice client to connect to move to next step of migration (default False)")
> parser.add_argument('--count', dest='counter', type=int, default=100,
> help="Number of migrations to run (set 0 for infinite)")
> + parser.add_argument('--seamless-migration', dest="seamless_migration", action='store_true', default=False,
> + help="Enable seamless-migration support")
> args = parser.parse_args(sys.argv[1:])
> if os.path.exists(args.qemu):
> args.qemu_exec = args.qemu
> @@ -79,11 +81,12 @@ def get_args():
> sys.exit(1)
> return args
>
> -def start_qemu(qemu_exec, image, spice_port, qmp_filename, incoming_port=None, with_agent=False):
> +def start_qemu(qemu_exec, seamless_migration, image, spice_port, qmp_filename, incoming_port=None, with_agent=False):
> + seamless_option = "on" if seamless_migration else "off"
> args = [
> qemu_exec,
> "-qmp", "unix:%s,server,nowait" % qmp_filename,
> - "-spice", "disable-ticketing,port=%s" % spice_port
> + "-spice", "seamless-migration=%s,disable-ticketing,port=%s" % (seamless_option, spice_port)
> ]
> if incoming_port:
> args += ("-incoming tcp::%s" % incoming_port).split()
> @@ -153,7 +156,7 @@ class Migrator(object):
> migration_count = 0
>
> def __init__(self, log, client, qemu_exec, image, monitor_files,
> - spice_ports, migration_port, vdagent, hostname):
> + spice_ports, migration_port, vdagent, hostname, seamless_migration):
> self.client = client if client != "none" else None
> self.log = log
> self.qemu_exec = qemu_exec
> @@ -163,16 +166,19 @@ class Migrator(object):
> self.spice_ports = spice_ports
> self.vdagent = vdagent
> self.hostname = hostname
> + self.seamless_migration = seamless_migration
>
> self.active = start_qemu(qemu_exec = qemu_exec,
> image = image,
> spice_port = spice_ports[0],
> qmp_filename = monitor_files[0],
> + seamless_migration = self.seamless_migration,
> with_agent = self.vdagent)
> self.target = start_qemu(qemu_exec = qemu_exec,
> image = image,
> spice_port = spice_ports[1],
> qmp_filename = monitor_files[1],
> + seamless_migration = self.seamless_migration,
> with_agent = self.vdagent,
> incoming_port = migration_port)
> self.remove_monitor_files()
> @@ -235,6 +241,7 @@ class Migrator(object):
> del dead
> self.active = self.target
> self.target = start_qemu(spice_port = new_spice_port,
> + seamless_migration = self.seamless_migration,
> qemu_exec = self.qemu_exec,
> image = self.image,
> qmp_filename = new_qmp_filename,
> @@ -256,6 +263,7 @@ def main():
> migration_port = args.migrate_port,
> spice_ports = [args.spice_port1, args.spice_port2],
> vdagent = args.vdagent,
> + seamless_migration = args.seamless_migration,
> hostname = args.hostname)
> atexit.register(cleanup, migrator)
> counter = 0
>
More information about the Spice-devel
mailing list