Page MenuHomePhabricator

Migrate croptool from Toolforge GridEngine to Toolforge Kubernetes
Closed, ResolvedPublic

Description

Kindly migrate your tool(https://grid-deprecation.toolforge.org/t/croptool) from Toolforge GridEngine to Toolforge Kubernetes.

Toolforge GridEngine is getting deprecated.
See: https://techblog.wikimedia.org/2022/03/14/toolforge-and-grid-engine/

Please note that a volunteer may perform this migration if this has not been done after some time.
If you have already migrated this tool, kindly mark this as resolved.

If you would rather shut down this tool, kindly do so and mark this as resolved.

Useful Resources:
Migrating Jobs from GridEngine to Kubernetes
https://wikitech.wikimedia.org/wiki/Help:Toolforge/Jobs_framework#Grid_Engine_migration
Migrating Web Services from GridEngine to Kubernetes
https://wikitech.wikimedia.org/wiki/News/Toolforge_Stretch_deprecation#Move_a_grid_engine_webservice
Python
https://wikitech.wikimedia.org/wiki/News/Toolforge_Stretch_deprecation#Rebuild_virtualenv_for_python_users

Event Timeline

My apologies if this ticket comes as a surprise to you. In order to ensure WMCS can provide a stable, secure and supported platform, it’s important we migrate away from GridEngine. I want to assure you that while it is WMCS’s intention to shutdown GridEngine as outlined in the blog post https://techblog.wikimedia.org/2022/03/14/toolforge-and-grid-engine/, a shutdown date for GridEngine has not yet been set. The goal of the migration is to migrate as many tools as possible onto kubernetes and ensure as smooth a transition as possible for everyone. Once the majority of tools have migrated, discussion on a shutdown date is more appropriate. See T314664: [infra] Decommission the Grid Engine infrastructure.

As noted in https://techblog.wikimedia.org/2022/03/16/toolforge-gridengine-debian-10-buster-migration/ some use cases are already supported by kubernetes and should be migrated. If your tool can migrate, please do plan a migration. Reach out if you need help or find you are blocked by missing features. Most of all, WMCS is here to support you.

However, it’s possible your tool needs a mixed runtime environment or some other features that aren't yet present in https://techblog.wikimedia.org/2022/03/18/toolforge-jobs-framework/. We’d love to hear of this or any other blocking issues so we can work with you once a migration path is ready. Thanks for your hard work as volunteers and help in this migration!

This tool needs PHP and a few additional packages (djvulibre, imagemagick and ghostscript). I tried migrating it to Kubernetes in July 2022, but had to give up since the prebuilt images are too limited and there was no support for bringing your own. See chat at https://wm-bot.wmcloud.org/logs/%23wikimedia-cloud/20220721.txt and https://phabricator.wikimedia.org/T313550 . I haven't followed the latest developments closely, so let me know if there are new options available!

@Danmichaelo I think https://wikitech.wikimedia.org/wiki/Help:Toolforge/Build_Service#Installing_Apt_packages should meet your needs now if I'm understanding you correctly. You should be able to use the php buildpack and then add any additional apt packages you'd like. Can you confirm and see if indeed you are unblocked to migrate? Thanks!

As of yesterday, this tool is down. I'm guessing GridEngine has been turned off, and the issue with CropTool using it has still not been addressed.

This really should be a priority item. For those who are frequent contributors to Commons, this is an especially important tool. Especially for creating new crops of images for use on Wikipedias (since images often are not cropped to ideal dimensions, or with a proper focus on an individual subject).

The lack of this tool has already created a backlog on my editing. It is difficult to manually upload new crops, because without croptool you cannot duplicate the licensing verifications.

Btw @nskaggs would it be possible to keep the tool's services running for now, since this is a widely used tool ?

Soda changed the task status from Open to Stalled.Jan 23 2024, 5:49 AM

As of yesterday, this tool is down. I'm guessing GridEngine has been turned off, and the issue with CropTool using it has still not been addressed.

The planned grid shutdown date is February 14th.

Seems like right now the webservice just needed a restart, at least the interface loads now.

I'm still working on this off and on, but migrating the app is a bit more involved since php7.4 is not availiable when building with buildpacks.

I'm still working on this off and on, but migrating the app is a bit more involved since php7.4 is not availiable when building with buildpacks.

I can confirm this, php 7.4 was EOL on the 28th Nov 2022 (https://www.php.net/eol.php), before the current php buildpack even existed (https://github.com/heroku/buildpacks-php the repo was there, but was empty).

Soda changed the task status from Stalled to Open.Jan 31 2024, 6:05 AM

@Danmichaelo I've raised a PR at https://github.com/danmichaelo/croptool/pull/192 to merge my changes into the croptool tree. Everything except the tests should work (will try and work on them once I'm confident everything else works).

A test deployment for the changes can be found at https://soda-test.toolforge.org :)

@Danmichaelo I've raised a PR at https://github.com/danmichaelo/croptool/pull/192 to merge my changes into the croptool tree. Everything except the tests should work (will try and work on them once I'm confident everything else works).

A test deployment for the changes can be found at https://soda-test.toolforge.org :)

That is awesome! thanks!

I added a couple comments to try to speed up the build step and minor nits

This should be done based on the merged PR and the lack of jobs at https://grid-deprecation.toolforge.org/t/croptool. There are still a few issues (namely with the magic border locator and some issues with persistent sessions) that need to be looked into/fixed. However, those can be dealt with followup patches.