diff --git a/qemu/tests/cfg/image_multihost.cfg b/qemu/tests/cfg/image_multihost.cfg new file mode 100644 index 0000000000..4c02b57ef0 --- /dev/null +++ b/qemu/tests/cfg/image_multihost.cfg @@ -0,0 +1,22 @@ +- multihost: + type = image_multihost + vms = '' + start_vm = no + kill_vm = no + nodes = node1 node2 + multihost = yes + force_create_image = yes + remove_image = yes + images = top + image_chain_top = base top + image_name_base = base + image_name_top = top + image_format_base = luks + image_secret_base = redhat + image_format_top = qcow2 + preallocated_base = metadata + image_cluster_size = 1M + volume_pool_selectors_base = '[{"key": "type", "operator": "==", "values": "nfs"},' + volume_pool_selectors_base += '{"key": "access.nodes", "operator": "contains", "values": "node1 node2"},]' + volume_pool_selectors_top = '[{"key": "type", "operator": "==", "values": "filesystem"},' + volume_pool_selectors_base += '{"key": "access.nodes", "operator": "contains", "values": "node2"},]' diff --git a/qemu/tests/image_multihost.py b/qemu/tests/image_multihost.py new file mode 100644 index 0000000000..334aaf8ab9 --- /dev/null +++ b/qemu/tests/image_multihost.py @@ -0,0 +1,32 @@ +from virttest.vt_imgr import imgr + + +def run(test, params, env): + images = dict() + for image_tag in params.objects("images"): + images[image_tag] = imgr.query_logical_image(image_tag) + imgr.update_logical_image(images[image_tag], {"backup": {}}) + test.log.info( + "after backup: %s: %s", + image_tag, + imgr.get_logical_image_info(images[image_tag]), + ) + imgr.update_logical_image(images[image_tag], {"restore": {}}) + test.log.info( + "after restore: %s: %s", + image_tag, + imgr.get_logical_image_info(images[image_tag]), + ) + + for image_id in images.values(): + test.log.info("source: %s: %s", image_id, imgr.get_logical_image_info(image_id)) + cloned_image_id = imgr.clone_logical_image(image_id) + test.log.info( + "cloned: %s: %s", + cloned_image_id, + imgr.get_logical_image_info(cloned_image_id), + ) + imgr.update_logical_image(cloned_image_id, {"destroy": {}}) + imgr.destroy_logical_image_object(cloned_image_id) + imgr.update_logical_image(image_id, {"destroy": {}}) + imgr.destroy_logical_image_object(image_id)