On 08/29/2017 02:39 AM, Ashish Mittal wrote: > Verifies TLS args are auto generated if enabled in qemu.conf > Verifies TLS args are not generated if XML specifies tls='no' > > Signed-off-by: Ashish Mittal <Ashish.Mittal@xxxxxxxxxxx> > --- > ...-disk-drive-network-tlsx509-multidisk-vxhs.args | 43 +++++++++++++++++ > ...v-disk-drive-network-tlsx509-multidisk-vxhs.xml | 56 ++++++++++++++++++++++ > tests/qemuxml2argvtest.c | 2 + > 3 files changed, 101 insertions(+) > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml > > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args > new file mode 100644 > index 0000000..005ad78 > --- /dev/null > +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args > @@ -0,0 +1,43 @@ > +LC_ALL=C \ > +PATH=/bin \ > +HOME=/home/test \ > +USER=test \ > +LOGNAME=test \ > +QEMU_AUDIO_DRV=none \ > +/usr/bin/qemu-system-x86_64 \ > +-name QEMUGuest1 \ > +-S \ > +-M pc \ > +-cpu qemu32 \ > +-m 214 \ > +-smp 1,sockets=1,cores=1,threads=1 \ > +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ > +-nographic \ > +-nodefaults \ > +-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\ > +server,nowait \ > +-mon chardev=charmonitor,id=monitor,mode=readline \ > +-no-acpi \ > +-boot c \ > +-usb \ > +-object tls-creds-x509,id=objvxhs_tls0,dir=/usr/local/etc/pki/qemu,\ dir=/etc/pki/qemu > +endpoint=client,verify-peer=yes \ > +-drive file.driver=vxhs,file.tls-creds=objvxhs_tls0,\ > +file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc251,\ > +file.server.host=192.168.0.1,file.server.port=9999,format=raw,if=none,\ > +id=drive-virtio-disk0,cache=none \ > +-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ > +id=virtio-disk0 \ > +-object tls-creds-x509,id=objvxhs_tls0,dir=/usr/local/etc/pki/qemu,\ dir=/etc/pki/qemu But this points out a problem - you now have two objects using the same id "id=objvxhs_tls0". This would fail a real qemu start... So here's my suggestion - see that "drive-virtio-disk0" - let's make use of that and instead of "objvxhs_tls0" - this would become "objvirtio-disk0-tls" - it's generic. This of course goes back to patch 5 where the alias was first created... > +endpoint=client,verify-peer=yes \ > +-drive file.driver=vxhs,file.tls-creds=objvxhs_tls0,\ > +file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc252,\ > +file.server.host=192.168.0.2,file.server.port=9999,format=raw,if=none,\ > +id=drive-virtio-disk1,cache=none \ > +-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,\ > +id=virtio-disk1 \ > +-drive file.driver=vxhs,file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc253,\ > +file.server.host=192.168.0.3,file.server.port=9999,format=raw,if=none,\ > +id=drive-virtio-disk2,cache=none \ > +-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk2,\ > +id=virtio-disk2 Need to alter the various outputs to include the file.server.0.type and then file.server.0 for host and port > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml > new file mode 100644 > index 0000000..3d28958 > --- /dev/null > +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml > @@ -0,0 +1,56 @@ > +<domain type='qemu'> > + <name>QEMUGuest1</name> > + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> > + <memory unit='KiB'>219136</memory> > + <currentMemory unit='KiB'>219136</currentMemory> > + <vcpu placement='static'>1</vcpu> > + <os> > + <type arch='i686' machine='pc'>hvm</type> > + <boot dev='hd'/> > + </os> > + <clock offset='utc'/> > + <on_poweroff>destroy</on_poweroff> > + <on_reboot>restart</on_reboot> > + <on_crash>destroy</on_crash> > + <devices> > + <emulator>/usr/bin/qemu-system-x86_64</emulator> > + <disk type='network' device='disk'> > + <driver name='qemu' type='raw' cache='none'/> > + <source protocol='vxhs' name='eb90327c-8302-4725-9e1b-4e85ed4dc251'> > + <host name='192.168.0.1' port='9999'/> > + </source> > + <backingStore/> Remove... > + <target dev='vda' bus='virtio'/> > + <serial>eb90327c-8302-4725-9e1b-4e85ed4dc251</serial> > + <alias name='virtio-disk0'/> Remove... > + <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> > + </disk> > + <disk type='network' device='disk'> > + <driver name='qemu' type='raw' cache='none'/> > + <source protocol='vxhs' name='eb90327c-8302-4725-9e1b-4e85ed4dc252'> > + <host name='192.168.0.2' port='9999'/> > + </source> > + <backingStore/> Remove... > + <target dev='vdb' bus='virtio'/> > + <serial>eb90327c-8302-4725-9e1b-4e85ed4dc252</serial> > + <alias name='virtio-disk0'/> !!!! Same as other one!!! This is virtio-disk1, but still it's unnecessary, so it needs to be removed. > + <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> > + </disk> > + <disk type='network' device='disk'> > + <driver name='qemu' type='raw' cache='none'/> > + <source protocol='vxhs' name='eb90327c-8302-4725-9e1b-4e85ed4dc253' tls='no'> > + <host name='192.168.0.3' port='9999'/> > + </source> > + <backingStore/> Remove > + <target dev='vdc' bus='virtio'/> > + <serial>eb90327c-8302-4725-9e1b-4e85ed4dc252</serial> > + <alias name='virtio-disk0'/> !! would be virtio-disk2, but remove it. As you can see - I've gone through everything now. While doing so I've been making changes to sources and patch order a bit. I'll clean that all up and post in a little while. I need to go through each patch and figure out what I changed in order to "call it out"... John > + <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> > + </disk> > + <controller type='usb' index='0'/> > + <controller type='pci' index='0' model='pci-root'/> > + <input type='mouse' bus='ps2'/> > + <input type='keyboard' bus='ps2'/> > + <memballoon model='none'/> > + </devices> > +</domain> > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c > index d9723c4..bc9d3a2 100644 > --- a/tests/qemuxml2argvtest.c > +++ b/tests/qemuxml2argvtest.c > @@ -937,6 +937,8 @@ mymain(void) > driver.config->vxhsTLS = 1; > DO_TEST("disk-drive-network-tlsx509-vxhs", > QEMU_CAPS_OBJECT_TLS_CREDS_X509); > + DO_TEST("disk-drive-network-tlsx509-multidisk-vxhs", > + QEMU_CAPS_OBJECT_TLS_CREDS_X509); > driver.config->vxhsTLS = 0; > VIR_FREE(driver.config->vxhsTLSx509certdir); > DO_TEST("disk-drive-no-boot", > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list