diff --git a/qemu/tests/cfg/remote_image_snapshot.cfg b/qemu/tests/cfg/remote_image_snapshot.cfg index 85b645e124c72779f699172fc32ab3c6a63f58ac..3e97dbd9023521de8eb3a4b9072d44c933c93e11 100644 --- a/qemu/tests/cfg/remote_image_snapshot.cfg +++ b/qemu/tests/cfg/remote_image_snapshot.cfg @@ -1,11 +1,15 @@ # Network storage backends: -# iscsi_direct ceph gluster_direct nbd +# iscsi_direct +# ceph +# gluster_direct +# nbd +# curl (read-only) # These tcs only focus on the following scenarios: # remote image -> local snapshot # remote image -> remote snapshot - remote_image_snapshot: - only iscsi_direct ceph gluster_direct nbd + only iscsi_direct ceph gluster_direct nbd curl virt_test_type = qemu type = qemu_disk_img_info image_chain= "image1 snA" @@ -33,10 +37,13 @@ enable_ceph_snA = no enable_gluster_snA = no enable_nbd_snA = no + enable_curl_snA = no image_raw_device_snA = no storage_type_snA = filesystem + curl: + image_readonly_snA = no - to_remote: - no nbd + no nbd curl iscsi_direct: # make sure size of lun_snA equals to size of lun_image1 # hard code here for avocado-vt cannot select luns by now diff --git a/qemu/tests/qemu_disk_img_info.py b/qemu/tests/qemu_disk_img_info.py index a1633c322c9533cd74a36439207f1e9395eb8ef0..c697a6b8abb5a3e5ce35def8046e4bbff8f4856b 100644 --- a/qemu/tests/qemu_disk_img_info.py +++ b/qemu/tests/qemu_disk_img_info.py @@ -61,6 +61,7 @@ def run(test, params, env): enable_iscsi = params.get("enable_iscsi") == "yes" enable_gluster = params.get("enable_gluster") == "yes" enable_nbd = params.get("enable_nbd") == "yes" + enable_curl = params.get("enable_curl") == "yes" if enable_ceph: update_params.update({ "enable_ceph_%s" % base_image: optval("enable_ceph", @@ -100,12 +101,24 @@ def run(test, params, env): "storage_type_%s" % base_image: optval("storage_type", base_image, params, "filesystem")}) + elif enable_curl: + update_params.update({ + "enable_curl_%s" % base_image: optval("enable_curl", + base_image, + params, "no"), + "storage_type_%s" % base_image: optval("storage_type", + base_image, + params, "filesystem")}) params.update(update_params) image_chain = params.get("image_chain", "").split() check_files = [] md5_dict = {} for idx, tag in enumerate(image_chain): + # VM cannot boot up from a readonly image + if params.object_params(tag).get('image_readonly') == 'yes': + continue + params["image_chain"] = " ".join(image_chain[:idx + 1]) info_test = InfoTest(test, params, env, tag) n_params = info_test.create_snapshot()