qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] block/vxhs: Add Veritas HyperScale VxHS bloc


From: Jeff Cody
Subject: Re: [Qemu-devel] [PATCH v2] block/vxhs: Add Veritas HyperScale VxHS block device support
Date: Fri, 28 Oct 2016 17:50:00 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Fri, Oct 28, 2016 at 01:26:41AM +0000, Rakesh Ranjan wrote:
> Hi Jeff etc al,
> 
> Thanks a lot for your due diligence to review the code changes throughly
> and providing comments, suggestions to improve. We are completely on top
> of this and have already started to expedite the overall development.
> 
> We would like to get you help regarding the applicability of qemu-iotests
> test harness against a QEMU block driver which doesn¹t support create
> operation. Where we can find the detailed document regarding qemu-iotests
> test harness and and it¹s dependency on a particular block driver?
> 
> We have enhanced the test server utility (qnio_server) a bit and conducted
> manual tests, which mainly includes qemu-img convert and qemu-io read and
> write operations.
> 
> # libqnio/src/test/
> 
> @ Create vDisk file of size 10G
>  
>       # ./create_vdisk.sh
>       Usage: create_vdisk <filename> <size in MB>
> 
> 
>       # ./create_vdisk.sh /qemublk_test/vDisk1 10240
> 
> 
>       # ls -lhs /qemublk_test/vDisk1
>       1.1M -rw-r--r-- 1 root root 10G Oct 27 17:02 /qemublk_test/vDisk1
> 
> 
> 
> @ Start qnio_server
> 
>       # ./qnio_server -h
>       Usage: qnio_server [-d <directory>] [-p] [-v] [-h]
>       d -> Vdisk directory
>       p -> Run commands in separate thread
>       h -> Help
>       v -> Verbose
> 
> 
>       # ./qnio_server -d /qemublk_test/
> 
> 
> 
> @ Convert qcow2 image to vxhs raw format
> 
> # ./qemu-img convert -f qcow2 -O raw -n /qemublk_test/centos-64.qcow2
> vxhs://127.0.0.1:9999/vDisk1
> 

Hi Rakesh,

The qemu-iotests are located in the qemu tree, under 'tests/qemu-iotests'.

I don't know of any formal documenation out here, but here are the basics:


To run an individual iotest, you can run the test from within the
tests/qemu-iotests directory, e.g.:

# cd tests/qemu-iotests

# ./check -qcow2 002

What this will do is run the test case 002 with the format qcow2.  The
output of that test is checked against 002.out, and if there are
differences, an error is reported.

What is implicit in the above check command is the protocol type of 'file'.
If you wanted to run that test using a different protocol (for instance,
'nfs'), you can do:

# ./check -qcow2 -nfs 002

You need to extend qemu-iotests to be aware of the vxhs:// protocol.

To do this, you'll need to modify these files:

tests/qemu-iotests/common.rc
tests/qemu-iotests/common


If you search for some of the other protocol drivers, you should see what
you need to change; for instance, 'sheepdog', 'nfs', 'ssh', etc.. are all
protocol drivers.

One difference is, as you noted, that you cannot create an image using your
protocol.

This means you will need to either:

A) Let the test framework create the test image like normal, and then have
the test script launch the test QNIO server,

B) Do the image creation, and server launch, manually outside the script.
This isn't optimal because then the testers (e.g. me, and other block
maintainers) need to remember what steps to perform.


For the basis of a simple test, you can look at test 002.  It should be a
good starting point.  You'll need to create a new test as a file named after
the existing tests (you need the ??? and ???.out files), and then modify the
'group' file to include the test).


Generally, it is best if the test if a separate patch in the series.

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]