This patch adds 27 tests for virsh_migrate.
        1) Uni-direction migration with option --persistent.
        2) Uni-direction migration with option --undefinesource.
        3) Uni-direction migration with option --copy-storage-all.
        4) Uni-direction migration with option --copy-storage-inc.
        5) Uni-direction migration with option --change-protection.
        6) Uni-direction migration with option --verbose.
        7) Uni-direction migration with option --timeout.
        8) Uni-direction migration with option --migrateuri.
        9) Uni-direction migration with option --dname.
        10) Uni-direction migration with option --xml.
        11) Uni-direction migration with non-exist domain.
        12) Uni-direction migration without option --domain.
        13) Uni-direction migration with non-exist desturi.
        14) Uni-direction migration without option --desturi.
        15) Uni-direction migration with non-exist migrateuri.
        16) Uni-direction migration with an invalid timeout.
        17) Uni-direction migration with a very short timeout.
        18) Uni-direction offline migration with option --timeout.
        19) Uni-direction migration with an existing dname.
        20) Uni-direction migration with a non-existing xmlfile.
        21) Uni-direction offline migration.
        22) Uni-direction live migration with VM suspend.
        23) Uni-direction offline migration with VM suspend.
        24) Uni-direction live migration with VM shutdown.
        25) Uni-direction offline migration with VM shutdown.
        26) Uni-direction live migration with libvirtd stop.
        27) Uni-direction offline migration with libvirtd stop.

Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
 client/virt/subtests.cfg.sample |  261 ++++++++++++++++++++++++++++-----------
 1 files changed, 188 insertions(+), 73 deletions(-)

diff --git a/client/virt/subtests.cfg.sample b/client/virt/subtests.cfg.sample
index 5b9af12..3d01901 100644
--- a/client/virt/subtests.cfg.sample
+++ b/client/virt/subtests.cfg.sample
@@ -261,6 +261,194 @@ variants:
                 status_error = "yes"
                 libvirtd = "off"
 
