tests: qemumonitorjson: Add relative image names for node name detection

oVirt uses relative names with directories in them. Test such
configuration. Also tests a snapshot done with _REUSE_EXTERNAL and a
relative backing file pre-specified in the qcow2 metadata.
This commit is contained in:
Peter Krempa 2017-03-14 16:20:47 +01:00
parent b6c5a3f09b
commit 2a50c18fc0
3 changed files with 586 additions and 0 deletions

View File

@ -0,0 +1,554 @@
[
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"backing-image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/base.qcow2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/relsnap.qcow2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/base.qcow2",
"backing-filename": "/var/lib/libvirt/images/base.qcow2",
"dirty-flag": false
},
"iops_wr": 0,
"ro": false,
"node-name": "#block1177",
"backing_file_depth": 1,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"backing_file": "/var/lib/libvirt/images/base.qcow2",
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/relsnap.qcow2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/relsnap.qcow2",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": false,
"node-name": "#block1027",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/relsnap.qcow2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/base.qcow2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block957",
"backing_file_depth": 0,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/base.qcow2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/base.qcow2",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block840",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/base.qcow2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img0",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block709",
"backing_file_depth": 0,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img0",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/img0",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block665",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img0",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"backing-image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img0",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img1",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img0",
"backing-filename": "/var/lib/libvirt/images/img0",
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block514",
"backing_file_depth": 1,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"backing_file": "/var/lib/libvirt/images/img0",
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img1",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/img1",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block481",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img1",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"backing-image": {
"backing-image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img0",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img1",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img0",
"backing-filename": "/var/lib/libvirt/images/img0",
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img1",
"backing-filename": "/var/lib/libvirt/images/img1",
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block357",
"backing_file_depth": 2,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"backing_file": "/var/lib/libvirt/images/img1",
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/img2",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": true,
"node-name": "#block290",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img2",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"backing-image": {
"backing-image": {
"backing-image": {
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img0",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img1",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img0",
"backing-filename": "/var/lib/libvirt/images/img0",
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img2",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img1",
"backing-filename": "/var/lib/libvirt/images/img1",
"dirty-flag": false
},
"backing-filename-format": "qcow2",
"virtual-size": 10485760,
"filename": "/var/lib/libvirt/images/img3",
"cluster-size": 65536,
"format": "qcow2",
"actual-size": 200704,
"format-specific": {
"type": "qcow2",
"data": {
"compat": "1.1",
"lazy-refcounts": false,
"refcount-bits": 16,
"corrupt": false
}
},
"full-backing-filename": "/var/lib/libvirt/images/img2",
"backing-filename": "/var/lib/libvirt/images/img2",
"dirty-flag": false
},
"iops_wr": 0,
"ro": false,
"node-name": "#block153",
"backing_file_depth": 3,
"drv": "qcow2",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"backing_file": "/var/lib/libvirt/images/img2",
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img3",
"encryption_key_missing": false
},
{
"iops_rd": 0,
"detect_zeroes": "off",
"image": {
"virtual-size": 197120,
"filename": "/var/lib/libvirt/images/img3",
"format": "file",
"actual-size": 200704,
"dirty-flag": false
},
"iops_wr": 0,
"ro": false,
"node-name": "#block076",
"backing_file_depth": 0,
"drv": "file",
"iops": 0,
"bps_wr": 0,
"write_threshold": 0,
"encrypted": false,
"bps": 0,
"bps_rd": 0,
"cache": {
"no-flush": false,
"direct": false,
"writeback": true
},
"file": "/var/lib/libvirt/images/img3",
"encryption_key_missing": false
}
]

View File

@ -0,0 +1,31 @@
filename : '/var/lib/libvirt/images/img3'
format node : '#block153'
storage node: '#block076'
backingfile : '/var/lib/libvirt/images/img2'
backing ptr : '#block357'
filename : '/var/lib/libvirt/images/img2'
format node : '#block357'
storage node: '#block290'
backingfile : '/var/lib/libvirt/images/img1'
backing ptr : '#block514'
filename : '/var/lib/libvirt/images/img1'
format node : '#block514'
storage node: '#block481'
backingfile : '/var/lib/libvirt/images/img0'
backing ptr : '#block709'
filename : '/var/lib/libvirt/images/img0'
format node : '#block709'
storage node: '#block665'
backingfile : '<null>'
backing ptr : '<null>'
filename : '/var/lib/libvirt/images/relsnap.qcow2'
format node : '#block1177'
storage node: '#block1027'
backingfile : '/var/lib/libvirt/images/base.qcow2'
backing ptr : '#block957'
filename : '/var/lib/libvirt/images/base.qcow2'
format node : '#block957'
storage node: '#block840'
backingfile : '<null>'
backing ptr : '<null>'

View File

@ -2931,6 +2931,7 @@ mymain(void)
DO_TEST_BLOCK_NODE_DETECT("1", "#block118");
DO_TEST_BLOCK_NODE_DETECT("2", "#block161");
DO_TEST_BLOCK_NODE_DETECT("same-backing", "#block170,#block574");
DO_TEST_BLOCK_NODE_DETECT("relative", "#block153,#block1177");
#undef DO_TEST_BLOCK_NODE_DETECT