Jump to content

mw-parsoid

From Wikitech

mw-parsoid is a MediaWiki On Kubernetes deployment in WikiKube, for ad-hoc Parsoid testing and round-trip testing.

Design

Each data center runs one mw-parsoid pod from a dedicated wikikube-worker node, shared with mw-experimental.

Unlike mw-experimental, mw-parsoid pods run the standard production mediawiki-multiversion images. Parsoid is loaded from the host's /srv/parsoid-testing directory gerrit:1239692 .

This service replaces the functionality previously provided by parsoidtest1001 (more info on task T386246).

Using the service

Upgrading PHP version

In https://gerrit.wikimedia.org/r/q/project:operations/deployment-charts (ie https://gerrit.wikimedia.org/r/plugins/gitiles/operations/deployment-charts/+/refs/heads/master/helmfile.d/services/mw-parsoid/) the values-*.yaml are the interesting files.

See gerrit commit TBD for the upgrade from php8.3 to php8.5. The upgrade process is to switch one of codfw/eqiad to the new version, and keep the old version around on the other data center.

Deploying

SSH to the Deployment server and redeploy the mw-parsoid deployment for your chosen data center. Scap skips redeploying mw-parsoid pods during deployments:

deploy:$ cd /srv/deployment-charts/helmfile.d/services/mw-parsoid
deploy:$ helmfile -e eqiad -i apply

or

deploy:$ helmfile -e codfw -i apply

Loading custom MediaWiki code

The /srv/mediawiki directory on the host can be mounted into the pod on demand by editing values.yaml and redeploying

 # enabling experimental mounts /srv/mediawiki from the node
 # via hostPath
 mw:
   experimental:
     enabled: true

Please read mw-experimental for details about this directory.

Access via WikimediaDebug

You can route requests to mw-parsoid via WikimediaDebug by choosing k8s-mw-parsoid-eqiad or k8s-mw-parsoid-codfw.

Access via deploy host

See https://phabricator.wikimedia.org/P84273

Dashboards

Known limitations

  • Tracing is disabled (sampling rate set to 0).
  • Worker node home directories should not be relied upon for long-term storage; nodes may be recycled at any time.

See also