+    - virsh_migrate: install setup image_copy unattended_install.cdrom
+        type = virsh_migrate
+        # Migrating non-started VM causes undefined behavior
+        start_vm = yes
+        # Options to pass to virsh migrate command before <domain> <desturi>
+        virsh_migrate_options = "--live --undefinesource --persistent"
+        # Extra options to pass after <domain> <desturi>
+        virsh_migrate_extra = "--timeout 60"
+        # Fully qualified desturi 
(qemu+ssh://other.hostname.example.com/system)
+        # Remember to open ports 49152-49216 on destination and
+        # NAT-based host networking will cause external connectivity-loss
+        # to guest, consider a shared-bridge setup instead.
+        virsh_migrate_desturi = qemu+ssh://DEST_HOSTNAME.EXAMPLE.COM/system
+        # FIXME: Impliment libvirt URI connect user/password
+        # virsh_migrate_destuser = root
+        # virsh_migrate_destpwd = ""
+        virsh_migrate_dest_state = running
+        virsh_migrate_src_state = running
+        virsh_migrate_libvirtd_state = 'on'
+        connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
+        status_error = 'no'
+        virsh_migrate_delay = 60
+        virsh_migrate_back = 'no'
+        variants:
+            - there_and_back:
+                # After migrating, migrate the guest back.
+                virsh_migrate_back = 'yes'
+                # By 'default', use same options and extra with the
+                # virsh_migrate_back_desturi set to the original connect_uri
+                # virsh_migrate_back_options = 'default'
+                # virsh_migrate_back_extra = 'default'
+                # virsh_migrate_back_desturi = 'default'
+            - there_and_back_a_lot:
+                iterations = 100
+                virsh_migrate_back = 'yes'
+                # don't kill anything inbetween iterations, you'll need to
+                # shut it down manually or by including a shutdown test
+                kill_vm = no
+                kill_vm_gracefully = no
+                kill_unresponsive_vms = no
+                # migrate as fast as possible
+                virsh_migrate_delay = 0
+            - there_live:
+                # Uni-direction migration with option --live.
+                virsh_migrate_options = "--live"
+            - there_p2p:
+                # Uni-direction migration with option --p2p.
+                virsh_migrate_options = "--live --p2p"
+            - there_p2p_tunnelled:
+                # Uni-direction migration with option --tunnelled.
+                # --tunnelled should be used with --p2p.
+                virsh_migrate_options = "--live --p2p --tunnelled"
+            - there_direct:
+                # Uni-direction migration with option --direct.
+                virsh_migrate_options = "--live --direct"
+            - there_suspend:
+                # Uni-direction migration with option --suspend.
+                virsh_migrate_options = "--live --suspend"
+                virsh_migrate_dest_state = paused
+            - there_persistent:
+                # Uni-direction migration with option --persistent.
+                virsh_migrate_options = "--live --persistent"
+            - there_undefinesource:
+                # Uni-direction migration with option --undefinesource.
+                virsh_migrate_options = "--live --undefinesource"
+            - there_copy-storage-all:
+                # Uni-direction migration with option --copy-storage-all.
+                virsh_migrate_options = "--live --copy-storage-all"
+                virsh_migrate_extra =
+            - there_copy-storage-inc:
+                # Uni-direction migration with option --copy-storage-inc.
+                virsh_migrate_options = "--live --copy-storage-inc"
+                virsh_migrate_extra =
+            - there_change-protection:
+                # Uni-direction migration with option --change-protection.
+                virsh_migrate_options = "--live --change-protection"
+            - there_verbose:
+                # Uni-direction migration with option --verbose.
+                virsh_migrate_options = "--live --verbose"
+            - there_timeout:
+                # Uni-direction migration with option --timeout.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--timeout 30"
+            - there_timeout_short:
+                # Uni-direction migration with a very short timeout.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--timeout 1"
+                virsh_migrate_dest_state = "paused"
+            - there_migrateuri:
+                # Uni-direction migration with option --migrateuri.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--migrateuri 
PROTO://DEST_HOSTNAME.EXAMPLE.COM:PORT"
+            - there_dname:
+                # Uni-direction migration with option --dname.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--dname xyz"
+            - there_xml:
+                # Uni-direction migration with option --xml.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--xml /tmp/virsh_migrate.xml"
+                virsh_migrate_xml = /tmp/virsh_migrate.xml
+            - there_offline:
+                # Uni-direction offline migration.
+                virsh_migrate_options = ""
+                virsh_migrate_extra = ""
+            - there_vm_suspend_live:
+                # Uni-direction live migration with VM suspend.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = ""
+                virsh_migrate_src_state = paused
+                virsh_migrate_dest_state = paused
+            - there_vm_suspend_offline:
+                # Uni-direction offline migration with VM suspend.
+                virsh_migrate_options = ""
+                virsh_migrate_extra = ""
+                virsh_migrate_src_state = paused
+                virsh_migrate_dest_state = paused
+            - there_vm_shutdown_live:
+                # Uni-direction live migration with VM shutdown.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = ""
+                virsh_migrate_src_state = "shut off"
+                status_error = 'yes'
+            - there_vm_shutdown_offline:
+                # Uni-direction offline migration with VM shutdown.
+                virsh_migrate_options = ""
+                virsh_migrate_extra = ""
+                virsh_migrate_src_state = "shut off"
+                status_error = 'yes'
+            - there_libvirtd_stop:
+                # Uni-direction live migration with libvirtd stop.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = ""
+                virsh_migrate_libvirtd_state = 'off'
+                status_error = 'yes'
+            - there_libvirtd_stop_offline:
+                # Uni-direction offline migration with libvirtd stop.
+                virsh_migrate_options = ""
+                virsh_migrate_extra = ""
+                virsh_migrate_libvirtd_state = 'off'
+                status_error = 'yes'
+            # ERROR
+            - there_domain_nonexist:
+                # Uni-direction migration with non-exist domain.
+                virsh_migrate_options = "--live"
+                vm_ref = xyz
+                status_error = 'yes'
+            - there_domain_missing:
+                # Uni-direction migration without option --domain.
+                virsh_migrate_options = "--live"
+                vm_ref = ""
+                status_error = 'yes'
+            - there_desturi_nonexist:
+                # Uni-direction migration with non-exist desturi.
+                virsh_migrate_options = "--live"
+                dest_uri_ref = xyz
+                status_error = 'yes'
+            - there_desturi_missing:
+                # Uni-direction migration without option --desturi.
+                virsh_migrate_options = "--live"
+                dest_uri_ref = ""
+                status_error = 'yes'
+            - there_migrateuri_nonexist:
+                # Uni-direction migration with non-exist migrateuri.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--migrateuri xyz"
+                status_error = 'yes'
+            - there_timeout_invalid:
+                # Uni-direction migration with an invalid timeout.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--timeout -1"
+                status_error = 'yes'
+            - there_timeout_offline:
+                # Uni-direction offline migration with option --timeout.
+                virsh_migrate_options = ""
+                virsh_migrate_extra = "--timeout 60"
+                status_error = 'yes'
+            - there_dname_exist:
+                # Uni-direction migration with an existing dname.
+                virsh_migrate_options = "--live"
+                # Here, xxx is an existing VM name on destination.
+                virsh_migrate_extra = "--dname xxx"
+                status_error = 'yes'
+            - there_xml_nonexist:
+                # Uni-direction migration with a non-existing xmlfile.
+                virsh_migrate_options = "--live"
+                virsh_migrate_extra = "--xml xyz"
+                status_error = 'yes'
 
     - module_probe:
         type = module_probe
@@ -466,79 +654,6 @@ variants:
                         dd_of = NULL
                         dd_stat = 0
 
-
-    - virsh_migrate: install setup image_copy unattended_install.cdrom
-        type = virsh_migrate
-        # Migrating non-started VM causes undefined behavior
-        start_vm = yes
-        # Options to pass to virsh migrate command before <domain> <desturi>
-        virsh_migrate_options = "--live --undefinesource --persistent"
-        # Extra options to pass after <domain> <desturi>
-        virsh_migrate_extra = "--timeout 60"
-        # Fully qualified desturi 
(qemu+ssh://other.hostname.example.com/system)
-        # Remember to open ports 49152-49216 on destination and
-        # NAT-based host networking will cause external connectivity-loss
-        # to guest, consider a shared-bridge setup instead.
-        virsh_migrate_desturi = qemu+ssh://DEST_HOSTNAME.EXAMPLE.COM/system
-        # FIXME: Impliment libvirt URI connect user/password
-        # virsh_migrate_destuser = root
-        # virsh_migrate_destpwd = ""
-        virsh_migrate_dest_state = running
-        variants:
-            - there_and_back:
-                virsh_migrate_delay = 60
-                # After migrating, migrate the guest back.
-                virsh_migrate_back = 'yes'
-                # By 'default', use same options and extra with the
-                # virsh_migrate_back_desturi set to the original connect_uri
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-                # virsh_migrate_back_options = 'default'
-                # virsh_migrate_back_extra = 'default'
-                # virsh_migrate_back_desturi = 'default'
-            - there_and_back_a_lot:
-                iterations = 100
-                virsh_migrate_back = 'yes'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-                # don't kill anything inbetween iterations, you'll need to
-                # shut it down manually or by including a shutdown test
-                kill_vm = no
-                kill_vm_gracefully = no
-                kill_unresponsive_vms = no
-                # migrate as fast as possible
-                virsh_migrate_delay = 0
-            - there_live:
-                # Uni-direction migration with option --live.
-                virsh_migrate_options = "--live"
-                virsh_migrate_delay = 60
-                virsh_migrate_back = 'no'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-            - there_p2p:
-                # Uni-direction migration with option --p2p.
-                virsh_migrate_options = "--live --p2p"
-                virsh_migrate_delay = 60
-                virsh_migrate_back = 'no'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-            - there_p2p_tunnelled:
-                # Uni-direction migration with option --tunnelled.
-                # --tunnelled should be used with --p2p.
-                virsh_migrate_options = "--live --p2p --tunnelled"
-                virsh_migrate_delay = 60
-                virsh_migrate_back = 'no'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-            - there_direct:
-                # Uni-direction migration with option --direct.
-                virsh_migrate_options = "--live --direct"
-                virsh_migrate_delay = 60
-                virsh_migrate_back = 'no'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-            - there_suspend:
-                # Uni-direction migration with option --suspend.
-                virsh_migrate_options = "--live --suspend"
-                virsh_migrate_delay = 60
-                virsh_migrate_back = 'no'
-                connect_uri = qemu+ssh://SOURCE_HOSTNAME.EXAMPLE.COM/system
-                virsh_migrate_dest_state = paused
-
     - migrate: install setup image_copy unattended_install.cdrom
         type = migration
         migration_test_command = help
-- 
1.7.1

_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to