Configuring Fedora 18 to run VDSM functional tests

Zhou Zheng Sheng zhshzhou at linux.vnet.ibm.com
Thu Mar 7 08:00:55 UTC 2013


Thanks Fabian. I have a look at igor. It's very powerful. From what I 
understand, Jenkins invokes igor client to upload the test plan to 
igord. igord starts VMs and let cobller setup the guest OS, then the 
igor guest agent inside guest OS download the test from igord and run 
them. The igor guest agent will upload the test result after each test 
step. The communication is through HTTP. igord implements a REST-like 
web interface. Extra parameters can be passed to the guest agent by 
appending the kernel arguments of the guest OS.

If I want to setup several VMs and run a cluster test plan on them, igor 
will be very helpful. I think igor is a little too heavy for the current 
VDSM functional tests. For now we just run the tests on single node. I 
think it's easier to do this using the libvirt-slave plugin for Jenkins. 
It enables Jenkins start VM as a slave and shutdown after use. The slave 
can be put behind the NAT using the default libvirt network. I have 
already configured this environment and test it in my lab. It seems good 
enough for this task.

We have some proposals for a cluster test plan in our team. I will learn 
more about igor and see if we can leverage it. It will be very useful if 
igor is integrated to the oVirt infrastructure. We can re-use this 
service to more high level tests.

on 03/05/2013 18:20, Fabian Deutsch wrote:
> Am Dienstag, den 05.03.2013, 14:30 +0800 schrieb Zhou Zheng Sheng:
>> I setup a virtual machine running in QEMU snapshot mode. Then add it
>> to
>> Jenkins as a slave. There is a plugin for Jenkins to start and stop
>> slave using libvirt. So I configure Jenkins to start the VM slave to
>> build, install and run VDSM tests, then shutdown. Jenkins slave gets
>> the
>> root privileges of the guest OS and do whatever it needs to. Since the
>> VM slave is in snapshot mode, it restores the original state after
>> shutdown. I also make a small script to switch snapshot mode on/off
>> when
>> I needs to manage the configuration and packages for the guest OS.
>>
>> Which plan do you prefer? Could someone help me setup this
>> environment?
>> (I only get access to Jenkins.)
> Hey,
>
> with oVirt Node we've got similar problems of how to do the functional
> tests.
> That's why we came up with igor [0]. Igord integrates nicely with
> Jenkins and does all the VM management for you.
> What igor does is creating and setting up an OS (by passing
> kernelarguments - currently only oVirt Node is tested) and running a
> testsuite on the OS itself - so maybe this is interesting for you too!
> You could even run vdsm on a Node build (a Node ISO is build is
> triggered by every vdsm fedora package build).
>
> Currently Igor uses libvirt to run the VMs and requires cobbler to setup
> the VMs, but we might drop this dependency.
> This document describes how to setup an Igor env on Fedora 18 [1].
>
> Besides that we are also looking how we can integrate Igor into the
> oVirt infrastructure.
>
> Greetings
> fabian
>
> --
> [0] https://gitorious.org/ovirt/igord
> [1] https://etherpad.mozilla.org/VXrJkQBNhq

-- 
Thanks and best regards!

Zhou Zheng Sheng / 周征晟
E-mail: zhshzhou at linux.vnet.ibm.com
Telephone: 86-10-82454397




More information about the Infra mailing list