Closed Bug 792630 Opened 8 years ago Closed 8 years ago

please install maven (2.x) on jenkins

Categories

(Infrastructure & Operations Graveyard :: WebOps: Other, task, P1)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rhelmer, Assigned: nmaul)

References

Details

(Whiteboard: [triaged 20120921][deadline 20121010])

I bust0red the socorro-master build, assuming mvn was there (!)
Looks like maven[1] is not in our repositories.
So we either include a 3rd party repo[2] or build our own package...
Leaving up to Shyam/webops to decide what's best.

[1]http://maven.apache.org/
[2]http://www.jpackage.org/
Assignee: dgherman → server-ops-webops
Component: Server Operations → Server Operations: Web Operations
QA Contact: jdow → cshields
Blocks: 765001
This is likely to be a lot of work... IIRC Maven constitutes a lot more than one package.
Priority: -- → P4
Whiteboard: [triaged 20120921]
This may be usable, http://repos.fedorapeople.org/repos/dchen/apache-maven/ , but we'll not be able to look into it for a bit, as we're finishing up Q3 goals.

It's possible an SRE may be able to work on packaging earlier than webops can
Thanks for working on this, tihe metrics analytics tools have all moved to maven, so we're blocked on some important stuff :/ :

* usable correlation reports for socorro
* "dragnet" project (aka DLL directory)

Please let me know if there's anything I can do to help out here.. even a temporary solution like having it installed in ~jenkins/bin would work.
Blocks: 650904
We need this to hit a deadline next week (Oct 10) for staging the new Django version of Socorro for secreview.

If Ops/SRE is too busy I think rhelmer is volunteering to do this himself.
Severity: normal → major
Assignee: server-ops-webops → jcrowe
Need to stop paging on this... dropping to normal, promoting to P1 (new Socorro is a goal, I believe).

Working on adding jpackage yum repo to our puppet, then will have puppet install the 'maven' package on jenkins nodes from it. If any other packages are needed, I don't know what they are... I suppose we'll find out after we get the base maven installed.
Assignee: jcrowe → server-ops-webops
Severity: major → normal
Priority: P4 → P1
Whiteboard: [triaged 20120921] → [triaged 20120921][deadline 20121010]
Okay, jpackage-5.0 is added to puppet, and realized on the jenkins' nodes. Puppet is instructed to install the "maven2" package, which sadly pulls in a lot of dependencies, but should work:

http://jakem.pastebin.mozilla.org/1856154

There are tons of additional maven2 sub-packages for all sorts of things... I can't even begin to guess what may or may not be needed in addition to what's already in that list as a dependency.

We'll just have to roll with this, and see how it works out... unless someone can specifically point to a package that we definitely need:

http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/



Let us know if this still doesn't work for you.
Assignee: server-ops-webops → nmaul
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
(In reply to Jake Maul [:jakem] from comment #7)
> Okay, jpackage-5.0 is added to puppet, and realized on the jenkins' nodes.
> Puppet is instructed to install the "maven2" package, which sadly pulls in a
> lot of dependencies, but should work:
> 
> http://jakem.pastebin.mozilla.org/1856154
> 
> There are tons of additional maven2 sub-packages for all sorts of things...
> I can't even begin to guess what may or may not be needed in addition to
> what's already in that list as a dependency.
> 
> We'll just have to roll with this, and see how it works out... unless
> someone can specifically point to a package that we definitely need:
> 
> http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/
> 
> 
> 
> Let us know if this still doesn't work for you.

Trying to land it now, thanks!
:(

git submodule update --init socorro-toolbox akela
cd akela && mvn package
/usr/lib/jvm/java-1.6.0-sun-1.6.0.22.x86_64

[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building akela
[INFO]    task-segment: [package]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-resources-plugin: checking for updates from __jpp_repo__

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error resolving version for 'org.apache.maven.plugins:maven-compiler-plugin': Plugin requires Maven version 2.0.9
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Wed Oct 03 16:04:26 PDT 2012
[INFO] Final Memory: 6M/541M
[INFO] ------------------------------------------------------------------------
make: *** [analysis] Error 1
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
The version in jpackage is 2.0.7... it seems your thing requires 2.0.9. Do you know if it requires *specifically* 2.0.9, or just *at least* 2.0.9?

I don't know where we can go from here... will take more investigation.
(In reply to Jake Maul [:jakem] from comment #10)
> The version in jpackage is 2.0.7... it seems your thing requires 2.0.9. Do
> you know if it requires *specifically* 2.0.9, or just *at least* 2.0.9?
> 
> I don't know where we can go from here... will take more investigation.

These are in the repos that metrics uses, let me clone one and see if I can downgrade that without problems...
(In reply to Robert Helmer [:rhelmer] from comment #11)
> (In reply to Jake Maul [:jakem] from comment #10)
> > The version in jpackage is 2.0.7... it seems your thing requires 2.0.9. Do
> > you know if it requires *specifically* 2.0.9, or just *at least* 2.0.9?
> > 
> > I don't know where we can go from here... will take more investigation.
> 
> These are in the repos that metrics uses, let me clone one and see if I can
> downgrade that without problems...

What I did recently on a RHEL 6 box was to download the latest Maven binary to my homedir and put it on the PATH, is that possible here if something newer isn't available?

I think the problem here is that one of the (many) plugins being pulled in by this build need 2.0.9, it's not explicit in our build. 

I know that this works at least on 2.2.1, for which there are (java bytecode) binaries available.
In this specific case, I'm wondering if we should make an exception. Java related stuff is a massive pain in the wrong places to package/deal with. 

On the other hand, creating an /opt/maven-${version}/ and extracting the tar.gz there is fairly painless (even if done via puppet). /opt/maven/ can then point to the $version we want and adding that to the path or just calling /opt/maven/bin/maven everytime works fine.  

This is way cleaner to maintain vs RPMs which I've rarely had success with (for stuff like Maven and ant).

Thoughts?
I removed everything installed from the jpackage repo, and removed the jpackage repo itself from jenkins1.private.phx1 (via puppet manifest, and actually removing it on the node itself).

Instead I have packaged up the tarball here: http://maven.apache.org/download.html

Version 2.2.1, "binary" package, to avoid additional work and dev packages we'd have to pull in. This is loaded into our mozilla-mrepo, and added to puppet. rhelmer is trying it out now.

Note that this is a very simple package... *far* simpler than all the stuff pulled in from jpackage.org. One package, 12 files. The basic "mvn" command seems to work. It's installed at /usr/local/maven/bin/mvn, and so will need PATH changes to the job in Jenkins...
Just changed the PATH on jenkins and it works! Thanks jakem!
Status: REOPENED → RESOLVED
Closed: 8 years ago8 years ago
Resolution: --- → FIXED
Component: Server Operations: Web Operations → WebOps: Other
Product: mozilla.org → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.