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) |