This semester I attended Advanced Topics of Linux Administration course on my university. To successfully complete the course, one must pass an exam, have a presentation and write an article on a related topic. I had a presentation about libvirt and decided to write an introduction into using libvirt’s API (the article has been published (in English) on Czech Linux portal ABCLinuxu.cz).
As an example, I have written a Plasma Applet in QML (yay, my first QML thingie!) and a Plasma DataEngine that serves data about QEMU/KVM virtual machines running under local libvirtd.
On the applet you can watch state of all virtual machines, you can boot/pause/resume/shutdown and reboot them and configure soft and hard memory limits and amount of virtual CPUs allocated to each machine.
I must admit that I was always a bit skeptical about QML, but my two previous encounters with QML made me really curious about it and writing this applet was really painfun and it taught me a lot about QML.
The big advantage of the DataEngine is that it’s not constantly polling libvirt for changes, but it rather utilizes it’s events API.
Wanna try? There’s a tarball here and git repo here: git://anongit.kde.org/scratch/dvratil/plasma-virt-monitor
It was fun to hack and I plan to give it some more love, possibly after Akademy.
PS: Akademy – anyone flying on Friday at 08:10 from Vienna ?