On Thu, Feb 06, 2020 at 08:51:52AM +0100, Peter Krempa wrote:
This series fixes and improves the 'json:' pseudo-protocol
parser and
implements the 'offset' and 'size' attributes and exposes them as
<slice> in the XML.
https://bugzilla.redhat.com/show_bug.cgi?id=1791788
Peter Krempa (15):
virStorageSourceParseBackingJSON: Pass around original backing file
string
virStorageSourceParseBackingJSON: Move deflattening of json: URIs out
of recursion
virStorageSourceJSONDriverParser: annotate 'format' drivers
virStorageSourceParseBackingJSON: Allow 'json:' pseudo URIs without
'file' wrapper
virStorageSourceParseBackingJSON: Prevent arbitrary nesting with
format drivers
tests: virstorage: Add test cases for "json:" pseudo-URI without
'file' wrapper
tests: virstorage: Add test data for json specified raw image with
offset/size
util: virstoragefile: Add data structure for storing storage source
slices
qemuBlockStorageSourceGetFormatRawProps: format 'offset' and 'size'
for slice
qemuDomainValidateStorageSource: Reject unsupported slices
docs: formatdomain: Close <source> on one of disk examples
docs: Document the new <slices> sub-element of disk's <source>
conf: Implement support for <slices> of disk source
tests: qemu: Add test data for the new <slice> element
virStorageSourceParseBackingJSONRaw: Parse 'offset' and 'size'
attributes
So with this patch, virt-v2v -i ova now fails with:
Original error from libvirt: unsupported configuration: format slice
is not supported for format 'vmdk' [code=67 int1=-1]
The overlay was created (by virt-v2v) with:
$ qemu-img create -q -f qcow2 -b 'json:{ "file": { "driver":
"raw", "offset": 512, "size": 349405696, "file": {
"driver": "file", "filename": "/var/tmp/First.ova"
} } }' -o 'compat=1.1,backing_fmt=vmdk' /tmp/v2vovl.qcow2
A simple test case to use is:
$ wget
http://oirase.annexia.org/tmp/First.ova
$ virt-v2v -i ova First.ova -o null -v -x
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top