
On Fri, Nov 30, 2012 at 09:55:39AM +0800, Zhou Zheng Sheng wrote:
on 11/30/2012 02:40, Ewoud Kohl van Wijngaarden wrote:
On Thu, Nov 29, 2012 at 01:53:00PM +0200, Dan Kenigsberg wrote:
On Thu, Nov 29, 2012 at 05:46:32PM +0800, Zhou Zheng Sheng wrote:
I think the oVirt Jenkins setup maybe different from a laptop, and you may have many other concerns. Is there anything I can help? We are in a constant want of slaves, but I hope that even without you donating one, Eyal can borrow your job and run it on "master" branch (and in the future, on every whitelisted post). I feel like a job that modifies the system state is likely to fail (care must be taken to to run it twice for example). We're working hard on adding more slaves and are close to getting some more power. Maybe we can set up VMs dedicated to that kind of job? Max 1 job, relative little resources so we can have a couple of those.
I agree on running functional tests in VM. We can create disk snapshot for the VM, if the guest system fails in functional tests, just restore the snapshot. We can utilize snapshot moded of QEMU as well. In a snapshot mode VM, changes to the disk are not written to the image, but to a temp file. If the guest OS fails, we can just shutdown the VM, so the changes in the temp file are discarded. When the VM is started again, it goes to the previous good state. When we need to update the packages or edit network settings in the VM, just switch off snapshot mode. I wrote a simple script to do snapshot mode switching for a libvirtd managed VM. It requires shutting down the guest to take effect.
To run VM creating tests on a VM slave, we can use the nested KVM or faqemu hook in VDSM.
That certainly sounds like a very good solution. We haven't reached a conclusion about running just libvirt or ovirt but it sounds like both will work.