Page MenuHomePhabricator

Convert all Wikimedia-deployed extensions to shell out via Shellbox
Open, Needs TriagePublic

Description

Shellbox allows for shell outs to external binaries over a HTTP API, so the binaries don't need to be in the MediaWiki k8s pod.

Event Timeline

I did another logstash search over the past 4 weeks (https://logstash.wikimedia.org/goto/03f4c04cae4644900776976ae1ee0b7b) and came up with the following list of commands:

  • pygmentize - in progress
  • pdftotext/pdfinfo - in progress
  • gpg1 - not planned, see T209892: SecurePoll is not compatible with GPG 2.1+
  • djvutxt/djvudump - next up
  • ploticus/rsvg-convert - in progress
  • vips (via Special:VipsTest) - maybe this extension should be disabled, thumbnailing is via thumbor now
  • tiffinfo - in progress
  • svn - not supported
  • captcha-old.py (confirmedit) - not planned, presumably the mwmaint replacement will need Python+PIL installed.
  • ifconfig -a (GlobalIdGenerator) - need to make sure ifconfig is available in container

I put together a shared dashboard that shows how many shellouts* MediaWiki is initiating for specific places I'd added statsd metrics: https://grafana.wikimedia.org/d/3SiE86Nnz/mediawiki-shellouts?orgId=1

* note that by shellouts, its counting both requests that go to Shellbox and those that are still executed on the appserver itself during the migration period.

What about wikidiff2, used by page diffs on Production (e.g. T285857).

Change 918244 had a related patch set uploaded (by Giuseppe Lavagetto; author: Giuseppe Lavagetto):

[mediawiki/core@master] Generate the node id from the hostname

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