This task will track execution of the production traffic ramp for migrating to PHP 8.1.
How?
We have 2 different mechanisms in place to assist us in directing traffic to PHP8.1 mediawiki pods in a controlled manner
Cookie-based enrollment
Applicable to cookie enabled incoming traffic towards following deployments:
- mw-web → mw-web-next.discovery.wmnet
- mw-api-ext → mw-api-ext-next.discovery.wmnet
As described in T377040, this traffic will be routed to pods with the release tag suffix -next. Users will randomly get the PHP_ENGINE=8.1 cookie, based on the amount of PHP8.1 traffic we are targeting for.
Capacity-based migration
Applicable to external cookie-less, and internal traffic, targeting trafficing towards the following deployments:
- mw-api-int → mw-api-int-migration
- mw-parsoid → mw-parsoid-migration
- mw-jobrunner → mw-jobrunner-migration
- mw-web → mw-web-migration
- mw-api-ext → mw-api-ext-migration
We will be scaling the relevant -migration release of a given service, based on the portion of traffic we want to send to PHP8.1 pods.
Everything else
One-offs
- mw-wikifunctions
- mw-misc
Non-request-serving use cases (tracked in separate tasks)
- mw-script
- mw-cron
- dumps
Support
Contact: @Scott_French, @jijiki, serviceops
Issues: Please report under T379874
Emergency Rollback
Below, you will find example patches should a rollback be necessary. Kindly proceed with caution and ensure you have SRE approval.
Deployment instructions can be found in T383845#10526890, as well as in each respective commit message:
- hieradata: revert all next and migraton releases to 7.4 (1 of 2)
- mw-*: revert all next and migraton releases to 7.4 (2 of 2)
Timeline and Milestones
We are aiming for a ~5 week long migration. The following schedule is subject to change depending on how smoothy everything goes. We shall pause for a week due to the SRE summit while we are hopeful to have completed the migration before the forthcoming March Datacenter Switchover
Any given moment, you may visit MediaWiki PHP8.1 Rollout Progress which provides a good overview of this work, though noting that any fully migrated deployments (e.g., mw-api-ext and mw-web) will appear as if reverted to 7.4.
Note: Rollouts will generally be taking place Mon-Tue-Wed each week
Note: As of 2025-02-26 we have resumed the traffic ramp after resolving what we believe to be the cause of T385395.
Week of 27th Jan (reverted)
- 5% cookie-enrolled web & ext-api traffic - T383845#10506980
Week of 3rd Feb (reverted)
- 50% cookie-enrolled web & ext-api traffic - T383845#10526890
- 5% int-api traffic - T383845#10526548
- 2% jobrunner - T383845#10524771
- 2% parsoid - T383845#10524771
2025-02-06: Reverted due to T385395.
Week of 10th Feb
No progress due to SRE Summit
Week of 17th Feb
No progress - working on T385395 resolution
Week of 24th Feb
Roll forward to state as of 6th February.
- 50% cookie-enrolled web & ext-api traffic
- 5% int-api traffic
- 2% jobrunner
- 2% parsoid
Week of 3rd March
- 100% cookie-enrolled web & ext-api traffic
- 5% residual web & ext-api traffic
- 50% int-api traffic
- 25% jobrunner
- 25% parsoid
Week of 10th March
- 100% residual web & ext-api traffic
- 100% int-api traffic
- 100% jobrunner
- 100% parsoid
Week of 17th March (Point of No Return)
Note: This week contains the Datacenter Switchover, so we will likely opt to accelerate or defer some portions of this.