Page MenuHomePhabricator

Figure out a way to support java 1.8 on tool labs (For WLX Jury)
Closed, ResolvedPublic

Description

Upcoming version https://commons.wikimedia.org/wiki/Commons:WLX_Jury_Tool is developed with Play framework 2.4, which requires Java 8.
To deploy it on tool labs I will need Java 8 there.

See similiar tasks [T121279], [T121020]
Possible ways:

  1. Host WLX Jury Tool on Wikimedia Ukraine's server as before
  2. Update Tool Labs
  3. Build OpenJDK for tool labs (may require effort and risky)
  4. Backport to previous version of Play and related libraries and maybe maintain 2 branches (looks much like unneeded efforts)

Event Timeline

intracer claimed this task.
intracer raised the priority of this task from to Needs Triage.
intracer updated the task description. (Show Details)
intracer added projects: WLX-Jury, Toolforge.
intracer added subscribers: Aklapper, Base, intracer, StudiesWorld.
intracer set Security to None.

With Play 2.5 release https://www.playframework.com/documentation/2.5.x/Highlights25
absense of Java 8 means staying 2 major releases behind with Play 2.3

valhallasw added subscribers: yuvipanda, valhallasw.

Unfortunately, there is no solution for this in the very near future. @yuvipanda is working on the kubernetes solutions, and in that setting, it should be relatively easy to provide Java 8. However, I'm not sure if we will be able to provide a stable solution by september. Would it be reasonable to host the tool on WMUK's servers for another year, and move the tool afterwards?

Sorry, WMUA (Wikimedia Ukraine).

Regarding the previously communicated statement that k8s is going to be stable by end of May, did the plans change or you encounter unexpected problems?

This is a huge drawback for Java platform development. Java 8 is reported to be one of the most important and most quickly adopted updates to Java platform and is already becoming the most used Java version and a version required by most new major software releases on Java platform.

It is stable atm (https://tools.wmflabs.org/nagf/ is running on it). I'm currently working on making changes to the webservice tool to make it easy/possible for users to just use the 'webservice' tool to use it. If you want to play with it before the webservice tool is stable, I can set up your tool with credentials and get your webservice going.

Change 291222 had a related patch set uploaded (by Yuvipanda):
Add a java base web container

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

The only thing I'd need is that you provide me with a commandline that when run starts a webserver serving your application on port 8080. I think the command is 'play start'...

Change 291222 merged by Yuvipanda:
Add a java base web container

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

The only thing I'd need is that you provide me with a commandline that when run starts a webserver serving your application on port 8080. I think the command is 'play start'...

Hi,
is this command hardcoded? What if I want to modify it?
I will list the commands together with how I get an application to be run with that command

to run from the sources folder (similiar to play start/activator start but without installing full play/activator distribution), you need sbt build tool, my WIP Vagrant provision script includes sbt installation provision.sh

git clone git@github.com:intracer/wlxjury.git
sbt run -Dhttp.port=8080

Application can be packaged into binary zip and then ran without sbt

sbt dist
unzip target/universal/wlxjury-0.8.zip -d destination_folder
cd destination_folder
./bin/wlxjury -Dhttp.port=8080

I can also make a debian package or Dockerfile

Hi @intracer! User @Sn1per has spent some time stting up and documenting how to run a Play framework scala based web tool on tool labs - you can see it at https://wikitech.wikimedia.org/wiki/User:Sn1per/Play_on_Tool_Labs. can you try that?

@intracer if you have tried the steps in https://wikitech.wikimedia.org/wiki/User:Sn1per/Play_on_Tool_Labs and WLX is now in Tool Labs, let's close this task.