Page MenuHomePhabricator

Add support for Java Servlets on Tool Labs
Closed, ResolvedPublic

Description

Please consider adding support for Java Servlets on Tool Labs. I need it to transfer the ISBN tool [0] written by ° (gradzeichen) from the toolserver to Labs. Thanks!

[0] https://toolserver.org/~isbn/


Version: unspecified
Severity: enhancement

Details

Reference
bz54845

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:31 AM
bzimport added a project: Toolforge.
bzimport set Reference to bz54845.

Hi! What's the status on this? Could we get an update please? Or an estimation how much work this requires?

In theory, this should be quite doable with the new web service scheme:

https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/Help/NewWeb

This provides a (configurable) lighttpd for tools that should do the trick.

Robin, feel free to contact me on IRC if you need help setting it up.

I'm also interested in running Java Servlets. I tried to circumvent this by turning my Java tool into a daemon and have a simple Perl CGI script communicate with that via Redis. It works, but is a bit cumbersome.

(In reply to comment #2)

In theory, this should be quite doable with the new web service scheme:
https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/Help/NewWeb

The only possibility I found was to use lighttpd as a proxy in front of Tomcat - but I don't think this is really better than my current solution, and I'm not even sure how you would get that to work on Tool Labs.

Marc, did you have anything specific in mind I'm overlooking?

Yes, I wasn't being very clear; I meant using the same scheme but with a tomcat rather than an lighttpd started per-tool. It's a bit expensive in resources, but given how poorly tomcat otherwise handles multi-tenancy and the (relatively) low number of Java tools, this should work.

Hi Coren, could you please give a short update on this issue? Thanks!

I should be able to get to this within a week or so, if we have no surprises.

Most of the infrastructure is now in place, I just need to write and test the tomcat-in-a-bottle start-up script.

Hi Marc-André, any news on this? Robin can't migrate his MMP without this feature.

It's working, but currently requires a lot of manual work to get it running. I'm hoping I can have a script that makes it similar to the lighttpd setup.

Is the manual work needed currently documented? Or do you have an E.T.A. for your script?

Change 130429 had a related patch set uploaded by coren:
Front-end support for tomcat webservices.

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

Change 130429 merged by coren:
Front-end support for tomcat webservices.

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

This provides, from a tool account:

setup-tomcat

to create a tool-local instance of tomcat and

webservice -tomcat (start|stop|restart)

To manipulate it.

Thanks Coren. Tomcat seems to be working for me. See [0] for a short summary of the WAR deployment.

[0] https://wikitech.wikimedia.org/wiki/Nova_Resource:Tools/Help#Java_webservice_.28Tomcat.29