[libvirt-users] Compatibility with Parallels Virtouzo

Hi, will libvirt work with the commercial parallels virtuozzo, too? Cause the linux version of virtuozzo is based on openvz, which ist supported by libvirt. Does someone have some experencies with that? Thanks for any feedback, Andreas -- SysEleven GmbH Rosenthaler Str. 34/35 10178 Berlin Firmensitz: Berlin Registergericht: AG Berlin Charlottenburg, HRB 108571 B Geschäftsführer: Marc Korthaus

2011/5/23 Andreas Mauf <a.mauf@syseleven.de>:
Hi,
will libvirt work with the commercial parallels virtuozzo, too? Cause the linux version of virtuozzo is based on openvz, which ist supported by libvirt.
This depends on whether or not virtuozzo can be controlled via the vzctl tool, because that's bow libvirt interacts with OpenVZ. Matthias

Yes, vzctl works. But how do I connect to Virtuozzo? Using the openvz driver it doesn't work out of the box: virsh # connect openvz:///system error: Failed to connect to the hypervisor error: no connection driver available for openvz:///system 2011/5/23 Matthias Bolte <matthias.bolte@googlemail.com>
2011/5/23 Andreas Mauf <a.mauf@syseleven.de>:
Hi,
will libvirt work with the commercial parallels virtuozzo, too? Cause the linux version of virtuozzo is based on openvz, which ist supported by libvirt.
This depends on whether or not virtuozzo can be controlled via the vzctl tool, because that's bow libvirt interacts with OpenVZ.
Matthias

2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Yes, vzctl works. But how do I connect to Virtuozzo? Using the openvz driver it doesn't work out of the box: virsh # connect openvz:///system error: Failed to connect to the hypervisor error: no connection driver available for openvz:///system
You're libvirt might be compiled without OpenVZ support. Try LIBVIRT_DEBUG=1 virsh -c openvz:///system and check if it's probing the OpenVZ driver. On the other hand the OpenVZ driver checks for the existence of /proc/vz and reports an error if it's not there $ virsh -c openvz:///system error: internal error OpenVZ control file /proc/vz does not exist error: failed to connect to the hypervisor This might need to be changed/extended in your case, I don't know.
2011/5/23 Matthias Bolte <matthias.bolte@googlemail.com>
2011/5/23 Andreas Mauf <a.mauf@syseleven.de>:
Hi,
will libvirt work with the commercial parallels virtuozzo, too? Cause the linux version of virtuozzo is based on openvz, which ist supported by libvirt.
This depends on whether or not virtuozzo can be controlled via the vzctl tool, because that's bow libvirt interacts with OpenVZ.
Matthias
-- Matthias Bolte http://photron.blogspot.com

Thanks! I compiled libvirt on my own and added --with-openvz. Driver is now available. But as feared libvirt is using a api call that virtuozzo dont accept. Is there a way to update those calls? [root@localhost local]# LIBVIRT_DEBUG=1 virsh -c openvz:///system
[...] 00:25:12.878: 2313: debug : do_open:1053 : trying driver 1 (OPENVZ) ... 00:25:12.879: 2313: debug : virCommandRunAsync:1874 : *About to run /usr/sbin/vzlist -a -ovpsid,status -H *00:25:12.901: 2313: debug : virCommandRunAsync:1890 : Command result 0, with PID 2314 00:25:12.902: 2313: debug : virCommandRun:1711 : Result status 0, stdout: '' stderr: '00:25:12.889: 2314: debug : virCommandHook:1808 : Hook is done 0 *Unknown field: vpsid *' 00:25:12.902: 2313: debug : do_open:1059 : driver 1 OPENVZ returned ERROR 00:25:12.903: 2313: debug : virUnrefConnect:145 : unref connection 0xc9aada0 1 00:25:12.903: 2313: debug : virReleaseConnect:94 : release connection 0xc9aada0 error: internal error Child process (/usr/sbin/vzlist -a -ovpsid,status -H) status unexpected: exit status 1 error: failed to connect to the hypervisor
2011/7/12 Matthias Bolte <matthias.bolte@googlemail.com>
2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Yes, vzctl works. But how do I connect to Virtuozzo? Using the openvz driver it doesn't work out of the box: virsh # connect openvz:///system error: Failed to connect to the hypervisor error: no connection driver available for openvz:///system
You're libvirt might be compiled without OpenVZ support. Try
LIBVIRT_DEBUG=1 virsh -c openvz:///system
and check if it's probing the OpenVZ driver.

