tests/migration: fix unix socket batch migration
authorHyman <huangy81@chinatelecom.cn>
Wed, 10 Mar 2021 17:29:55 +0000 (01:29 +0800)
committerCleber Rosa <crosa@redhat.com>
Wed, 17 Mar 2021 01:08:37 +0000 (21:08 -0400)
when execute the following test command:
"guestperf-batch.py --dst-host localhost --transport unix ..."
test aborts and error message as the following be throwed:
"launching VM Failed: [Errno 98] Address already in use".

The reason is that batch script use the same monitor socket
in all test cases and do not remove the socket file. The second
migration test will launch vm use the same socket file as
the first, so we get the error message. To fix it, just remove
the socket file each time we have done the migration test.

Signed-off-by: Hyman <huangy81@chinatelecom.cn>
Message-Id: <c3fc438993b87a6ab0bea3d07f6ca0260d29936e.1615397103.git.huangy81@chinatelecom.cn>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Cleber Rosa <crosa@redhat.com>
tests/migration/guestperf/engine.py

index 83bfc3b6bb849ec636c6c8d8dc350cec62695a2c..5189cf96775c74c657e64c9efc7a483352bf7137 100644 (file)
@@ -407,6 +407,13 @@ class Engine(object):
             vcpu_timings = ret[2]
             if uri[0:5] == "unix:":
                 os.remove(uri[5:])
+
+            if os.path.exists(srcmonaddr):
+                os.remove(srcmonaddr)
+
+            if self._dst_host == "localhost" and os.path.exists(dstmonaddr):
+                os.remove(dstmonaddr)
+
             if self._verbose:
                 print("Finished migration")