
On Fri, Mar 16, 2012 at 7:35 AM, Eric Blake <eblake@redhat.com> wrote:
On 03/15/2012 08:26 PM, Jesse Cook wrote:
v0.9.10 client did not want to play nicely with the v0.9.10 server via qemu+ssh. I got frustrated and just tried running the test from a client running an older version of libvirt. When connecting to v0.9.10, it behaved the same way the pre-patched did in my cover letter. I don't have full test results because of the communication errors I was getting. I'll try to either figure it out tomorrow or just use the older version as the client (pre-patch and patch).
Since qemu already uses rpc mechanism, I've found it easy to mix-and-match by doing this in two terminals both logged in as root, and both located in a libvirt.git checkout directory (if you don't mind building as root; if you do mind building as root, then have three, where the third is a regular user running as non-root to do the builds):
setup: 1# git clone libvirt ... 1# cd libvirt 1# ./autobuild.sh --system 1# apply patches I'm interested in testing 1# make 2# cd libvirt
old libvirtd server, old virsh client: 1# service libvirtd start 2# virsh ... 1# service libvirtd stop
old libvirtd, new virsh 1# service libvirtd start 2# tools/virsh ... 1# service libvirtd stop
new libvirtd, old virsh 1# daemon/libvirtd 2# virsh ... 1# Ctrl-C
new libvirtd, new virsh 1# daemon/libvirtd 2# tools/virsh ... 1# Ctrl-C
That gives me testing of all four protocol combinations, assuming that the installed version is a current release without my patch, and my just-built in-tree version has my patch. No need to complicate protocol testing with multi-host qemu+ssh:// stuff.
-- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Eric, Thanks. v0.9.10 was giving me a lot of trouble, so I just compiled two versions of the test code in the cover letter. One uses the patched libs and one the unchanged libs. N.B. I compiled the patched version using the following change due to the issues with using 65536: /* Upper limit on lists of storage pool names. */ -const REMOTE_STORAGE_POOL_NAME_LIST_MAX = 256; +const REMOTE_STORAGE_POOL_NAME_LIST_MAX = 7084; Results: With the patched version of libvirt installed and unpatched libvirtd running: for i in `ls -1 /etc/libvirt/storage/*`; do virsh pool-start $(basename $i .xml); done &>/dev/null ~/pool-test-unpatched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Before virConnectListStoragePools libvir: Remote error : too many remote undefineds: 407 > 256 After virConnectListStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Inactive: -1 ~/pool-test-patched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Before virConnectListStoragePools After virConnectListStoragePools Active: 407 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Inactive: -1 for i in `ls -1 /etc/libvirt/storage/*`; do virsh pool-destroy $(basename $i .xml); done &>/dev/null ~/pool-test-unpatched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Before virConnectListDefinedStoragePools libvir: Remote error : too many remote undefineds: 407 > 256 After virConnectListDefinedStoragePools Inactive: -1 ~/pool-test-patched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Before virConnectListDefinedStoragePools After virConnectListDefinedStoragePools Inactive: 407 With the unchanged version of libvirt installed and unpatched libvirtd running: for i in `ls -1 /etc/libvirt/storage/*`; do virsh pool-start $(basename $i .xml); done &>/dev/null ~/pool-test-unpatched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Before virConnectListStoragePools libvir: Remote error : too many remote undefineds: 407 > 256 After virConnectListStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Inactive: -1 ~/pool-test-patched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Before virConnectListStoragePools libvir: RPC error : internal error maxnames > REMOTE_STORAGE_POOL_NAME_LIST_MAX After virConnectListStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Inactive: -1 for i in `ls -1 /etc/libvirt/storage/*`; do virsh pool-destroy $(basename $i .xml); done &>/dev/null ~/pool-test-unpatched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Before virConnectListDefinedStoragePools libvir: Remote error : too many remote undefineds: 407 > 256 After virConnectListDefinedStoragePools Inactive: -1 ~/pool-test-patched Before virConnectNumOfStoragePools After virConnectNumOfStoragePools Active: -1 Before virConnectNumOfDefinedStoragePools After virConnectNumOfDefinedStoragePools Before virConnectListDefinedStoragePools libvir: RPC error : internal error maxnames > REMOTE_STORAGE_POOL_NAME_LIST_MAX After virConnectListDefinedStoragePools Inactive: -1 -- Jesse