Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 412422

Summary: Hudson instance for Gyrex
Product: Community Reporter: Gunnar Wagenknecht <gunnar>
Component: CI-JenkinsAssignee: CI Admin Inbox <ci.admin-inbox>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: denis.roy, thanh.ha
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 403843    
Bug Blocks:    

Description Gunnar Wagenknecht CLA 2013-07-05 12:01:48 EDT
The Eclipse Gyrex project is interested in Hudson instance (HIPP).

We'd like to use the latest available release of Hudson in combination with the following additional plug-ins:

* Gerrit
* Chuck Norris (yeah!)
Comment 1 Gunnar Wagenknecht CLA 2013-07-05 12:02:59 EDT
Sorry for the noise. I tried to be smart and use the Bugzilla clone feature. I'll try harder next time!
Comment 2 Denis Roy CLA 2013-07-18 09:11:38 EDT
Gunnar, looks like you're next in line for a HIPP instance now that Sapphire has cleared the way.
Comment 3 Thanh Ha CLA 2013-07-31 15:14:41 EDT
I've setup HIPP for Gyrex: https://hudson.eclipse.org/gyrex

I also setup the Gerrit Trigger plugin since that's what's setup on the sandbox and the other Gerrit plugin seems like it hasn't been updated since 2010.


Gunnar you should be able to login now (using your email address as user). You should be able to create/delete/manage jobs configuration as well. Let me know if anything needs tweaking.
Comment 4 Thanh Ha CLA 2013-07-31 15:18:51 EDT
Denis,

One thing I had to do to setup the Gerrit Trigger was configure an ssh key and Gerrit user. I decided to just copy the id_rsa file from hudson-sandbox over for the gyrex user and reuse the same user that hudson-sandbox was using.

Not sure if it's worth having extra Gerrit accounts / different ssh public key files for each HIPP that needs to connect to gerrit?
Comment 5 Denis Roy CLA 2013-07-31 15:57:26 EDT
> Not sure if it's worth having extra Gerrit accounts / different ssh public
> key files for each HIPP that needs to connect to gerrit?

I don't think so.  Nothing stops us from changing our minds later on if we see a potential issue.
Comment 6 Gunnar Wagenknecht CLA 2013-07-31 16:29:11 EDT
Is this user a "real" ssh/Unix user or just a virtual user in Gerrit? Also, what are the privileges of this user? (Just curious)
Comment 7 Denis Roy CLA 2013-07-31 21:03:11 EDT
Your HIPP instance runs under a real *Nix account (with no shell). We can optionally put that user account in your Gyrex *nix group(s) so that your Hudson can write directly.

The Gerrit use is just that -- a Gerrit-only account with only a voting permission (Thanh please correct me if I'm wrong).
Comment 8 Thanh Ha CLA 2013-07-31 21:44:12 EDT
(In reply to comment #7)
> Your HIPP instance runs under a real *Nix account (with no shell). We can
> optionally put that user account in your Gyrex *nix group(s) so that your
> Hudson can write directly.
> 
> The Gerrit use is just that -- a Gerrit-only account with only a voting
> permission (Thanh please correct me if I'm wrong).

Correct, except the hipp user is already in the rt.gyrex group. I've been assigning the hipp user to the project group when I create the users.
Comment 9 Denis Roy CLA 2013-07-31 22:16:12 EDT
I'm a big fan of the least permissions to get the job done, so the user shouldn't be in the project group by default.  I'll craft some HIPP docs tomorrow to explain what group membership entails.  For now, let's simply ask when a hipp request comes in.  Gunnar?

Also, Thanh, can you circle back with Konstantin/Sapphire to see if they want their hipp instance to have access to non-Gerrit Gir repos and downloads?
Comment 10 Gunnar Wagenknecht CLA 2013-08-01 00:55:21 EDT
I like the idea of allowing Hudson to "tag" in Git/Gerrit. I'm concerned by downloads permission as well. Currently, Hudson publishes to /shared/rt/gyrex. I have a cron-job running under my user ID, that rsync from there to download. This way, I'm able to login and cleanup download myself when required.
Comment 11 Thanh Ha CLA 2013-08-01 09:40:17 EDT
(In reply to comment #10)
> I like the idea of allowing Hudson to "tag" in Git/Gerrit. I'm concerned by
> downloads permission as well. Currently, Hudson publishes to
> /shared/rt/gyrex. I have a cron-job running under my user ID, that rsync
> from there to download. This way, I'm able to login and cleanup download
> myself when required.

Just want to make sure I didn't misunderstand. Your saying you'd rather not have Hudson be in the rt.gyrex group?


As for tagging we can likely allow it on a per repo (or project) bases by adding the Hudson user to refs/tags/* for all the tagging permissions. Unless you want Hudson to only be able to make specific kinds of tags?

Create Reference (allows non-annotated tags)
Push Annotated Tag
Push Signed Tag
Comment 12 Gunnar Wagenknecht CLA 2013-08-01 09:43:33 EDT
(In reply to comment #11)
> Just want to make sure I didn't misunderstand. Your saying you'd rather not
> have Hudson be in the rt.gyrex group?

+1

> As for tagging we can likely allow it on a per repo (or project) bases by
> adding the Hudson user to refs/tags/* for all the tagging permissions.
> Unless you want Hudson to only be able to make specific kinds of tags?
> 
> Create Reference (allows non-annotated tags)
> Push Annotated Tag
> Push Signed Tag

+1
Comment 13 Thanh Ha CLA 2013-08-01 11:33:01 EDT
I've removed the hipp user from the gyrex group and also added the Hudson user permissions to tagging for the following repos:

 gyrex/addons/gyrex-jersey-jaxrs
 gyrex/addons/gyrex-mongodb-persistence
 gyrex/addons/gyrex-search
 gyrex/examples/gyrex-bugsearch
 gyrex/examples/gyrex-fanshop
 gyrex/examples/gyrex-hello-cloud
 gyrex/gyrex-admin
 gyrex/gyrex-platform
 gyrex/gyrex-releng


Noticed the gyrex group was missing "Create Reference" and "Push signed tag" permissions for refs/tags/* so I went ahead and added them too.
Comment 14 Gunnar Wagenknecht CLA 2013-08-16 11:13:24 EDT
This is still open. Is there anything else that needs to be done here?
Comment 15 Thanh Ha CLA 2013-08-16 11:15:14 EDT
(In reply to comment #14)
> This is still open. Is there anything else that needs to be done here?

No, I'll resolve it now. Feel free to reopen if you find anything else you need on the HIPP instance.
Comment 16 Gunnar Wagenknecht CLA 2013-08-16 12:51:07 EDT
Thanks! Please feel free to delete our old build jobs on global Hudson.
Comment 17 Gunnar Wagenknecht CLA 2013-08-16 13:07:24 EDT
Hmmm, looks like the proxy is not configured.

> Connection to http://repo.maven.apache.org refused: Connection timed out -> [Help 2]
Comment 18 Thanh Ha CLA 2013-08-16 13:50:15 EDT
(In reply to comment #17)
> Hmmm, looks like the proxy is not configured.
> 
> > Connection to http://repo.maven.apache.org refused: Connection timed out -> [Help 2]

Looks like we were missing ~/.m2/settings.xml

I linked it to the one on the shared Hudson instance in /shared/common so it should be working now.

I also created a toolchains.xml based on the one on the shared instance too and symlinked to it.
Comment 19 Gunnar Wagenknecht CLA 2013-08-16 14:15:25 EDT
Thx. It's working now.