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

Bug 410225

Summary: HIPP: create a "default" Hudson install
Product: Community Reporter: Denis Roy <denis.roy>
Component: CI-JenkinsAssignee: CI Admin Inbox <ci.admin-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: thanh.ha, webmaster
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 403843    

Description Denis Roy CLA 2013-06-07 13:40:47 EDT
We need a default "image", stored somewhere in /shared.  This default image would be a working Hudson with a stock set of Thanh-approved plugins.

This would facilitate: new HIPP deployments for projects; re-imaginnig a "broken" HIPP deployment back to its default state

In these initial stages, I can foresee simply rsync'ing the default image (which is simply a directory structure) to its instance-specific location, then manually editing the config files to get it running.

Later on we'll leverage our Puppet infra to do this automagically.
Comment 1 Thanh Ha CLA 2013-06-07 13:49:08 EDT
Just trying to think of what defaults we want for the image. At the moment I'm thinking:

- ldap setup with ROLE_ADMINS group
- Hudson plugins: git, maven3
- Default Java (1.5, 1.6, and 1.7?) + Maven (latest 3.0.x?) (will these servers have access to /shared/commons?)
Comment 2 Denis Roy CLA 2013-06-07 13:53:23 EDT
The list of plugins we're currently running on hudson.eclipse.org would be a good start.  +Gerrit plugin and Maven3 plugins as appropriate.

Yes, all the hipp servers will mount /opt/public
Comment 3 Thanh Ha CLA 2013-06-07 14:15:37 EDT
For reference the following plugins are available (and enabled) on hudson.eclipse.org today:

- Static Code Analysis Plug-ins
- Audit Trail
- Buckminster PlugIn
- Hudson build timeout plugin
- Checkstyle Plugin
- Hudson CVS Plug-in
- Disk Usage Plugin
- DRY Plugin
- Email-ext plugin
- Hudson Extended Read Permission Plugin
- FindBugs Plugin
- Hudson GIT plugin
- Hudson Locks and Latches plugin
- Hudson :: Maven (legacy) :: Plugin
- Hudson :: Maven 3 :: Plugin
- Hudson :: Maven 3 :: SNAPSHOT Monitor
- Hudson Parameterized Trigger plugin
- Hudson :: REST :: Plugin
- Hudson SSH Slaves plugin
- Hudson Subversion Plug-in
- URL Change Trigger
- Hudson Xvnc plugin

I was planning to use the default installed plugins that come in the latest hudson for the image base (at the moment Hudson: 3.0.1-b2) + a subset of the above list.

I'm thinking we don't need these plugins in the base image and can install after if project asks for them:

- Hudson CVS Plug-in
- Hudson :: Maven (legacy) :: Plugin
- Hudson SSH Slaves plugin
- Hudson Subversion Plug-in

I'm not sure what all the plugins do so some of my items on this list are guesses so please let me know if there is some I should or shouldn't exclude.
Comment 4 Denis Roy CLA 2013-06-07 14:29:39 EDT
> I was planning to use the default installed plugins that come in the latest
> hudson for the image base (at the moment Hudson: 3.0.1-b2) + a subset of the
> above list.

+1

If it's relatively easy to install (or drop-in) plugins on any HIPP instance later on, we can keep the default set short.


I wonder if there's a way of checking which jobs use which plugins...
Comment 5 Thanh Ha CLA 2013-06-07 15:05:40 EDT
(In reply to comment #4)
> I wonder if there's a way of checking which jobs use which plugins...

As far as I can tell no but I did a quick lock at many separate jobs from different projects and I think the following are the most used plugins across projects.

- Static Code Analysis Plug-ins
- Disk Usage Plugin
- DRY Plugin
- FindBugs Plugin
- Hudson GIT plugin
- Hudson :: Maven 3 :: Plugin
- Hudson Parameterized Trigger plugin
- Hudson :: REST :: Plugin (bundled with hudson)
- Hudson Xvnc plugin


Adding a plugin in Hudson just requires an admin to login and tick a checkbox under the Manage plugins page though as long as the plugin is available in Hudson's repo; so it's quite simple to add plugins after the fact. I will go ahead with the above list as default.
Comment 6 Thanh Ha CLA 2013-06-10 15:17:03 EDT
I created a file hudson-eclipse-default.tar.gz which currently exists on the LTS server containing a default installation for Eclipse HIPP with the defaults discussed above.

Denis, where should I put this file for storage?
Comment 7 Thanh Ha CLA 2013-06-10 15:21:13 EDT
The KB is also updated with instructions to take into account the new tar.gz file.
Comment 8 Denis Roy CLA 2013-06-10 17:06:12 EDT
> Denis, where should I put this file for storage?


I've created /shared/common/hipp with 2 subdirs:
- homes:  the various hudson builder home dirs
- images: to maintain the default images, perhaps with version numbers in the directory names?

Any of this make sense?
Comment 9 Thanh Ha CLA 2013-06-10 17:11:13 EDT
(In reply to comment #8)
> I've created /shared/common/hipp with 2 subdirs:
> - homes:  the various hudson builder home dirs
> - images: to maintain the default images, perhaps with version numbers in
> the directory names?
> 
> Any of this make sense?

Makes sense, I was using version numbers in the image filename. Basically the format is <imagename>-<hudson-version>-<eclipse-version>.tar.gz

For example:

    hudson-eclipse-default-3.0.1-1.tar.gz

I thought adding a eclipse-version would be helpful in case we made some changes to an existing image without upgrading hudson. I will move the image over to the images directory soon.
Comment 10 Thanh Ha CLA 2013-06-10 17:15:35 EDT
The file is there now, the path is actually /shared/hipp/images

Resolving this bug since the main task is done. We can reopen, or open new bugs if there's tweaks to be done to the image.
Comment 11 Denis Roy CLA 2013-06-10 17:18:40 EDT
Awesome, thanks.