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