Need help to setup an slave for VDSM functional tests

Eyal Edri eedri at redhat.com
Fri Apr 19 07:53:45 UTC 2013



----- Original Message -----
> From: "Zhou Zheng Sheng" <zhshzhou at linux.vnet.ibm.com>
> To: "Eyal Edri" <eedri at redhat.com>
> Cc: "infra" <infra at ovirt.org>
> Sent: Friday, April 19, 2013 4:42:45 AM
> Subject: Re: Need help to setup an slave for VDSM functional tests
> 
> 
> on 04/17/2013 21:21, Eyal Edri wrote:
> > 
> > 
> > ----- Original Message -----
> >> From: "Zhou Zheng Sheng" <zhshzhou at linux.vnet.ibm.com>
> >> To: "infra" <infra at ovirt.org>
> >> Sent: Wednesday, April 17, 2013 12:44:18 PM
> >> Subject: Need help to setup an slave for VDSM functional tests
> >>
> >> Hi,
> >>
> >> I got a Jenkins power user account. I want to configure a job to run
> >> VDSM functional tests on a Fedora 18 slave. The functional tests need
> >> some prerequisites that can not be done in Jenkins, for example,
> >> installing dependency packages (git, python-pep8, pyflakes, autoconf,
> >> gcc...), configuring sudo (Jenkins needs root privilege to
> >> install/start/stop VDSM), configuring glusterfs. Since the functional
> >> tests actually install VDSM on the slave's OS, the slave is better to be
> >> a virtual machine.
> > 
> > i believe the current f18 slaves already have those, if not please open a
> > ticket/email to infra.
> > 
> 
> Great!
> 
> >>
> >> In all, to run VDSM functional tests, we need a VM that is ready to
> >> build and install VDSM. There are already some slaves running jobs for
> >> building VDSM and unit tests, the environment is almost the same for
> >> functional tests. The VM slave needs not be online all the time. There
> >> is a Jenkins plugin named "libvirt slave", it can start the VM when the
> >> job is triggered, and shutdown it when it's idle for some time. I do not
> >> have the privilege to install that plugin. Could you install libvirt
> >> slave plugin as well?
> > 
> > we currently don't have ability to start/stop vms or launching any
> > non-amazon vms as slaves.
> > (we're working on adding new vms on ovirt-engine instance, which will give
> > us more flexibility with that).
> > 
> > is shutting down the vm part of the test?
> >
> 
> Thanks Eyal! The functional tests install VDSM rpms, start/stop
> services, add/delete iSCSI LUNs and NFS exports, and if we want to do
> glusterfs tests, selinux must be turned off. These actions needs root
> privilege. If we give Jenkins slave process these privilege, it results
> some security wholes in the slave OS, so I think we'd better run the
> tests in a VM slave on demand, and shutdown when idle. As you said, we
> do not have the ability to start VMs, so I think if the slave is behind
> a NAT and can not be accessed from the public network, we can give the
> Jenkins slave process those privileges. Otherwise I have to investigate
> some other means to run functional tests safely. I tried libvirt-sandbox
> but it seems very complicated to configure a system to run VDSM in
> libvirt-sandbox. What do you think?

i think that your best option will be to wait till we have a working ovirt-engine instance running
that runs jenkins slaves.

we'll then be able to create vms on it via restapi/sdk/cli. (which i think there might be some code for it
already that will work for ovirt, i'll have to check and get back to you).
we're also working on installing foreman soon, which can act as a tftp/pxe server to install vms on the fly.

i don't think that the VM you're playing with /testing on should be a jenkins slave.
the jenkins slave can run your testing code, but all your manipulations (deleting iscsi/nfs/root access/etc..),
should be done on a different vm that the jenkins slave will connect to during the test. 

do you have a wiki on your functional tests requirements/actions i can read about?


> 
> --
> 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