[libvirt] FYI: migration test script for TCK

Daniel P. Berrange berrange at redhat.com
Wed Jun 29 15:10:23 UTC 2011


I just added a new test case to the libvirt TCK for validating QEMU
migration.

  http://libvirt.org/git/?p=libvirt-tck.git;a=commitdiff;h=f74faf2d8c83538dcdba59936e344dfa31bb1f4d

It tests 96 different scenarios for successful migration, made
up of:

 - Three different control/communication methods

     1. Normal
     2. Peer2peer
     3. Peer2peer + tunnelled

 - 8 Different scenarios of persistent vs transient
   guests

     1. Transient running source, no dest
     2. Transient running source, persistent inactive dest
     3. Persistent running source, no dest
     4. Persistent running source, persistent inactive dest
     5. Transient paused source, no dest
     6. Transient paused source, persistent inactive dest
     7. Persistent paused source, no dest
     8. Persistent paused source, persistent inactive dest

 - With each scenario there are upto 4 flag combinations
   affecting persistent/transient state

     1. No flags
     2. UNDEFINE_SOURCE
     3. PERSIST
     4. UNDEFINE_SOURCE|PERSIST

This gives 96 major functional test cases. On each test case we
validate 10 conditions, giving a total of 960 tests results

Since 0.9.2 introduced a migration v3 protocol, full test
coverage also requires validating the different combinations
of libvirt client, source libvirtd and destination libvirtd
protocol support. This implies re-running the overall test
script 8 times

    1. client < 0.9.2, source < 0.9.2, target < 0.9.2
    2. client >= 0.9.2, source < 0.9.2, target < 0.9.2
    3. client < 0.9.2, source >= 0.9.2, target < 0.9.2
    4. client < 0.9.2, source < 0.9.2, target >= 0.9.2
    5. client >= 0.9.2, source >= 0.9.2, target < 0.9.2
    6. client >= 0.9.2, source < 0.9.2, target >= 0.9.2
    7. client < 0.9.2, source >= 0.9.2, target >= 0.9.2
    8. client >= 0.9.2, source >= 0.9.2, target >= 0.9.2

Finally, this is only testing successful migration cases.
We ought to have another test which validates recovery from
a variety of common migration failure scenarios. This would
add another few 1000 test scenarios :-)

NB, in libvirt < 0.9.2 there was a bug with handling the
migration of VMs which were initially PAUSED with p2p
migration which causes failures. libvirt >= 0.9.2 should
have a 100% success rate.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list