Page MenuHomePhabricator

Install Java 8 on a Jenkins node
Closed, DeclinedPublic

Description

<hashar> manybubbles: can you fill a Task to get java8 on the CI Trusty nodes please?
<hashar> if you could come up with a patch to wikidata/gremlin that requires java8 that would be ideal
<hashar> (ie fails on java7)

We have an openjdk 8 package so this is probably "just" spinning up a new node, sudo apt-get install openjdk-8-jdk, and then configuring jenkins. You know "just".

Event Timeline

Manybubbles assigned this task to hashar.
Manybubbles raised the priority of this task from to Needs Triage.
Manybubbles updated the task description. (Show Details)
Manybubbles subscribed.

Change 183222 had a related patch set uploaded (by Hashar):
contint: install Java 8 on Trusty servers

https://gerrit.wikimedia.org/r/183222

Patch-For-Review

I have cherry picked that Gerrit patch on the CI puppet master. So we now have Java 8 available on the Trusty labs slaves. The default system java remains v 7 though (via Debian alternative).

I have configured the JDK in Jenkins configuration ( https://integration.wikimedia.org/ci/manage ):

Name: Ubuntu - OpenJdk 8
JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64/

The Jenkins job will need to refers to that name.

Now we have to figure out how to get the Maven jobs to execute on Trusty slaves and ensure that Java 8 is used.

I had to remove the trailing slash from the JAVA_HOME variable, it caused java to not be found.

I created a dummy job to run maven on wikidata/gremlink , tiring the job to the Trusty slaves (with label selector: contintLabsSlave && UbuntuTrusty).

Config: https://integration.wikimedia.org/ci/job/test-hashar-java8/configure

A passing build: https://integration.wikimedia.org/ci/job/test-hashar-java8/4/console

Gotta figure out a way to verify that Jenkins really invokes Maven with Java8. A patchset in wikidata/gremlink which rely on java8 would be more than welcome to verify that.

Change 183251 had a related patch set uploaded (by Hashar):
Switch wikidata-gremlin to Java 8 on Trusty

https://gerrit.wikimedia.org/r/183251

Patch-For-Review

The wikidata/gremlin patch https://gerrit.wikimedia.org/r/#/c/183169/ had the job failing. I have updated the Jenkins job to tie it to Trusty CI slaves and uses JDK 8. A recheck after the job update had the job passing, so I guess it is properly implemented.

Thank you for the example patchset!

Change 183251 merged by jenkins-bot:
Switch wikidata-gremlin to Java 8 on Trusty

https://gerrit.wikimedia.org/r/183251

@Manybubbles do you still need Java 8? Seems the Debian package is half baked and ops might want to get rid of it. See Giuseppe comment on https://gerrit.wikimedia.org/r/#/c/183222/

We probably won't need it. TinkerPop 3 requires it but nothing else does and its not clear we'll use TinkerPop 3 any more.

openjdk-8-jdk seems to be running ok on einsteinium but not sure if we actually need it or not.

Change 183222 abandoned by Giuseppe Lavagetto:
contint: install Java 8 on Trusty servers

https://gerrit.wikimedia.org/r/183222

hashar changed the task status from Resolved to Declined.Feb 20 2015, 3:44 PM

I have removed Java 8 on all Jenkins slaves per comment on https://gerrit.wikimedia.org/r/#/c/183222/

Will remove the Wikidata/Gremlin jobs as well since they require Java 8.

Change 191893 had a related patch set uploaded (by Hashar):
Revert "Switch wikidata-gremlin to Java 8 on Trusty"

https://gerrit.wikimedia.org/r/191893

Patch-For-Review

Change 191893 merged by jenkins-bot:
Revert "Switch wikidata-gremlin to Java 8 on Trusty"

https://gerrit.wikimedia.org/r/191893