Re: [spice v1 8/8] tests: migrate: add seamless-migration option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/7/19 3:19 PM, Victor Toso wrote:
From: Victor Toso <me@xxxxxxxxxxxxxx>

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@xxxxxxxxxx>
---
  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


_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]