diff --git a/qemu/tests/block_disk_not_default_options.py b/qemu/tests/block_disk_not_default_options.py new file mode 100644 index 0000000000..07f138074b --- /dev/null +++ b/qemu/tests/block_disk_not_default_options.py @@ -0,0 +1,33 @@ +from virttest import cpu, error_context + +from provider.block_devices_plug import BlockDevicesPlug + + +@error_context.context_aware +def run(test, params, env): + """ + Test the disk non-default options. + + Steps: + 1. Boot a VM with packed=true and page-per-vq=true + 2. Do some basic I/O operation in the VM + 3. Unplug and hotplug the disk + 4. Do again a basic I/O operation + + :param test: QEMU test object. + :param params: Dictionary with the test parameters. + :param env: Dictionary with test environment. + """ + + if cpu.get_cpu_vendor(verbose=False) != "GenuineIntel": + test.cancel("This case only support Intel platform.") + + vm = env.get_vm(params["main_vm"]) + vm.verify_alive() + session = vm.wait_for_login(timeout=360) + session.cmd(params.get("dd_cmd")) + + plug = BlockDevicesPlug(vm) + plug.unplug_devs_serial() + plug.hotplug_devs_serial() + session.cmd(params.get("dd_cmd")) diff --git a/qemu/tests/cfg/block_disk_not_default_options.cfg b/qemu/tests/cfg/block_disk_not_default_options.cfg new file mode 100644 index 0000000000..c7e1b09d02 --- /dev/null +++ b/qemu/tests/cfg/block_disk_not_default_options.cfg @@ -0,0 +1,17 @@ +- block_disk_not_default_options: + only virtio_blk, virtio_scsi + type = block_disk_not_default_options + only x86_64 + start_vm = yes + images += " stg0" + boot_drive_stg0 = yes + image_name_stg0 = images/storage0 + image_size_stg0 = 40G + remove_image_stg0 = yes + force_create_image_stg0 = yes + dd_cmd = "dd if=/dev/urandom of=test.txt bs=1M count=10" + virtio_blk: + blk_extra_params_stg0 = "packed=true,page-per-vq=true" + virtio_scsi: + bus_extra_params_stg0 = "packed=true,page-per-vq=true" + drive_bus_stg0 = 1