| Index: client/tests/kvm/tests/image_copy.py
|
| diff --git a/client/tests/kvm/tests/image_copy.py b/client/tests/kvm/tests/image_copy.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8a4d74c869a48be56e2f88d323b3e11e8d346b0a
|
| --- /dev/null
|
| +++ b/client/tests/kvm/tests/image_copy.py
|
| @@ -0,0 +1,45 @@
|
| +import os, logging
|
| +from autotest_lib.client.common_lib import error
|
| +from autotest_lib.client.bin import utils
|
| +import kvm_utils
|
| +
|
| +
|
| +def run_image_copy(test, params, env):
|
| + """
|
| + Copy guest images from nfs server.
|
| + 1) Mount the NFS share directory
|
| + 2) Check the existence of source image
|
| + 3) If it exists, copy the image from NFS
|
| +
|
| + @param test: kvm test object
|
| + @param params: Dictionary with the test parameters
|
| + @param env: Dictionary with test environment.
|
| + """
|
| + mount_dest_dir = params.get('dst_dir', '/mnt/images')
|
| + if not os.path.exists(mount_dest_dir):
|
| + try:
|
| + os.makedirs(mount_dest_dir)
|
| + except OSError, err:
|
| + logging.warning('mkdir %s error:\n%s', mount_dest_dir, err)
|
| +
|
| + if not os.path.exists(mount_dest_dir):
|
| + raise error.TestError('Failed to create NFS share dir %s' %
|
| + mount_dest_dir)
|
| +
|
| + src = params.get('images_good')
|
| + image = '%s.%s' % (os.path.split(params['image_name'])[1],
|
| + params['image_format'])
|
| + src_path = os.path.join(mount_dest_dir, image)
|
| + dst_path = '%s.%s' % (params['image_name'], params['image_format'])
|
| + cmd = 'cp %s %s' % (src_path, dst_path)
|
| +
|
| + if not kvm_utils.mount(src, mount_dest_dir, 'nfs', 'ro'):
|
| + raise error.TestError('Could not mount NFS share %s to %s' %
|
| + (src, mount_dest_dir))
|
| +
|
| + # Check the existence of source image
|
| + if not os.path.exists(src_path):
|
| + raise error.TestError('Could not find %s in NFS share' % src_path)
|
| +
|
| + logging.debug('Copying image %s...', image)
|
| + utils.system(cmd)
|
|
|