[CentOS-devel] Gluster testing on CentOS CI

Thu Feb 12 00:24:07 UTC 2015
Karanbir Singh <kbsingh at centos.org>

Hi!

I'm not sub'd to the gluster-devel list, so unsure if my reply will make
it there.

On 10/02/15 13:23, Justin Clift wrote:
> Hi KB,
> 
> We're interested in the offer to have our CI stuff (Jenkins jobs)
> run on the CentOS CI infrastructure.

woo!

> 
> We have some initial questions, prior to testing things technically.
> 
> *  Is there a document that describes the CentOS Jenkins setup
>    (like provisioning of the slaves)?

Not at the moment, its something we're working on - however, there is
quite a lot of flexibility there. If there is a specific setup you need,
we can try to make it happen.

How are the tests run presently ? do you deploy testing environ, deploy
jenkins-slave, run tests ? or are tests run from a central Jenkins
instance that uses a remote transport ( like we use for some of the
centos distro ci, where the job worker runs the entire suite over ssh ) ?

> 
> * Is it possible for Gluster Community members to log into a Jenkins
>   slave and troubleshoot specific failures?

Short Answer : yes.

Long Answer : whe you setup with ci.centos.org, you can ask for any
number of people to be added in ( ideally the list will be small, and
only trusted people ). We store their ssh keys in the central management
software ( duffy! ). When tests run through and pass : we teardown nodes
right away. However, when tests fail - we can inject the ssh keys for
the people, and they can then ssh in via the jump host. Now, if its for
the baremetal nodes, ideally we'd want folks to clear out real quick (
it defaults to reinstall machine in 12 hrs, but can be extended ).
Alternatively, we can rsync the machine contents into a container and
ship that.

> 
>   eg if something fails a test, can one of the Community members log
>   into the slave node to investigate (with root perms)

yeah, the keys are setup for user root ( note that we reprovision the
test environment after every test run finishes, and machine instances
are only running while there are tests running ).

> * We also want to be sure that our Community members (developers) will
>   have access in the Jenkins interface to do stuff for our jobs.

Fabian is looking at Jenkins Job Builder, that should give people most
of what they need - alternatively, we can help with plugin additions /
setup etc as well. Its a multi tennant setup, so we just need to make
sure everyone is being nice.

>   eg create new jobs + editing existing ones (so our tests improve
>   over time), rerunning failed jobs, and so on.  We don't need full
>   admin access, but we do need the ability to do stuff for our jobs

sure, thats easy. I believe there are ways to also get admin rights per
project ( which can then have jobs under it ) without needing admin on
the entire jenkins setup. I've not used it in the past, but it might be
something we can investigate.

Also, I know you mentioned needing VM's from other distro's etc - the
Libvirt and libguestfs folks are also doing something around that, and
we should be able to host these for you ( but would, as you can imagine,
really prefer you testing with CentOS on baremetal )

regards,


-- 
Karanbir Singh, Project Lead, The CentOS Project
+44-207-0999389 | http://www.centos.org/ | twitter.com/CentOS
GnuPG Key : http://www.karan.org/publickey.asc