Content translation/Deployments/How-to

ContentTranslation
Content Translation is updated via regular MediaWiki train updates. In case of manual update needed, follow the steps below.
 * 1) Update desired branches to desired commit/update using delete and create branches at Gerrit interface, https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/ContentTranslation,branches In case of emergency, note down old hash.
 * 2) Read and follow: https://wikitech.wikimedia.org/wiki/How_to_deploy_code#Updating_the_submodule Make sure you've clean copy of MediaWiki/core for this.
 * 3) You're ready for actual deployment.

config

 * 1) Submit patch for cxserver configuration for Production and Beta Cluster. Usually, we need to change
 * 2) Ask to Tech Ops to merge this change. It will affect with next Puppet sync.
 * 3) Beta is using config.dev.yaml (symlinked to config.yaml) from cxserver repository.
 * 4) Production is using config.prod.yaml from cxserver repository.
 * 5) To only change languages/MT config in Production, use

Troubleshooting

 * 1) Test your config change in Labs and Beta Cluster first before deployment in Production.
 * 2) Check if cxserver restart is needed?
 * 3) Ask in #wikimedia-operations, #wikimedia-releng

code
cxserver code update is handled via updating cxserver/deploy repository.


 * 1) Merge patch in cxserver repository.
 * 2) Once patch is merged, update cxserver/deploy repository as following.
 * 3) To submit patch for cxserver/deploy, run  This will also update node_module and submit review in Gerrit. If only src (and if only package.json updated node_modules needed), run
 * 4) Merge patch.
 * 5) Once patch is merged, follow the deployment method below.

Troubleshooting

 * 1) Stop if you get new errors not described here!
 * 2) To revert deployment, see: https://wikitech.wikimedia.org/wiki/Services/Deployment#Reverting_a_Deployment
 * 3) Check logs at: /srv/logs/cxserver or at Logstash.
 * 4) While submitting patch for cxserver/deploy, make sure that deploy repo is clean (no diff), else patch submission may stuck forever.
 * 5) Deployment should also restart cxserver on scb1001 and scb1002 hosts to make changes in effect, but in some cases if it doesn't, follow the steps given below:

Apertium
Apertium deployment is done via updating apertium packages through Gerrit change and puppet.

Troubleshooting

 * 1) Check if package list are up-to-date in Puppet.
 * 2) Make sure to ask to restart 'apertium-apy' on scb1001 and scb1002 to any Ops member after adding new languages support for Apertium MT.
 * 3) Check logs at: /srv/logs/apertium/