def download_asset(asset_name, ini_dir=None, section=None, ddir=None): provider_dirs = asset.get_test_provider_subdirs(backend="spice")[0] if ini_dir: provider_dirs.insert(0, ini_dir) logger.debug("Provider_dirs: %s.", repr(provider_dirs)) fname = "%s.ini" % asset_name for d in os.walk(provider_dirs): d = d[0] ini_file = os.path.join(d, fname) if os.path.isfile(ini_file): asset_dir = d break assert os.path.isfile(ini_file), "Cannot find %s.ini file." % asset_name logger.info("Section: %s", section) asset_info = asset.get_asset_info(asset_name, ini_dir=asset_dir, section=section) if ddir: dst_file = os.path.basename(asset_info['destination']) asset_info['destination'] = os.path.join(ddir, dst_file) asset.download_file(asset_info) stored_at = asset_info['destination'] logger.info("Asset stored at: %s.", stored_at) return stored_at
if not os.path.exists(mount_dest_dir): raise error.TestError('Failed to create NFS share dir %s' % mount_dest_dir) error.context("Mount the NFS share directory") if not utils_misc.mount(src, mount_dest_dir, 'nfs', 'ro'): raise error.TestError('Could not mount NFS share %s to %s' % (src, mount_dest_dir)) error.context("Check the existence of source image") src_path = '%s/%s.%s' % (mount_dest_dir, asset_name, params['image_format']) asset_info = asset.get_file_asset(asset_name, src_path, dst_path) if asset_info is None: raise error.TestError('Could not find %s' % image) else: asset_info = asset.get_asset_info(asset_name) # Do not force extraction if integrity information is available if asset_info['sha1_url']: force = params.get("force_copy", "no") == "yes" else: force = params.get("force_copy", "yes") == "yes" try: error.context("Copy image '%s'" % image, logging.info) if utils.is_url(asset_info['url']): asset.download_file(asset_info, interactive=False, force=force) else: utils.get_file(asset_info['url'], asset_info['destination']) finally:
if not os.path.exists(mount_dest_dir): raise error.TestError('Failed to create NFS share dir %s' % mount_dest_dir) error.context("Mount the NFS share directory") if not utils_misc.mount(src, mount_dest_dir, 'nfs', 'ro'): raise error.TestError('Could not mount NFS share %s to %s' % (src, mount_dest_dir)) src_path = '%s/%s.%s' % (mount_dest_dir, asset_name, params['image_format']) asset_info = asset.get_file_asset(asset_name, src_path, dst_path) if asset_info is None: raise error.TestError('Could not find %s' % image) else: asset_info = asset.get_asset_info(asset_name) # Do not force extraction if integrity information is available if asset_info['sha1_url']: force = params.get("force_copy", "no") == "yes" else: force = params.get("force_copy", "yes") == "yes" try: asset.download_file(asset_info, interactive=False, force=force) finally: if params.get("sub_type"): params['image_name'] += "-error" params['boot_once'] = "c" vm.create(params=params)