[go: up one dir, main page]

Page MenuHomePhabricator

Migrate enwp10 from Toolforge GridEngine to Toolforge Kubernetes
Closed, ResolvedPublic

Description

Kindly migrate your tool(https://grid-deprecation.toolforge.org/t/enwp10) 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!

@Audiodude You are better informed about the current situation but AFAIK, we only still the DB that we use in the VPS we have now, all the rest could be deleted. Can you confirm?

That's right. We're still using the Toolforge database, but we don't have any jobs running in GridEngine.

@komla What would be the way to proceed:

  • Can you delete everything except the DB (no sure what is the same BTW)?
  • Should we somehow migrate the DB first?

@komla: Could you please answer the last comment? Thanks in advance!

@Kelson By database, I take it you mean toolsdb? And yes, have a look at trove: https://wikitech-static.wikimedia.org/wiki/Help:Adding_a_Database_to_a_Cloud_VPS_Project#Trove:_Database_as_a_Service_for_Cloud_VPS. If this meets your needs, you can completely remove the toolforge tool and database.

@nskaggs So it sounds like the answer is "No, we cannot keep our toolsdb database" and we would have to migrate to the linked VPS solution?

That's right. We're still using the Toolforge database, but we don't have any jobs running in GridEngine.

There is a webservice running at https://enwp10.toolforge.org/ which is what https://grid-deprecation.toolforge.org/t/enwp10 shows as the remaining grid engine job. Visiting https://enwp10.toolforge.org/ returns a 301 redirect to https://enwp10.toolforge.org/cgi-bin/pindex.fcgi which then returns a 301 redirect to https://wp1.openzim.org/.

If the sole action needed for https://enwp10.toolforge.org/ is to redirect to https://wp1.openzim.org/, the existing grid job could be replaced with a Kubernetes ingress object like the one described at https://wikitech.wikimedia.org/wiki/User:BryanDavis/Kubernetes#Make_a_tool_redirect_to_another_tool_WITHOUT_running_a_webservice. The nginx.ingress.kubernetes.io/permanent-redirect annotation can be pointed at https://wp1.openzim.org/ with or without path and query string propagation as needed.

Our tool has been running at wp1.openzim.org for multiple years now. I don't think we actually require the redirect, but if it's easy enough to setup we could look into it. Thanks for the pointers.

Okay I've stopped the gridengine job using tools.enwp10@tools-sgebastion-10:~$ webservice --backend=gridengine stop and applied the redirect using the commands you linked @bd808. It looks like it's working. Do we still need to delete our toolsdb database as well?

@nskaggs So it sounds like the answer is "No, we cannot keep our toolsdb database" and we would have to migrate to the linked VPS solution?

You can continue to use toolsdb if desired. I was mentioning it as an option, especially since you are already utilizing a cloudvps project. The database as a service offering likely didn't exist when you initially created the project. Can you confirm if you are still using the toolsdb database? If you want to delete your toolforge tool account, see https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Tool_Accounts#Delete_a_Tool_Account

Yes we'd like to continue to use toolsdb.

I guess this ticket can be closed?

Yes, I think all the grid jobs are stopped and the toolsdb database will remain. Thanks for everyone's help! Please feel free to reopen if there's something I missed.