diff options
author | Kevin Wolf <kwolf@redhat.com> | 2016-10-07 17:05:04 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-10-24 17:54:03 +0200 |
commit | 0153d2f50bc2ad3f41810d838fcf66acbf10f07a (patch) | |
tree | e72fc58ae6fbb621fce1dc7a9546d0f5f38d183f | |
parent | 170f4b2e5cf43895399f57ca4287f26c713be654 (diff) | |
download | qemu-0153d2f50bc2ad3f41810d838fcf66acbf10f07a.tar.gz qemu-0153d2f50bc2ad3f41810d838fcf66acbf10f07a.tar.bz2 qemu-0153d2f50bc2ad3f41810d838fcf66acbf10f07a.zip |
block: Remove "options" indirection from blockdev-add
Now that QAPI supports boxed types, we can have unions at the top level
of a command, so let's put our real options directly there for
blockdev-add instead of having a single "options" dict that contains the
real arguments.
blockdev-add is still experimental and we already made substantial
changes to the API recently, so we're free to make changes like this
one, too.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
-rw-r--r-- | docs/qmp-commands.txt | 84 | ||||
-rw-r--r-- | qapi/block-core.json | 4 | ||||
-rwxr-xr-x | tests/qemu-iotests/041 | 11 | ||||
-rwxr-xr-x | tests/qemu-iotests/067 | 12 | ||||
-rwxr-xr-x | tests/qemu-iotests/071 | 118 | ||||
-rwxr-xr-x | tests/qemu-iotests/081 | 52 | ||||
-rwxr-xr-x | tests/qemu-iotests/085 | 9 | ||||
-rwxr-xr-x | tests/qemu-iotests/087 | 76 | ||||
-rwxr-xr-x | tests/qemu-iotests/117 | 12 | ||||
-rwxr-xr-x | tests/qemu-iotests/118 | 42 | ||||
-rw-r--r-- | tests/qemu-iotests/124 | 20 | ||||
-rw-r--r-- | tests/qemu-iotests/139 | 10 | ||||
-rwxr-xr-x | tests/qemu-iotests/141 | 13 | ||||
-rwxr-xr-x | tests/qemu-iotests/155 | 10 |
14 files changed, 214 insertions, 259 deletions
diff --git a/docs/qmp-commands.txt b/docs/qmp-commands.txt index 3220fb1075..284576d795 100644 --- a/docs/qmp-commands.txt +++ b/docs/qmp-commands.txt @@ -1090,11 +1090,11 @@ Arguments: Example: -> { "execute": "blockdev-add", - "arguments": { "options": { "driver": "qcow2", - "node-name": "node1534", - "file": { "driver": "file", - "filename": "hd1.qcow2" }, - "backing": "" } } } + "arguments": { "driver": "qcow2", + "node-name": "node1534", + "file": { "driver": "file", + "filename": "hd1.qcow2" }, + "backing": "" } } <- { "return": {} } @@ -3130,41 +3130,37 @@ This command is still a work in progress. It doesn't support all block drivers among other things. Stay away from it unless you want to help with its development. -Arguments: - -- "options": block driver options +For the arguments, see the QAPI schema documentation of BlockdevOptions. Example (1): -> { "execute": "blockdev-add", - "arguments": { "options" : { "driver": "qcow2", - "file": { "driver": "file", - "filename": "test.qcow2" } } } } + "arguments": { "driver": "qcow2", + "file": { "driver": "file", + "filename": "test.qcow2" } } } <- { "return": {} } Example (2): -> { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "qcow2", - "node-name": "my_disk", - "discard": "unmap", - "cache": { - "direct": true, - "writeback": true - }, - "file": { - "driver": "file", - "filename": "/tmp/test.qcow2" - }, - "backing": { - "driver": "raw", - "file": { - "driver": "file", - "filename": "/dev/fdset/4" - } - } + "driver": "qcow2", + "node-name": "my_disk", + "discard": "unmap", + "cache": { + "direct": true, + "writeback": true + }, + "file": { + "driver": "file", + "filename": "/tmp/test.qcow2" + }, + "backing": { + "driver": "raw", + "file": { + "driver": "file", + "filename": "/dev/fdset/4" + } } } } @@ -3191,13 +3187,11 @@ Example: -> { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "qcow2", - "node-name": "node0", - "file": { - "driver": "file", - "filename": "test.qcow2" - } + "driver": "qcow2", + "node-name": "node0", + "file": { + "driver": "file", + "filename": "test.qcow2" } } } @@ -3342,10 +3336,10 @@ Arguments: Example: -> { "execute": "blockdev-add", - "arguments": { "options": { "node-name": "node0", - "driver": "raw", - "file": { "driver": "file", - "filename": "fedora.iso" } } } } + "arguments": { { "node-name": "node0", + "driver": "raw", + "file": { "driver": "file", + "filename": "fedora.iso" } } } <- { "return": {} } @@ -3383,10 +3377,10 @@ Example: Add a new node to a quorum -> { "execute": "blockdev-add", - "arguments": { "options": { "driver": "raw", - "node-name": "new_node", - "file": { "driver": "file", - "filename": "test.raw" } } } } + "arguments": { "driver": "raw", + "node-name": "new_node", + "file": { "driver": "file", + "filename": "test.raw" } } } <- { "return": {} } -> { "execute": "x-blockdev-change", "arguments": { "parent": "disk1", diff --git a/qapi/block-core.json b/qapi/block-core.json index 1b7aa1befd..c59047bc94 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -2312,11 +2312,11 @@ # block drivers among other things. Stay away from it unless you want # to help with its development. # -# @options: block device options for the new device +# For the arguments, see the documentation of BlockdevOptions. # # Since: 1.7 ## -{ 'command': 'blockdev-add', 'data': { 'options': 'BlockdevOptions' } } +{ 'command': 'blockdev-add', 'data': 'BlockdevOptions', 'boxed': true } ## # @x-blockdev-del: diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 index d1e1ad8bd2..30e628f0f7 100755 --- a/tests/qemu-iotests/041 +++ b/tests/qemu-iotests/041 @@ -194,10 +194,9 @@ class TestSingleBlockdev(TestSingleDrive): def setUp(self): TestSingleDrive.setUp(self) qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, target_img) - args = {'options': - {'driver': iotests.imgfmt, - 'node-name': self.qmp_target, - 'file': { 'filename': target_img, 'driver': 'file' } } } + args = {'driver': iotests.imgfmt, + 'node-name': self.qmp_target, + 'file': { 'filename': target_img, 'driver': 'file' } } result = self.vm.qmp("blockdev-add", **args) self.assert_qmp(result, 'return', {}) @@ -782,8 +781,8 @@ class TestRepairQuorum(iotests.QMPTestCase): self.vm.launch() #assemble the quorum block device from the individual files - args = { "options" : { "driver": "quorum", "node-name": "quorum0", - "vote-threshold": 2, "children": [ "img0", "img1", "img2" ] } } + args = { "driver": "quorum", "node-name": "quorum0", + "vote-threshold": 2, "children": [ "img0", "img1", "img2" ] } if self.has_quorum(): result = self.vm.qmp("blockdev-add", **args) self.assert_qmp(result, 'return', {}) diff --git a/tests/qemu-iotests/067 b/tests/qemu-iotests/067 index a12125bd46..38d23fce6b 100755 --- a/tests/qemu-iotests/067 +++ b/tests/qemu-iotests/067 @@ -119,13 +119,11 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "disk", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "node-name": "disk", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071 index 6d0864cff6..48b495513f 100755 --- a/tests/qemu-iotests/071 +++ b/tests/qemu-iotests/071 @@ -107,25 +107,21 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "drive0", - "driver": "file", - "filename": "$TEST_IMG" - } + "node-name": "drive0", + "driver": "file", + "filename": "$TEST_IMG" } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "drive0-debug", - "file": { - "driver": "blkdebug", - "image": "drive0", - "inject-error": [{ - "event": "l2_load" - }] - } + "driver": "$IMGFMT", + "node-name": "drive0-debug", + "file": { + "driver": "blkdebug", + "image": "drive0", + "inject-error": [{ + "event": "l2_load" + }] } } } @@ -145,26 +141,22 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "drive0", - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "node-name": "drive0", + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "blkverify", - "node-name": "drive0-verify", - "test": "drive0", - "raw": { - "driver": "file", - "filename": "$TEST_IMG.base" - } + "driver": "blkverify", + "node-name": "drive0-verify", + "test": "drive0", + "raw": { + "driver": "file", + "filename": "$TEST_IMG.base" } } } @@ -184,27 +176,23 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "drive0", - "driver": "file", - "filename": "$TEST_IMG.base" - } + "node-name": "drive0", + "driver": "file", + "filename": "$TEST_IMG.base" } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "blkverify", - "node-name": "drive0-verify", - "test": { - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } - }, - "raw": "drive0" - } + "driver": "blkverify", + "node-name": "drive0-verify", + "test": { + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_IMG" + } + }, + "raw": "drive0" } } { "execute": "human-monitor-command", @@ -223,30 +211,26 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "drive0", - "driver": "file", - "filename": "$TEST_IMG" - } + "node-name": "drive0", + "driver": "file", + "filename": "$TEST_IMG" } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "drive0-debug", - "file": { - "driver": "blkdebug", - "image": "drive0", - "inject-error": [{ - "event": "read_aio", - "state": 42 - }], - "set-state": [{ - "event": "write_aio", - "new_state": 42 - }] - } + "driver": "$IMGFMT", + "node-name": "drive0-debug", + "file": { + "driver": "blkdebug", + "image": "drive0", + "inject-error": [{ + "event": "read_aio", + "state": 42 + }], + "set-state": [{ + "event": "write_aio", + "new_state": 42 + }] } } } diff --git a/tests/qemu-iotests/081 b/tests/qemu-iotests/081 index 0a809f3499..da3fb0984b 100755 --- a/tests/qemu-iotests/081 +++ b/tests/qemu-iotests/081 @@ -105,40 +105,36 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "drive2", - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_DIR/2.raw" - } + "node-name": "drive2", + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_DIR/2.raw" } } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "quorum", - "node-name": "drive0-quorum", - "vote-threshold": 2, - "children": [ - { - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_DIR/1.raw" - } - }, - "drive2", - { - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_DIR/3.raw" - } + "driver": "quorum", + "node-name": "drive0-quorum", + "vote-threshold": 2, + "children": [ + { + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_DIR/1.raw" } - ] - } + }, + "drive2", + { + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_DIR/3.raw" + } + } + ] } } { "execute": "human-monitor-command", diff --git a/tests/qemu-iotests/085 b/tests/qemu-iotests/085 index aa77eca77d..c53e97f067 100755 --- a/tests/qemu-iotests/085 +++ b/tests/qemu-iotests/085 @@ -100,11 +100,10 @@ function add_snapshot_image() _make_test_img -b "${base_image}" "$size" mv "${TEST_IMG}" "${snapshot_file}" cmd="{ 'execute': 'blockdev-add', 'arguments': - { 'options': - { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${extra_params} - 'file': - { 'driver': 'file', 'filename': '${snapshot_file}', - 'node-name': 'file_${1}' } } } }" + { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${extra_params} + 'file': + { 'driver': 'file', 'filename': '${snapshot_file}', + 'node-name': 'file_${1}' } } }" _send_qemu_cmd $h "${cmd}" "return" } diff --git a/tests/qemu-iotests/087 b/tests/qemu-iotests/087 index b1ac71f2b8..9de57ddf6d 100755 --- a/tests/qemu-iotests/087 +++ b/tests/qemu-iotests/087 @@ -61,12 +61,10 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } @@ -81,25 +79,21 @@ run_qemu -drive driver=$IMGFMT,id=disk,node-name=test-node,file="$TEST_IMG" <<EO { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "disk", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "node-name": "disk", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "test-node", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "node-name": "test-node", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } @@ -114,14 +108,12 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "disk", - "file": { - "driver": "file", - "filename": "$TEST_IMG", - "aio": "native" - } + "driver": "$IMGFMT", + "node-name": "disk", + "file": { + "driver": "file", + "filename": "$TEST_IMG", + "aio": "native" } } } @@ -137,13 +129,11 @@ run_qemu -S <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "disk", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "node-name": "disk", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } @@ -154,13 +144,11 @@ run_qemu <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "driver": "$IMGFMT", - "node-name": "disk", - "file": { - "driver": "file", - "filename": "$TEST_IMG" - } + "driver": "$IMGFMT", + "node-name": "disk", + "file": { + "driver": "file", + "filename": "$TEST_IMG" } } } @@ -176,9 +164,7 @@ run_qemu -S <<EOF { "execute": "qmp_capabilities" } { "execute": "blockdev-add", "arguments": { - "options": { - "node-name": "disk" - } + "node-name": "disk" } } { "execute": "quit" } diff --git a/tests/qemu-iotests/117 b/tests/qemu-iotests/117 index 5b28039e17..e955d52de3 100755 --- a/tests/qemu-iotests/117 +++ b/tests/qemu-iotests/117 @@ -52,16 +52,16 @@ _send_qemu_cmd $QEMU_HANDLE \ _send_qemu_cmd $QEMU_HANDLE \ "{ 'execute': 'blockdev-add', - 'arguments': { 'options': { 'node-name': 'protocol', - 'driver': 'file', - 'filename': '$TEST_IMG' } } }" \ + 'arguments': { 'node-name': 'protocol', + 'driver': 'file', + 'filename': '$TEST_IMG' } }" \ 'return' _send_qemu_cmd $QEMU_HANDLE \ "{ 'execute': 'blockdev-add', - 'arguments': { 'options': { 'node-name': 'format', - 'driver': '$IMGFMT', - 'file': 'protocol' } } }" \ + 'arguments': { 'node-name': 'format', + 'driver': '$IMGFMT', + 'file': 'protocol' } }" \ 'return' _send_qemu_cmd $QEMU_HANDLE \ diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118 index e63a40fa94..8a9e838c90 100755 --- a/tests/qemu-iotests/118 +++ b/tests/qemu-iotests/118 @@ -229,10 +229,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass): def test_cycle(self): result = self.vm.qmp('blockdev-add', - options={'node-name': 'new', - 'driver': iotests.imgfmt, - 'file': {'filename': new_img, - 'driver': 'file'}}) + node_name='new', + driver=iotests.imgfmt, + file={'filename': new_img, + 'driver': 'file'}) self.assert_qmp(result, 'return', {}) if self.device_name is not None: @@ -309,10 +309,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass): return result = self.vm.qmp('blockdev-add', - options={'node-name': 'new', - 'driver': iotests.imgfmt, - 'file': {'filename': new_img, - 'driver': 'file'}}) + node_name='new', + driver=iotests.imgfmt, + file={'filename': new_img, + 'driver': 'file'}) self.assert_qmp(result, 'return', {}) result = self.vm.qmp('x-blockdev-insert-medium', device='drive0', @@ -341,10 +341,10 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass): def test_insert_on_filled(self): result = self.vm.qmp('blockdev-add', - options={'node-name': 'new', - 'driver': iotests.imgfmt, - 'file': {'filename': new_img, - 'driver': 'file'}}) + node_name='new', + driver=iotests.imgfmt, + file={'filename': new_img, + 'driver': 'file'}) self.assert_qmp(result, 'return', {}) result = self.vm.qmp('blockdev-open-tray', device='drive0') @@ -609,11 +609,11 @@ class TestChangeReadOnly(ChangeBaseClass): self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img) result = self.vm.qmp('blockdev-add', - options={'node-name': 'new', - 'driver': iotests.imgfmt, - 'read-only': True, - 'file': {'filename': new_img, - 'driver': 'file'}}) + node_name='new', + driver=iotests.imgfmt, + read_only=True, + file={'filename': new_img, + 'driver': 'file'}) self.assert_qmp(result, 'return', {}) result = self.vm.qmp('query-block') @@ -663,10 +663,10 @@ class TestBlockJobsAfterCycle(ChangeBaseClass): self.assert_qmp_absent(result, 'return[0]/inserted') result = self.vm.qmp('blockdev-add', - options={'node-name': 'node0', - 'driver': iotests.imgfmt, - 'file': {'filename': old_img, - 'driver': 'file'}}) + node_name='node0', + driver=iotests.imgfmt, + file={'filename': old_img, + 'driver': 'file'}) self.assert_qmp(result, 'return', {}) result = self.vm.qmp('x-blockdev-insert-medium', device='drive0', diff --git a/tests/qemu-iotests/124 b/tests/qemu-iotests/124 index 2f0bc24cd0..f06938eeb7 100644 --- a/tests/qemu-iotests/124 +++ b/tests/qemu-iotests/124 @@ -416,10 +416,10 @@ class TestIncrementalBackup(TestIncrementalBackupBase): ('0xcd', '32M', '124k'))) # Create a blkdebug interface to this img as 'drive1' - result = self.vm.qmp('blockdev-add', options={ - 'node-name': drive1['id'], - 'driver': drive1['fmt'], - 'file': { + result = self.vm.qmp('blockdev-add', + node_name=drive1['id'], + driver=drive1['fmt'], + file={ 'driver': 'blkdebug', 'image': { 'driver': 'file', @@ -438,7 +438,7 @@ class TestIncrementalBackup(TestIncrementalBackupBase): 'once': True }], } - }) + ) self.assert_qmp(result, 'return', {}) # Create bitmaps and full backups for both drives @@ -560,10 +560,10 @@ class TestIncrementalBackupBlkdebug(TestIncrementalBackupBase): ''' drive0 = self.drives[0] - result = self.vm.qmp('blockdev-add', options={ - 'node-name': drive0['id'], - 'driver': drive0['fmt'], - 'file': { + result = self.vm.qmp('blockdev-add', + node_name=drive0['id'], + driver=drive0['fmt'], + file={ 'driver': 'blkdebug', 'image': { 'driver': 'file', @@ -582,7 +582,7 @@ class TestIncrementalBackupBlkdebug(TestIncrementalBackupBase): 'once': True }], } - }) + ) self.assert_qmp(result, 'return', {}) self.create_anchor_backup(drive0) diff --git a/tests/qemu-iotests/139 b/tests/qemu-iotests/139 index 47a4c26e29..6a0f6ca569 100644 --- a/tests/qemu-iotests/139 +++ b/tests/qemu-iotests/139 @@ -57,7 +57,7 @@ class TestBlockdevDel(iotests.QMPTestCase): 'file': {'driver': 'file', 'node-name': file_node, 'filename': base_img}} - result = self.vm.qmp('blockdev-add', conv_keys = False, options = opts) + result = self.vm.qmp('blockdev-add', conv_keys = False, **opts) self.assert_qmp(result, 'return', {}) self.checkBlockDriverState(node) self.checkBlockDriverState(file_node) @@ -72,7 +72,7 @@ class TestBlockdevDel(iotests.QMPTestCase): 'backing': '', 'file': {'driver': 'file', 'filename': new_img}} - result = self.vm.qmp('blockdev-add', conv_keys = False, options = opts) + result = self.vm.qmp('blockdev-add', conv_keys = False, **opts) self.assert_qmp(result, 'return', {}) self.checkBlockDriverState(node) @@ -185,7 +185,7 @@ class TestBlockdevDel(iotests.QMPTestCase): opts = {'driver': 'blkdebug', 'node-name': debug, 'image': image} - result = self.vm.qmp('blockdev-add', conv_keys = False, options = opts) + result = self.vm.qmp('blockdev-add', conv_keys = False, **opts) self.assert_qmp(result, 'return', {}) self.checkBlockDriverState(node) self.checkBlockDriverState(debug) @@ -210,7 +210,7 @@ class TestBlockdevDel(iotests.QMPTestCase): 'node-name': blkverify, 'test': node_0, 'raw': node_1} - result = self.vm.qmp('blockdev-add', conv_keys = False, options = opts) + result = self.vm.qmp('blockdev-add', conv_keys = False, **opts) self.assert_qmp(result, 'return', {}) self.checkBlockDriverState(test) self.checkBlockDriverState(raw) @@ -234,7 +234,7 @@ class TestBlockdevDel(iotests.QMPTestCase): 'node-name': quorum, 'vote-threshold': 1, 'children': [ child_0, child_1 ]} - result = self.vm.qmp('blockdev-add', conv_keys = False, options = opts) + result = self.vm.qmp('blockdev-add', conv_keys = False, **opts) self.assert_qmp(result, 'return', {}) self.checkBlockDriverState(child0) self.checkBlockDriverState(child1) diff --git a/tests/qemu-iotests/141 b/tests/qemu-iotests/141 index c092d872dc..3ba79f027a 100755 --- a/tests/qemu-iotests/141 +++ b/tests/qemu-iotests/141 @@ -50,13 +50,12 @@ test_blockjob() _send_qemu_cmd $QEMU_HANDLE \ "{'execute': 'blockdev-add', 'arguments': { - 'options': { - 'node-name': 'drv0', - 'driver': '$IMGFMT', - 'file': { - 'driver': 'file', - 'filename': '$TEST_IMG' - }}}}" \ + 'node-name': 'drv0', + 'driver': '$IMGFMT', + 'file': { + 'driver': 'file', + 'filename': '$TEST_IMG' + }}}" \ 'return' _send_qemu_cmd $QEMU_HANDLE \ diff --git a/tests/qemu-iotests/155 b/tests/qemu-iotests/155 index 4057b5e2aa..0b86ea4e5c 100755 --- a/tests/qemu-iotests/155 +++ b/tests/qemu-iotests/155 @@ -63,10 +63,10 @@ class BaseClass(iotests.QMPTestCase): # Add the BDS via blockdev-add so it stays around after the mirror block # job has been completed result = self.vm.qmp('blockdev-add', - options={'node-name': 'source', - 'driver': iotests.imgfmt, - 'file': {'driver': 'file', - 'filename': source_img}}) + node_name='source', + driver=iotests.imgfmt, + file={'driver': 'file', + 'filename': source_img}) self.assert_qmp(result, 'return', {}) result = self.vm.qmp('x-blockdev-insert-medium', @@ -90,7 +90,7 @@ class BaseClass(iotests.QMPTestCase): if self.target_blockdev_backing: options['backing'] = self.target_blockdev_backing - result = self.vm.qmp('blockdev-add', options=options) + result = self.vm.qmp('blockdev-add', **options) self.assert_qmp(result, 'return', {}) def tearDown(self): |