On Thu, Oct 08, 2015 at 05:25:52PM +0530, Prasanna Kumar Kalever wrote: > This patch adds support for gluster specific JSON formatter functionality > > currently libvirt has the capability to parse only one host and convert that > into URI formatted string, with the help of this patch libvirt will be able > to parse multiple hosts from the domain xml and can convert that into JSON > formatted string > > if the number of hosts supplied is only one, then we use existing URI format > for backward compatibility and if number of hosts is greater than one we switch > to the new JSON format > > before: > ------ > example.xml: > ... > <disk type='network' device='disk'> > <driver name='qemu' type='qcow2' cache='none'/> > <source protocol='gluster' name='testvol/a.qcow2'> > <host name='1.2.3.4' port='24007' transport="tcp"/> > </source> > <target dev='vda' bus='virtio'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> > </disk> > ... > > resultant string: > file=gluster://1.2.3.4:24007/testvol/a.qcow2, \ > if=none,id=drive-virtio-disk0,format=qcow2,cache=none > > after: > ----- > example.xml: > ... > <disk type='network' device='disk'> > <driver name='qemu' type='qcow2' cache='none'/> > <source protocol='gluster' name='testvol/a.qcow2'> > <host name='1.2.3.4' port='24009' transport="tcp"/> > <host name='3.4.5.6' port="24008"/> > <host name='5.6.7.8' /> > </source> > <target dev='vda' bus='virtio'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> > </disk> > ... > > resultant string: > -drive file=json:{ > "file": { > "driver": "gluster",, > "volname": "testvol",, > "image-path": "/a.qcow2",, > "volfile-servers": [ > { > "server": "1.2.3.4",, > "port": 24009,, > "transport": "tcp" > },, > { > "server": "3.4.5.6",, > "port": 24008,, > "transport": "tcp" > },, > { > "server": "5.6.7.8",, > "port": 24007,, > "transport": "tcp" > } > ] > },, > "driver": "qcow2" > } > ,if=none,id=drive-virtio-disk0,cache=none > > this patch requires qemu latest patch > https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg07062.html > > Credits: Sincere thanks to Kevin Wolf <kwolf@xxxxxxxxxx> and > "Deepak C Shetty" <deepakcs@xxxxxxxxxx> for their support > > Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@xxxxxxxxxx> > --- > v1: add support to gluster json formatter > > v2: addressing "Peter Krempa" <pkrempa@xxxxxxxxxx> comments > --- > src/qemu/qemu_command.c | 216 ++++++++++++++++++++++++++++++++++++------------ Any time qemu_command.c is extended, you need to add to the test suite qemuxml2argvtest.c at the very minimum, ideally qemuxml2xmltest and qemuargv2xmltest too if poissible Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list