This rewrites the test case 210 to work with the new x-blockdev-create job rather than the old synchronous version of the command. All of the test cases stay the same as before, but in order to be able to implement proper job handling, the test case is rewritten in Python. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Jeff Cody <jcody@redhat.com>
232 lines
7.7 KiB
Plaintext
232 lines
7.7 KiB
Plaintext
=== Successful image creation (defaults) ===
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
|
|
{u'return': {}}
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
{'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}
|
|
{u'return': {}}
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'imgfile', 'size': 134217728}}}
|
|
{u'return': {}}
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_IMG"}, "key-secret": "keysec0"}
|
|
file format: IMGFMT
|
|
virtual size: 128M (134217728 bytes)
|
|
encrypted: yes
|
|
Format specific information:
|
|
ivgen alg: plain64
|
|
hash alg: sha256
|
|
cipher alg: aes-256
|
|
uuid: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
cipher mode: xts
|
|
slots:
|
|
[0]:
|
|
active: true
|
|
iters: XXX
|
|
key offset: 4096
|
|
stripes: 4000
|
|
[1]:
|
|
active: false
|
|
key offset: 262144
|
|
[2]:
|
|
active: false
|
|
key offset: 520192
|
|
[3]:
|
|
active: false
|
|
key offset: 778240
|
|
[4]:
|
|
active: false
|
|
key offset: 1036288
|
|
[5]:
|
|
active: false
|
|
key offset: 1294336
|
|
[6]:
|
|
active: false
|
|
key offset: 1552384
|
|
[7]:
|
|
active: false
|
|
key offset: 1810432
|
|
payload offset: 2068480
|
|
master key iters: XXX
|
|
|
|
=== Successful image creation (with non-default options) ===
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
|
|
{u'return': {}}
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'hash-alg': 'sha1', 'cipher-mode': 'ctr', 'cipher-alg': 'twofish-128', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}, 'iter-time': 10, 'ivgen-alg': 'plain64', 'ivgen-hash-alg': 'md5', 'driver': 'luks', 'size': 67108864}}}
|
|
{u'return': {}}
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_IMG"}, "key-secret": "keysec0"}
|
|
file format: IMGFMT
|
|
virtual size: 64M (67108864 bytes)
|
|
encrypted: yes
|
|
Format specific information:
|
|
ivgen alg: plain64
|
|
hash alg: sha1
|
|
cipher alg: twofish-128
|
|
uuid: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
cipher mode: ctr
|
|
slots:
|
|
[0]:
|
|
active: true
|
|
iters: XXX
|
|
key offset: 4096
|
|
stripes: 4000
|
|
[1]:
|
|
active: false
|
|
key offset: 69632
|
|
[2]:
|
|
active: false
|
|
key offset: 135168
|
|
[3]:
|
|
active: false
|
|
key offset: 200704
|
|
[4]:
|
|
active: false
|
|
key offset: 266240
|
|
[5]:
|
|
active: false
|
|
key offset: 331776
|
|
[6]:
|
|
active: false
|
|
key offset: 397312
|
|
[7]:
|
|
active: false
|
|
key offset: 462848
|
|
payload offset: 528384
|
|
master key iters: XXX
|
|
|
|
=== Invalid BlockdevRef ===
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'luks', 'file': "this doesn't exist", 'size': 67108864}}}
|
|
{u'return': {}}
|
|
Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
=== Zero size ===
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'node0', 'size': 0}}}
|
|
{u'return': {}}
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_IMG"}, "key-secret": "keysec0"}
|
|
file format: IMGFMT
|
|
virtual size: 0 (0 bytes)
|
|
encrypted: yes
|
|
Format specific information:
|
|
ivgen alg: plain64
|
|
hash alg: sha256
|
|
cipher alg: aes-256
|
|
uuid: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
cipher mode: xts
|
|
slots:
|
|
[0]:
|
|
active: true
|
|
iters: XXX
|
|
key offset: 4096
|
|
stripes: 4000
|
|
[1]:
|
|
active: false
|
|
key offset: 262144
|
|
[2]:
|
|
active: false
|
|
key offset: 520192
|
|
[3]:
|
|
active: false
|
|
key offset: 778240
|
|
[4]:
|
|
active: false
|
|
key offset: 1036288
|
|
[5]:
|
|
active: false
|
|
key offset: 1294336
|
|
[6]:
|
|
active: false
|
|
key offset: 1552384
|
|
[7]:
|
|
active: false
|
|
key offset: 1810432
|
|
payload offset: 2068480
|
|
master key iters: XXX
|
|
|
|
=== Invalid sizes ===
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 18446744073709551104L}}}
|
|
{u'return': {}}
|
|
Job failed: The requested file size is too large
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775808L}}}
|
|
{u'return': {}}
|
|
Job failed: The requested file size is too large
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775296}}}
|
|
{u'return': {}}
|
|
Job failed: The requested file size is too large
|
|
{'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
|
|
{u'return': {}}
|
|
|
|
=== Resize image with invalid sizes ===
|
|
|
|
{'execute': 'block_resize', 'arguments': {'size': 9223372036854775296, 'node_name': 'node1'}}
|
|
{u'error': {u'class': u'GenericError', u'desc': u'The requested file size is too large'}}
|
|
{'execute': 'block_resize', 'arguments': {'size': 9223372036854775808L, 'node_name': 'node1'}}
|
|
{u'error': {u'class': u'GenericError', u'desc': u"Invalid parameter type for 'size', expected: integer"}}
|
|
{'execute': 'block_resize', 'arguments': {'size': 18446744073709551104L, 'node_name': 'node1'}}
|
|
{u'error': {u'class': u'GenericError', u'desc': u"Invalid parameter type for 'size', expected: integer"}}
|
|
{'execute': 'block_resize', 'arguments': {'size': -9223372036854775808, 'node_name': 'node1'}}
|
|
{u'error': {u'class': u'GenericError', u'desc': u"Parameter 'size' expects a >0 size"}}
|
|
image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_IMG"}, "key-secret": "keysec0"}
|
|
file format: IMGFMT
|
|
virtual size: 0 (0 bytes)
|
|
encrypted: yes
|
|
Format specific information:
|
|
ivgen alg: plain64
|
|
hash alg: sha256
|
|
cipher alg: aes-256
|
|
uuid: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
cipher mode: xts
|
|
slots:
|
|
[0]:
|
|
active: true
|
|
iters: XXX
|
|
key offset: 4096
|
|
stripes: 4000
|
|
[1]:
|
|
active: false
|
|
key offset: 262144
|
|
[2]:
|
|
active: false
|
|
key offset: 520192
|
|
[3]:
|
|
active: false
|
|
key offset: 778240
|
|
[4]:
|
|
active: false
|
|
key offset: 1036288
|
|
[5]:
|
|
active: false
|
|
key offset: 1294336
|
|
[6]:
|
|
active: false
|
|
key offset: 1552384
|
|
[7]:
|
|
active: false
|
|
key offset: 1810432
|
|
payload offset: 2068480
|
|
master key iters: XXX
|
|
|