Page MenuHomePhabricator

Migrate zhwiki-teleirc from Toolforge GridEngine to Toolforge Kubernetes
Closed, ResolvedPublic

Description

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

Thanks for the information! A bit busy recently, but will look into the instructions and try to migrate the tool within next few weeks.

Hi @nskaggs and @komla,

Sorry for the late action, I was too busy to read through the tutorials and perform the migration last year.
I was trying to migrate the tools from GridEngine to Kubernates according to the instructions in the links provided at the task description.
However, as I tried to run my python scripts with 'toolforge-jobs' as instructed in [1]'s "Basic job submission", the job failed since it cannot find the python3 under my own venv:

/data/project/zhwiki-teleirc/my_venv/bin/python3: not found

Although it is actually there.
I tried to create a new venv according to another link [2] provided at the task description (example 1), but the problem still remains.

/data/project/zhwiki-teleirc/venv_tg/bin/python3: not found

Then I tried to submit a shell script with toolforge-jobs, which is

ls -lrth /data/project/zhwiki-teleirc/venv_tg/bin/

And the outputs are:

lrwxrwxrwx 1 tools.zhwiki-teleirc tools.zhwiki-teleirc   16 Jan 29 17:14 python3 -> /usr/bin/python3
lrwxrwxrwx 1 tools.zhwiki-teleirc tools.zhwiki-teleirc    7 Jan 29 17:14 python -> python3
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  293 Jan 29 17:15 easy_install
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  293 Jan 29 17:15 easy_install-3.7
-rw-r--r-- 1 tools.zhwiki-teleirc tools.zhwiki-teleirc 1.3K Jan 29 17:15 activate.csh
-rw-r--r-- 1 tools.zhwiki-teleirc tools.zhwiki-teleirc 2.4K Jan 29 17:15 activate.fish
-rw-r--r-- 1 tools.zhwiki-teleirc tools.zhwiki-teleirc 2.2K Jan 29 17:15 activate
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  284 Jan 29 17:15 pip
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  284 Jan 29 17:15 pip3.7
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  284 Jan 29 17:15 pip3
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  284 Jan 29 17:15 pip3.10
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  272 Jan 29 17:16 pyrsa-decrypt
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  270 Jan 29 17:16 pyrsa-keygen
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  272 Jan 29 17:16 pyrsa-encrypt
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  293 Jan 29 17:16 pyrsa-priv2pub
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  266 Jan 29 17:16 pyrsa-sign
-rwxr-xr-x 1 tools.zhwiki-teleirc tools.zhwiki-teleirc  270 Jan 29 17:16 pyrsa-verify

So it actually can see the 'python3' under that path, while saying not finding it.

Sorry if I asked a stupid question, but I am not familiar to Kubernates yet. I was wondering if there are any tutorials to deal with such problem. I read the links provided in the 'Useful Resources' at the task description, but did not really find a solution to it.

Thank you for any help you can provide.
Best regards,

[1]: https://wikitech.wikimedia.org/wiki/Help:Toolforge/Jobs_framework#Grid_Engine_migration
[2]: https://wikitech.wikimedia.org/wiki/News/Toolforge_Stretch_deprecation#Rebuild_virtualenv_for_python_users

Hi!

I tried to create a new venv according to another link [2] provided at the task description (example 1), but the problem still remains.

Not sure why [2] is linking to a page about a past migration. You're really looking for this page, which in turn links to these instructions on re-building the venv. The example you followed is for migrating tools from an older grid version to the current one, and it doesn't work when migrating tools from the grid to Kubernetes.

Hi!

I tried to create a new venv according to another link [2] provided at the task description (example 1), but the problem still remains.

Not sure why [2] is linking to a page about a past migration. You're really looking for this page, which in turn links to these instructions on re-building the venv. The example you followed is for migrating tools from an older grid version to the current one, and it doesn't work when migrating tools from the grid to Kubernetes.

Thank you @taavi ! After following the instructions in the link you provided, the migrated tool finally works now.

All of the zhwiki-teleirc jobs have been migrated from GridEngine to Kubernates.