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.