
On Thu, Jan 22, 2009 at 12:10:51PM +0000, Daniel P. Berrange wrote:
On Mon, Jan 19, 2009 at 01:01:15PM +0000, Daniel P. Berrange wrote:
On Mon, Jan 19, 2009 at 01:53:48PM +0100, Daniel Schwager wrote:
Hi Daniel,
Charles Duffy (thanks Charles !) told me how to fix libvirt for using the new "-incoming" API - yust replace "stdio" with "exec:cat" ..
Works like a charm, tested with FC9, libvirt.0.5.1-2 and KVM-83
Unfortunately things are not that simple. This will work for new KVM, but break for older KVM which only supports 'stdio:', 'file://' and 'tcp://' for incoming migration. There needs to be some kind of version / support check here to decide which syntax to use.
The version check is quite tricky due to soo many combinations. So I've created some test scripts to check we're doing it right. This patch should make restore work again, by detecting if 'exec' is supported and then doing an automatic conversion from 'stdio' to 'exec:cat' in this case. It also prints clear error messages if it finds a QEMU which doesn't have the neccessary support - likewise detecting old KVM where the TCP migration wouldn't work correctly, just hanging on startup.
b/tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 1 b/tests/qemuxml2argvdata/qemuxml2argv-migrate.xml | 22 +++++++++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args | 1 b/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.xml | 22 +++++++++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args | 1 b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.xml | 22 +++++++++ src/qemu_conf.c | 44 ++++++++++++++++++ src/qemu_conf.h | 20 ++++---- tests/qemuxml2argvtest.c | 23 +++++++-- 9 files changed, 144 insertions(+), 12 deletions(-)
Looks OK at a brief scan, and can't be worse than failing like we do now, so +1. Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones Read my OCaml programming blog: http://camltastic.blogspot.com/ Fedora now supports 68 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora