From: "Richard W.M. Jones" <rjones@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, jsnow@redhat.com, nsoffer@redhat.com,
vsementsov@virtuozzo.com, qemu-block@nongnu.org,
Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 14/14] iotests: Enhance 223, 233 to cover 'qemu-nbd --list'
Date: Sat, 1 Dec 2018 11:04:22 +0000 [thread overview]
Message-ID: <20181201110422.GL27120@redhat.com> (raw)
In-Reply-To: <20181130220344.3350618-15-eblake@redhat.com>
On Fri, Nov 30, 2018 at 04:03:43PM -0600, Eric Blake wrote:
> Any good new feature deserves some regression testing :)
> Coverage includes:
> - 223: what happens when there are 0 or more than 1 export,
> proof that we can see multiple contexts including qemu:dirty-bitmap
> - 233: proof that we can list over TLS, and that mix-and-match of
> plain/TLS listings sanely
>
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
> tests/qemu-iotests/223 | 2 ++
> tests/qemu-iotests/223.out | 20 ++++++++++++++++++++
> tests/qemu-iotests/233 | 10 ++++++++++
> tests/qemu-iotests/233.out | 15 +++++++++++++++
> 4 files changed, 47 insertions(+)
>
> diff --git a/tests/qemu-iotests/223 b/tests/qemu-iotests/223
> index 397b865d347..e64747a9a61 100755
> --- a/tests/qemu-iotests/223
> +++ b/tests/qemu-iotests/223
> @@ -119,6 +119,7 @@ _send_qemu_cmd $QEMU_HANDLE '{"execute":"x-block-dirty-bitmap-disable",
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-start",
> "arguments":{"addr":{"type":"unix",
> "data":{"path":"'"$TEST_DIR/nbd"'"}}}}' "return"
> +$QEMU_NBD_PROG -L -k "$TEST_DIR/nbd"
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
> "arguments":{"device":"n"}}' "return"
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"x-nbd-server-add-bitmap",
> @@ -127,6 +128,7 @@ _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
> "arguments":{"device":"n", "name":"n2"}}' "return"
> _send_qemu_cmd $QEMU_HANDLE '{"execute":"x-nbd-server-add-bitmap",
> "arguments":{"name":"n2", "bitmap":"b2"}}' "return"
> +$QEMU_NBD_PROG -L -k "$TEST_DIR/nbd"
>
> echo
> echo "=== Contrast normal status to large granularity dirty-bitmap ==="
> diff --git a/tests/qemu-iotests/223.out b/tests/qemu-iotests/223.out
> index de417477de0..3342bff3447 100644
> --- a/tests/qemu-iotests/223.out
> +++ b/tests/qemu-iotests/223.out
> @@ -29,10 +29,30 @@ wrote 2097152/2097152 bytes at offset 2097152
> {"return": {}}
> {"return": {}}
> {"return": {}}
> +exports available: 0
> {"return": {}}
> {"return": {}}
> {"return": {}}
> {"return": {}}
> +exports available: 2
> + export: 'n'
> + size: 4194304
> + flags: 0x4ef ( readonly flush fua trim zeroes df cache )
> + min block: 512
> + opt block: 4096
> + max block: 33554432
> + available meta contexts: 2
> + base:allocation
> + qemu:dirty-bitmap:b
> + export: 'n2'
> + size: 4194304
> + flags: 0x4ef ( readonly flush fua trim zeroes df cache )
> + min block: 512
> + opt block: 4096
> + max block: 33554432
> + available meta contexts: 2
> + base:allocation
> + qemu:dirty-bitmap:b2
>
> === Contrast normal status to large granularity dirty-bitmap ===
>
> diff --git a/tests/qemu-iotests/233 b/tests/qemu-iotests/233
> index 1814efe3333..5d694d9d242 100755
> --- a/tests/qemu-iotests/233
> +++ b/tests/qemu-iotests/233
> @@ -72,6 +72,9 @@ $QEMU_IMG info --image-opts \
> --object tls-creds-x509,dir=${tls_dir}/client1,endpoint=client,id=tls0 \
> driver=nbd,host=$nbd_tcp_addr,port=$nbd_tcp_port,tls-creds=tls0 \
> 2>&1 | sed "s/$nbd_tcp_port/PORT/g"
> +$QEMU_NBD_PROG -L -b $nbd_tcp_addr -p $nbd_tcp_port \
> + --object tls-creds-x509,dir=${tls_dir}/client1,endpoint=client,id=tls0 \
> + --tls-creds=tls0
>
> nbd_server_stop
>
> @@ -84,6 +87,7 @@ nbd_server_start_tcp_socket \
> -f $IMGFMT "$TEST_IMG"
>
> $QEMU_IMG info nbd://localhost:$nbd_tcp_port 2>&1 | sed "s/$nbd_tcp_port/PORT/g"
> +$QEMU_NBD_PROG -L -b $nbd_tcp_addr -p $nbd_tcp_port
>
> echo
> echo "== check TLS works =="
> @@ -91,6 +95,9 @@ $QEMU_IMG info --image-opts \
> --object tls-creds-x509,dir=${tls_dir}/client1,endpoint=client,id=tls0 \
> driver=nbd,host=$nbd_tcp_addr,port=$nbd_tcp_port,tls-creds=tls0 \
> 2>&1 | sed "s/$nbd_tcp_port/PORT/g"
> +$QEMU_NBD_PROG -L -b $nbd_tcp_addr -p $nbd_tcp_port \
> + --object tls-creds-x509,dir=${tls_dir}/client1,endpoint=client,id=tls0 \
> + --tls-creds=tls0
>
> echo
> echo "== check TLS with different CA fails =="
> @@ -98,6 +105,9 @@ $QEMU_IMG info --image-opts \
> --object tls-creds-x509,dir=${tls_dir}/client2,endpoint=client,id=tls0 \
> driver=nbd,host=$nbd_tcp_addr,port=$nbd_tcp_port,tls-creds=tls0 \
> 2>&1 | sed "s/$nbd_tcp_port/PORT/g"
> +$QEMU_NBD_PROG -L -b $nbd_tcp_addr -p $nbd_tcp_port \
> + --object tls-creds-x509,dir=${tls_dir}/client2,endpoint=client,id=tls0 \
> + --tls-creds=tls0
>
> echo
> echo "== perform I/O over TLS =="
> diff --git a/tests/qemu-iotests/233.out b/tests/qemu-iotests/233.out
> index 5f416721b03..ab669488669 100644
> --- a/tests/qemu-iotests/233.out
> +++ b/tests/qemu-iotests/233.out
> @@ -15,20 +15,35 @@ wrote 1048576/1048576 bytes at offset 1048576
> == check TLS client to plain server fails ==
> qemu-img: Could not open 'driver=nbd,host=127.0.0.1,port=PORT,tls-creds=tls0': Denied by server for option 5 (starttls)
> server reported: TLS not configured
> +qemu-nbd: Denied by server for option 5 (starttls)
> +server reported: TLS not configured
>
> == check plain client to TLS server fails ==
> qemu-img: Could not open 'nbd://localhost:PORT': TLS negotiation required before option 8 (structured reply)
> server reported: Option 0x8 not permitted before TLS
> +qemu-nbd: TLS negotiation required before option 8 (structured reply)
> +server reported: Option 0x8 not permitted before TLS
>
> == check TLS works ==
> image: nbd://127.0.0.1:PORT
> file format: nbd
> virtual size: 64M (67108864 bytes)
> disk size: unavailable
> +exports available: 1
> + export: ''
> + size: 67108864
> + flags: 0x4ed ( flush fua trim zeroes df cache )
> + min block: 512
> + opt block: 4096
> + max block: 33554432
> + available meta contexts: 1
> + base:allocation
>
> == check TLS with different CA fails ==
> qemu-nbd: option negotiation failed: Verify failed: No certificate was found.
> qemu-img: Could not open 'driver=nbd,host=127.0.0.1,port=PORT,tls-creds=tls0': The certificate hasn't got a known issuer
> +qemu-nbd: option negotiation failed: Verify failed: No certificate was found.
> +qemu-nbd: The certificate hasn't got a known issuer
>
> == perform I/O over TLS ==
> read 1048576/1048576 bytes at offset 1048576
> --
> 2.17.2
Tests look good, and I ran them too:
QEMU -- "/home/rjones/d/qemu/tests/qemu-iotests/../../x86_64-softmmu/qemu-system-x86_64" -nodefaults -machine accel=qtest
QEMU_IMG -- "/home/rjones/d/qemu/tests/qemu-iotests/../../qemu-img"
QEMU_IO -- "/home/rjones/d/qemu/tests/qemu-iotests/../../qemu-io" --cache writeback -f qcow2
QEMU_NBD -- "/home/rjones/d/qemu/tests/qemu-iotests/../../qemu-nbd"
IMGFMT -- qcow2 (compat=1.1)
IMGPROTO -- file
PLATFORM -- Linux/x86_64 moo 4.18.18-300.fc29.x86_64
TEST_DIR -- /home/rjones/d/qemu/tests/qemu-iotests/scratch
SOCKET_SCM_HELPER -- /home/rjones/d/qemu/tests/qemu-iotests/socket_scm_helper
223
233
Passed all 2 tests
So:
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
Tested-by: Richard W.M. Jones <rjones@redhat.com>
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://libguestfs.org
next prev parent reply other threads:[~2018-12-01 11:04 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-30 22:03 [Qemu-devel] [PATCH for-4.0 00/14] nbd: add qemu-nbd --list Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 01/14] qemu-nbd: Use program name in error messages Eric Blake
2018-11-30 22:17 ` Richard W.M. Jones
2018-12-05 14:55 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 02/14] nbd/client: More consistent " Eric Blake
2018-11-30 22:20 ` Richard W.M. Jones
2018-12-05 15:03 ` Vladimir Sementsov-Ogievskiy
2018-12-10 22:03 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 03/14] qemu-nbd: Fail earlier for -c/-d on non-linux Eric Blake
2018-11-30 22:23 ` Richard W.M. Jones
2018-12-05 15:20 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 04/14] qemu-nbd: Simplify --partition handling Eric Blake
2018-11-30 22:26 ` Richard W.M. Jones
2018-11-30 22:41 ` Eric Blake
2018-12-05 15:40 ` Vladimir Sementsov-Ogievskiy
2018-12-05 16:26 ` Eric Blake
2018-12-05 16:32 ` Eric Blake
2018-12-10 22:28 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 05/14] nbd/client: Drop pointless buf variable Eric Blake
2018-11-30 22:30 ` Richard W.M. Jones
2018-11-30 22:54 ` Eric Blake
2018-12-05 15:59 ` Vladimir Sementsov-Ogievskiy
2018-12-05 16:29 ` Eric Blake
2018-12-05 16:38 ` Vladimir Sementsov-Ogievskiy
2018-12-05 16:49 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 06/14] nbd/client: Move export name into NBDExportInfo Eric Blake
2018-11-30 22:34 ` Richard W.M. Jones
2018-12-05 17:26 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 07/14] nbd/client: Refactor nbd_negotiate_simple_meta_context() Eric Blake
2018-12-01 10:30 ` Richard W.M. Jones
2018-12-06 13:20 ` Vladimir Sementsov-Ogievskiy
2018-12-06 16:20 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 08/14] nbd/client: Refactor nbd_receive_list() Eric Blake
2018-12-01 10:37 ` Richard W.M. Jones
2018-12-06 14:18 ` Vladimir Sementsov-Ogievskiy
2018-12-06 16:31 ` Eric Blake
2018-12-06 17:03 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 09/14] nbd/client: Refactor return of nbd_receive_negotiate() Eric Blake
2018-11-30 22:41 ` Richard W.M. Jones
2018-12-06 14:24 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 10/14] nbd/client: Split handshake into two functions Eric Blake
2018-12-01 10:41 ` Richard W.M. Jones
2018-12-06 15:16 ` Vladimir Sementsov-Ogievskiy
2018-12-06 17:06 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 11/14] nbd/client: Add nbd_receive_export_list() Eric Blake
2018-12-01 10:45 ` Richard W.M. Jones
2018-12-07 10:04 ` Vladimir Sementsov-Ogievskiy
2018-12-07 15:19 ` Eric Blake
2018-12-07 10:07 ` Vladimir Sementsov-Ogievskiy
2018-11-30 22:03 ` [Qemu-devel] [PATCH 12/14] nbd/client: Work around 3.0 bug for listing meta contexts Eric Blake
2018-12-07 11:21 ` Vladimir Sementsov-Ogievskiy
2018-12-07 15:21 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 13/14] qemu-nbd: Add --list option Eric Blake
2018-12-01 10:58 ` Richard W.M. Jones
2018-12-07 12:48 ` Vladimir Sementsov-Ogievskiy
2018-12-07 15:36 ` Eric Blake
2018-12-07 16:49 ` Vladimir Sementsov-Ogievskiy
2018-12-07 16:49 ` Vladimir Sementsov-Ogievskiy
2018-12-07 16:59 ` Eric Blake
2018-11-30 22:03 ` [Qemu-devel] [PATCH 14/14] iotests: Enhance 223, 233 to cover 'qemu-nbd --list' Eric Blake
2018-12-01 11:04 ` Richard W.M. Jones [this message]
2018-12-07 13:08 ` Vladimir Sementsov-Ogievskiy
2018-12-01 7:42 ` [Qemu-devel] [PATCH for-4.0 00/14] nbd: add qemu-nbd --list Richard W.M. Jones
2018-12-01 13:57 ` Eric Blake
2018-12-01 15:00 ` Richard W.M. Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181201110422.GL27120@redhat.com \
--to=rjones@redhat.com \
--cc=eblake@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=nsoffer@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).