
Thanks, I think the way forward for me is as follows: - I've had to discard oVirt and Enomalism, thanks for letting me know they exist on here/IRC. oVirt seems to be a complete solution that would require me to reconfigure many of my existing vms and Enomalism is just inappropriate for VPS hosts and more company-with-lots-of-machines centric it appears. - I'm really after something that can slot into my existing setup of '/home/virt/domains/Machine/vm.cfg' (a name I just chose arbitrarily) and use the cfg files to provide info about the machine to a user over the web, then the perl bindings to start/stop/restart. - So, the perl bindings and a socket with permissions for the web user or possibly a 'vmadmins' group - Eventually i hope to package it up into a standalone web server (a-la webmin) style solution and release it, but i've got to finish my degree first so that will be months, my customers are my immediate concern and I have a basic version of the above which can do shutdowns/reboots/startups in action at the moment. - It was regrettably necessary to have to have some actions contingent on things like libvirt error code: 42 i.e. If you try to retrieve a domain that doesn't exist (and is not defined). I expect these to break when the ubuntu package maintainers upgrade to 0.4.1 - but i'll have to deal with that when the time comes I'll keep hanging out in #virt for as long as i can remember to stay connected :p Thanks, Henri Richard W.M. Jones wrote:
On Sat, Apr 05, 2008 at 09:35:33PM +0100, Henri Cook wrote:
I'm designing a web interface for libvirt so that my customers can manage their DomUs - unless you know of a good one that already exists???
I'm thinking that the best way to run this is have the web server connected to libvirtd - but I can't find any documentation about the API it presents - can you help?
I sort of gathered from IRC that you are using Perl & Dan's Perl bindings. This is the right approach.
In order to be able to contact libvirtd without needing to run anything as root you (may) need to change the permissions on the libvirtd socket (normally /var/run/libvirt/libvirt-sock). If your libvirt was configured to use PolicyKit you may also need to edit the configuration file /etc/PolicyKit/PolicyKit.conf to allow your web server user access to the privilege 'org.libvirt.unix.manage'.
I would test this out using 'virsh -c ... list' as the web daemon user first of all.
Rich.