Last modified: 2013-02-11 14:28:16 UTC
We have been using Sun JDK for quiet a while, we might want to switch to OpenJDK instead. We need to check with the mobile team if that is going to work for them. We need to add entries in Jenkins such as "Ubuntu - OpenJdk 1.6" JDK entry pointing to /usr/lib/jvm/java-1.6.0-openjdk-jdk. Also need the packages deployed on gallium.
https://gerrit.wikimedia.org/r/34863 adds up the OpenJDK jre and jdk version 6 and 7.
The change above required a java module in our puppet which is https://gerrit.wikimedia.org/r/#/c/34862/ Both changes have been merged so puppet is going to deploy OpenJDK jdk/jre on Gallium \O/
Puppet classes can not be called twice, I switched java::openjdk to use a definition with https://gerrit.wikimedia.org/r/#/c/35601/ which let puppet install both OpenJdk 1.6 and 1.7.
The puppet classes I wrote ended up being duplicates of an existing manifest. Anyway, we now have OpenJDK 6 and 7 installed on the continuous integration server.
Jenkins has three SDK configured: - /usr/lib/jvm/java-6-sun/ - /usr/lib/jvm/java-1.6.0-openjdk/ - /usr/lib/jvm/java-7-openjdk-amd64/ Apparently the default java is whatever is in PATH. Jenkins apparently has the OpenJDK version 1.6: jenkins@gallium:~$ java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) $ update-alternatives --display java java - manual mode link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061 slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz /usr/lib/jvm/java-6-sun/jre/bin/java - priority 63 slave java.1.gz: /usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1051 slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'. $ So yeah, that is OpenJDK 6 :-] I guess I can get that bug marked as fixed.
None of our jobs uses the Sun one: $ grep '<jdk' */config.xml analytics-libcidr/config.xml: <jdk>(Default)</jdk> analytics-limn/config.xml: <jdk>(Default)</jdk> analytics-reportcard-data/config.xml: <jdk>(Default)</jdk> analytics-wikistats/config.xml: <jdk>(Default)</jdk> Android-Commons (mobile) - Nightly builds/config.xml: <jdk>(Default)</jdk> gerrit-core/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-delete-project/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-gitblit/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-hooks-bugzilla/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-hooks-its/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-replication/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> gerrit-plugin-reviewnotes/config.xml: <jdk>Ubuntu - OpenJdk 6</jdk> mediawiki-core-master-phpunit-all/config.xml: <jdk>(Default)</jdk> MediaWiki-GIT-Fetching/config.xml: <jdk>(Default)</jdk> MWDumper-package/config.xml: <jdk>(Default)</jdk> MWDumper-tests/config.xml: <jdk>(Default)</jdk> WikimediaCommonsMobile - Nightly builds/config.xml: <jdk>(Default)</jdk> WikipediaMobile - Nightly builds/config.xml: <jdk>(Default)</jdk>