This is just a tracking task with blocking subtasks to track all the work that needs to happen before we can deploy to production
Here is the current deployment timeline:
[X] Oct 29 - Nov 4: Parsoid/PHP deployed to the Parsoid cluster to process all changeprop traffic (mirrored from Parsoid/JS) from 10% to 100%.
[X] Nov 19: Parsoid/PHP deployed to testwiki and test2wki (VE, Content Translation use Parsoid/PHP).
[X] Nov 21: Parsoid/PHP deployed to mediawiki.org (VE uses Parsoid/PHP).
[X] Nov25: Parsoid/PHP to be deployed to all private wikis (VE, Flow, Content Translation use Parsoid/PHP). An attempt on Nov 21 was rolled back because of T238849.
[x] Nov 26: Enable Parsoid/PHP use for Flow on mediawiki.org
[x] Nov 26: Parsoid/PHP to be deployed to group 0 and group 1 wikis (VE, Content Translation , Media Content Service use Parsoid/PHP). We have effectively deployed to [[https://wikitech.wikimedia.org/wiki/Deployments/One_week|all group 0 wikis]] since all the other closed wikis will have no impact from the switchover.
[x] Dec 2: Flow on all group 0 and 1 wikis use Parsoid/PHP
Deployments have been really smooth so far, so, **we'll probably finish group 2 wiki deployment on Dec 2 in multiple steps within a few hours:**
[x] Step 1: Enable Parsoid/PHP on zh, ru, sr wikis. This lets us exercise language variant code. We need MCS / Android product folks ready to test and verify. Based on crashers in production for language variant requests, we reverted the switchover on zh, sr wikis.
[x] Step 2: Direct all language variant requests to Parsoid/JS always. This will let us fix the crashers and performance on it separately. Re-enable Parsoid/PHP on sr and zh wikis.
[x] Step 3: Enable Parsoid/PHP on everything else but enwiki. Maybe wait for about an hour or less.
[x] Step 4: Enable Parsoid/PHP on enwiki.
[x] Step 5: Enable Flow everywhere (group 0 and group 1 previously)
Later in the week:
[] Direct language variant requests to Parsoid/PHP
At this point, Parsoid/PHP is enabled for all products except Linter.
[] Later in the week, enabling linter posts from Parsoid/PHP (which will temporarily introduce duplicate lint posts -- verify we do the right thing) and disable linting from Parsoid/JS
At this point, Parsoid/JS will be operational in mirror / shadow mode for the really unlikely possibility of need to switch back to Parsoid/JS for some product somewhere.
[] First thing in 2020: decommission Parsoid/JS (will require a separate phab task).