| Index: client/tests/kvm/migration_control.srv
 | 
| diff --git a/client/tests/kvm/migration_control.srv b/client/tests/kvm/migration_control.srv
 | 
| deleted file mode 100644
 | 
| index 16ada361d07102b0afc3684d2e2423e4feca617a..0000000000000000000000000000000000000000
 | 
| --- a/client/tests/kvm/migration_control.srv
 | 
| +++ /dev/null
 | 
| @@ -1,122 +0,0 @@
 | 
| -AUTHOR = "Yolkfull Chow <yzhou@redhat.com>"
 | 
| -TIME = "SHORT"
 | 
| -NAME = "Migration across multiple hosts"
 | 
| -TEST_CATEGORY = "Functional"
 | 
| -TEST_CLASS = "Virtualization"
 | 
| -TEST_TYPE = "Server"
 | 
| -DOC = """
 | 
| -Migrate KVM guest between two hosts. It parses the base config file, restricts
 | 
| -it with appropriate parameters, generates the test dicts, modify the test_dicts
 | 
| -so there's a distinction between the migration roles ('dest' or 'source').
 | 
| -"""
 | 
| -
 | 
| -import sys, os, commands, glob, shutil, logging, random
 | 
| -from autotest_lib.server import utils
 | 
| -
 | 
| -# Specify the directory of autotest before you start this test
 | 
| -AUTOTEST_DIR = '/usr/local/autotest'
 | 
| -
 | 
| -# Specify the root directory that on client machines
 | 
| -rootdir = '/tmp/kvm_autotest_root'
 | 
| -
 | 
| -# Make possible to import the KVM test APIs
 | 
| -KVM_DIR = os.path.join(AUTOTEST_DIR, 'client/tests/kvm')
 | 
| -sys.path.append(KVM_DIR)
 | 
| -
 | 
| -import common, kvm_config
 | 
| -
 | 
| -def generate_mac_address():
 | 
| -    r = random.SystemRandom()
 | 
| -    mac = "9a:%02x:%02x:%02x:%02x:%02x" % (r.randint(0x00, 0xff),
 | 
| -                                           r.randint(0x00, 0xff),
 | 
| -                                           r.randint(0x00, 0xff),
 | 
| -                                           r.randint(0x00, 0xff),
 | 
| -                                           r.randint(0x00, 0xff))
 | 
| -    return mac
 | 
| -
 | 
| -
 | 
| -def run(pair):
 | 
| -    logging.info("KVM migration running on source host [%s] and destination "
 | 
| -                 "host [%s]\n", pair[0], pair[1])
 | 
| -
 | 
| -    source = hosts.create_host(pair[0])
 | 
| -    dest = hosts.create_host(pair[1])
 | 
| -    source_at = autotest.Autotest(source)
 | 
| -    dest_at = autotest.Autotest(dest)
 | 
| -
 | 
| -    cfg_file = os.path.join(KVM_DIR, "tests_base.cfg")
 | 
| -
 | 
| -    if not os.path.exists(cfg_file):
 | 
| -        raise error.JobError("Config file %s was not found", cfg_file)
 | 
| -
 | 
| -    # Get test set (dictionary list) from the configuration file
 | 
| -    cfg = kvm_config.config()
 | 
| -    test_variants = """
 | 
| -image_name(_.*)? ?<= /tmp/kvm_autotest_root/images/
 | 
| -cdrom(_.*)? ?<= /tmp/kvm_autotest_root/
 | 
| -floppy ?<= /tmp/kvm_autotest_root/
 | 
| -Linux:
 | 
| -    unattended_install:
 | 
| -        kernel ?<= /tmp/kvm_autotest_root/
 | 
| -        initrd ?<= /tmp/kvm_autotest_root/
 | 
| -qemu_binary = /usr/libexec/qemu-kvm
 | 
| -qemu_img_binary = /usr/bin/qemu-img
 | 
| -only qcow2
 | 
| -only virtio_net
 | 
| -only virtio_blk
 | 
| -only smp2
 | 
| -only no_pci_assignable
 | 
| -only smallpages
 | 
| -only Fedora.13.64
 | 
| -only migrate_multi_host
 | 
| -nic_mode = tap
 | 
| -nic_mac_nic1 = %s
 | 
| -""" % (generate_mac_address())
 | 
| -    cfg.fork_and_parse(cfg_file, test_variants)
 | 
| -    test_dicts = cfg.get_list()
 | 
| -
 | 
| -    source_control_file = dest_control_file = """
 | 
| -kvm_test_dir = os.path.join(os.environ['AUTODIR'],'tests/kvm')
 | 
| -sys.path.append(kvm_test_dir)\n
 | 
| -"""
 | 
| -    for params in test_dicts:
 | 
| -        params['srchost'] = source.ip
 | 
| -        params['dsthost'] = dest.ip
 | 
| -        params['rootdir'] = rootdir
 | 
| -
 | 
| -        source_params = params.copy()
 | 
| -        source_params['role'] = "source"
 | 
| -
 | 
| -        dest_params = params.copy()
 | 
| -        dest_params['role'] = "destination"
 | 
| -        dest_params['migration_mode'] = "tcp"
 | 
| -
 | 
| -        # Report the parameters we've received
 | 
| -        print "Test parameters:"
 | 
| -        keys = params.keys()
 | 
| -        keys.sort()
 | 
| -        for key in keys:
 | 
| -            logging.debug("    %s = %s", key, params[key])
 | 
| -
 | 
| -        source_control_file += "job.run_test('kvm', tag='%s', params=%s)" % (source_params['shortname'], source_params)
 | 
| -        dest_control_file += "job.run_test('kvm', tag='%s', params=%s)" % (dest_params['shortname'], dest_params)
 | 
| -
 | 
| -        logging.info('Source control file:\n%s', source_control_file)
 | 
| -        logging.info('Destination control file:\n%s', dest_control_file)
 | 
| -        dest_command = subcommand(dest_at.run,
 | 
| -                                  [dest_control_file, dest.hostname])
 | 
| -
 | 
| -        source_command = subcommand(source_at.run,
 | 
| -                                    [source_control_file, source.hostname])
 | 
| -
 | 
| -        parallel([dest_command, source_command])
 | 
| -
 | 
| -# Grab the pairs (and failures)
 | 
| -(pairs, failures) = utils.form_ntuples_from_machines(machines, 2)
 | 
| -
 | 
| -# Log the failures
 | 
| -for failure in failures:
 | 
| -    job.record("FAIL", failure[0], "kvm", failure[1])
 | 
| -
 | 
| -# Now run through each pair and run
 | 
| -job.parallel_simple(run, pairs, log=False)
 | 
| 
 |