 785ec4b1b9
			
		
	
	
		785ec4b1b9
		
	
	
	
	
		
			
			Some error messages contain ambiguous representations of the 'node-name'
parameter. This can be particularly confusing when exchanging QMP
messages (C = client, S = server):
C: {"execute": "block_resize", "arguments": { "device": "my_file", "size": 26843545600 }}
S: {"error": {"class": "GenericError", "desc": "Cannot find device=my_file nor node_name="}}
                                                                               ^^^^^^^^^
This error message suggests one could send a message with a key called
'node_name':
C: {"execute": "block_resize", "arguments": { "node_name": "my_file", "size": 26843545600 }}
                                               ^^^^^^^^^
but using the underscore is actually incorrect, the parameter should be
'node-name':
S: {"error": {"class": "GenericError", "desc": "Parameter 'node_name' is unexpected"}}
This behavior was uncovered in bz1651437, but I ended up going down a
rabbit hole looking for other areas where this miscommunication might
occur and changing those accordingly as well.
Fixes: https://bugzilla.redhat.com/1651437
Signed-off-by: Connor Kuehl <ckuehl@redhat.com>
Message-Id: <20210305151929.1947331-2-ckuehl@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
		
	
			
		
			
				
	
	
		
			170 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| === Successful image creation (defaults) ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx", "size": 0}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx", "node-name": "imgfile"}}
 | |
| {"return": {}}
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "imgfile", "size": 134217728}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 128 MiB (134217728 bytes)
 | |
| cluster_size: 8388608
 | |
| 
 | |
| === Successful image creation (explicit defaults) ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx", "size": 0}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 8388608, "block-state-zero": true, "driver": "vhdx", "file": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx"}, "log-size": 1048576, "size": 67108864, "subformat": "dynamic"}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 64 MiB (67108864 bytes)
 | |
| cluster_size: 8388608
 | |
| 
 | |
| === Successful image creation (with non-default options) ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx", "size": 0}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 268435456, "block-state-zero": false, "driver": "vhdx", "file": {"driver": "file", "filename": "TEST_DIR/PID-t.vhdx"}, "log-size": 8388608, "size": 33554432, "subformat": "fixed"}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 32 MiB (33554432 bytes)
 | |
| cluster_size: 268435456
 | |
| 
 | |
| === Invalid BlockdevRef ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "this doesn't exist", "size": 33554432}}}
 | |
| {"return": {}}
 | |
| Job failed: Cannot find device='this doesn't exist' nor node-name='this doesn't exist'
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| === Zero size ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 0}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 0 B (0 bytes)
 | |
| cluster_size: 8388608
 | |
| 
 | |
| === Maximum size ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 70368744177664}}}
 | |
| {"return": {}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 64 TiB (70368744177664 bytes)
 | |
| cluster_size: 67108864
 | |
| 
 | |
| === Invalid sizes ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 18446744073709551104}}}
 | |
| {"return": {}}
 | |
| Job failed: Image size too large; max of 64TB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 9223372036854775808}}}
 | |
| {"return": {}}
 | |
| Job failed: Image size too large; max of 64TB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 9223372036854775296}}}
 | |
| {"return": {}}
 | |
| Job failed: Image size too large; max of 64TB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "size": 70368744177665}}}
 | |
| {"return": {}}
 | |
| Job failed: Image size too large; max of 64TB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| === Invalid block size ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 1234567, "driver": "vhdx", "file": "node0", "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Block size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 128, "driver": "vhdx", "file": "node0", "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Block size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 3145728, "driver": "vhdx", "file": "node0", "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Block size must be a power of two
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 536870912, "driver": "vhdx", "file": "node0", "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Block size must not exceed 268435456
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 0, "driver": "vhdx", "file": "node0", "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Block size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| === Invalid log size ===
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "log-size": 1234567, "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Log size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "log-size": 128, "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Log size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "log-size": 4294967296, "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Log size must be smaller than 4 GB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 | |
| {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file": "node0", "log-size": 0, "size": 67108864}}}
 | |
| {"return": {}}
 | |
| Job failed: Log size must be a multiple of 1 MB
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| 
 |