[infra] About create a Jenkins job for vdsm functional tests

Hi all, Recently some functional tests for VDSM are merged, including creating storage domain, pool and volume on local file system, and creating VM on the storage. I think it will be helpful to run these functional tests in oVirt Jenkins. I setup a Jenkins in my laptop and define a job to do this. Generally it polls VDSM git repo, pull the latest commit, builds the rpm, yum remove 'vdsm*', yum localinstall the generated rpms, start vdsmd.service, and run the functional tests. It's pretty straight forward. I think the oVirt Jenkins setup maybe different from a laptop, and you may have many other concerns. Is there anything I can help? -- Thanks and best regards! Zhou Zheng Sheng / 周征晟 E-mail: zhshzhou@linux.vnet.ibm.com Telephone: 86-10-82454397

----- Original Message -----
From: "Zhou Zheng Sheng" <zhshzhou@linux.vnet.ibm.com> To: infra@ovirt.org Sent: Thursday, November 29, 2012 11:46:32 AM Subject: [infra] About create a Jenkins job for vdsm functional tests
Hi all,
Recently some functional tests for VDSM are merged, including creating storage domain, pool and volume on local file system, and creating VM on the storage. I think it will be helpful to run these functional tests in oVirt Jenkins. I setup a Jenkins in my laptop and define a job to do this. Generally it polls VDSM git repo, pull the latest commit, builds the rpm, yum remove 'vdsm*', yum localinstall the generated rpms, start vdsmd.service, and run the functional tests. It's pretty straight forward.
I think the oVirt Jenkins setup maybe different from a laptop, and you may have many other concerns. Is there anything I can help?
yes. we recently started with an option for ovirt projects power users to get access to jenkins.ovirt.org. to create jobs and update existing jobs for thier project. current power users are: saggi - from vdsm alon bar-lev - from ovirt-engine, otopi, ovirt-host-install. if you feel you are familiar enough with jenkins and can add this functionality you can also request a power user permission by send it to the infra@ovirt.org list. (cc to engine list as well) so people from the community can vote on it. if not, you can open a ticket on it https://fedorahosted.org/ovirt/report/1, but i'm not sure when if it can be handled soon. Eyal.
-- Thanks and best regards!
Zhou Zheng Sheng / 周征晟 E-mail: zhshzhou@linux.vnet.ibm.com Telephone: 86-10-82454397
_______________________________________________ Infra mailing list Infra@ovirt.org http://lists.ovirt.org/mailman/listinfo/infra

On Thu, Nov 29, 2012 at 05:46:32PM +0800, Zhou Zheng Sheng wrote:
Hi all,
Recently some functional tests for VDSM are merged, including creating storage domain, pool and volume on local file system, and creating VM on the storage. I think it will be helpful to run these functional tests in oVirt Jenkins. I setup a Jenkins in my laptop and define a job to do this. Generally it polls VDSM git repo, pull the latest commit, builds the rpm, yum remove 'vdsm*', yum localinstall the generated rpms, start vdsmd.service, and run the functional tests. It's pretty straight forward.
These are great news!
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). Dan.

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.

Hi Ewoud 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. -- Thanks and best regards! Zhou Zheng Sheng / 周征晟 E-mail: zhshzhou@linux.vnet.ibm.com Telephone: 86-10-82454397

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.
participants (4)
-
Dan Kenigsberg
-
Ewoud Kohl van Wijngaarden
-
Eyal Edri
-
Zhou Zheng Sheng