Well, as Virtuozzo is a variant of OpenVZ it'll probably be possible to teach the OpenVZ driver to detect and deal with this similar to the QEMU driver dealing with different variants of QEMU. 2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Thanks! I compiled libvirt on my own and added --with-openvz. Driver is now available. But as feared libvirt is using a api call that virtuozzo dont accept. Is there a way to update those calls?
[root@localhost local]# LIBVIRT_DEBUG=1 virsh -c openvz:///system [...] 00:25:12.878: 2313: debug : do_open:1053 : trying driver 1 (OPENVZ) ... 00:25:12.879: 2313: debug : virCommandRunAsync:1874 : About to run /usr/sbin/vzlist -a -ovpsid,status -H 00:25:12.901: 2313: debug : virCommandRunAsync:1890 : Command result 0, with PID 2314 00:25:12.902: 2313: debug : virCommandRun:1711 : Result status 0, stdout: '' stderr: '00:25:12.889: 2314: debug : virCommandHook:1808 : Hook is done 0 Unknown field: vpsid '
Is this filed just named differently, or did Virtuozzo completely remove this ID? If it's just named different then this should be simple to fix, but it needs someone to figure this out.
00:25:12.902: 2313: debug : do_open:1059 : driver 1 OPENVZ returned ERROR 00:25:12.903: 2313: debug : virUnrefConnect:145 : unref connection 0xc9aada0 1 00:25:12.903: 2313: debug : virReleaseConnect:94 : release connection 0xc9aada0 error: internal error Child process (/usr/sbin/vzlist -a -ovpsid,status -H) status unexpected: exit status 1 error: failed to connect to the hypervisor
2011/7/12 Matthias Bolte <matthias.bolte@googlemail.com>
2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Yes, vzctl works. But how do I connect to Virtuozzo? Using the openvz driver it doesn't work out of the box: virsh # connect openvz:///system error: Failed to connect to the hypervisor error: no connection driver available for openvz:///system
You're libvirt might be compiled without OpenVZ support. Try
LIBVIRT_DEBUG=1 virsh -c openvz:///system
and check if it's probing the OpenVZ driver.
-- Matthias Bolte http://photron.blogspot.com

It should be CTID instead of VPSID. I think this was changed in openvz version, too: http://wiki.openvz.org/Man/vzlist.8 Can we fix this in /root/libvirt-0.9.3/srcopenvz/openvz_conf.c and reinstall? 2011/7/12 Matthias Bolte <matthias.bolte@googlemail.com>
Well, as Virtuozzo is a variant of OpenVZ it'll probably be possible to teach the OpenVZ driver to detect and deal with this similar to the QEMU driver dealing with different variants of QEMU.
2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Thanks! I compiled libvirt on my own and added --with-openvz. Driver is now available. But as feared libvirt is using a api call that virtuozzo dont accept. Is there a way to update those calls?
[root@localhost local]# LIBVIRT_DEBUG=1 virsh -c openvz:///system [...] 00:25:12.878: 2313: debug : do_open:1053 : trying driver 1 (OPENVZ) ... 00:25:12.879: 2313: debug : virCommandRunAsync:1874 : About to run /usr/sbin/vzlist -a -ovpsid,status -H 00:25:12.901: 2313: debug : virCommandRunAsync:1890 : Command result 0, with PID 2314 00:25:12.902: 2313: debug : virCommandRun:1711 : Result status 0,
stdout:
'' stderr: '00:25:12.889: 2314: debug : virCommandHook:1808 : Hook is done 0 Unknown field: vpsid '
Is this filed just named differently, or did Virtuozzo completely remove this ID?
If it's just named different then this should be simple to fix, but it needs someone to figure this out.

Well, vpsid is in there for a reason. If this was renamed we need to figure out how to detect that and make the OpenVZ driver deal with it at runtime. We definitely cannot just replace vpsid with ctid as this would break compatibility with older OpenVZ versions. But I'm not familiar with OpenVZ, so I'm not the one to decide here. For testing you can just go ahead and replace vpsid with ctid and recompile to see how far that gets you. 2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
It should be CTID instead of VPSID. I think this was changed in openvz version, too: http://wiki.openvz.org/Man/vzlist.8 Can we fix this in /root/libvirt-0.9.3/srcopenvz/openvz_conf.c and reinstall?
2011/7/12 Matthias Bolte <matthias.bolte@googlemail.com>
Well, as Virtuozzo is a variant of OpenVZ it'll probably be possible to teach the OpenVZ driver to detect and deal with this similar to the QEMU driver dealing with different variants of QEMU.
2011/7/12 Andreas Mauf <a.mauf@syseleven.de>:
Thanks! I compiled libvirt on my own and added --with-openvz. Driver is now available. But as feared libvirt is using a api call that virtuozzo dont accept. Is there a way to update those calls?
[root@localhost local]# LIBVIRT_DEBUG=1 virsh -c openvz:///system [...] 00:25:12.878: 2313: debug : do_open:1053 : trying driver 1 (OPENVZ) ... 00:25:12.879: 2313: debug : virCommandRunAsync:1874 : About to run /usr/sbin/vzlist -a -ovpsid,status -H 00:25:12.901: 2313: debug : virCommandRunAsync:1890 : Command result 0, with PID 2314 00:25:12.902: 2313: debug : virCommandRun:1711 : Result status 0, stdout: '' stderr: '00:25:12.889: 2314: debug : virCommandHook:1808 : Hook is done 0 Unknown field: vpsid '
Is this filed just named differently, or did Virtuozzo completely remove this ID?
If it's just named different then this should be simple to fix, but it needs someone to figure this out.
participants (2)
-
Andreas Mauf
-
Matthias Bolte