Page MenuHomePhabricator

Route requests with PHP_ENGINE=8.1 cookie to "next" deployment via ATS plugin
Closed, DuplicatePublic

Description

Support for targeting "next" deployments of in-scope MediaWiki instances based on enrollment cookie via ATS plugin.

[…]

The mechanism is controlled via the $wgWMENewPHPVersion and $wgWMENewPHPSamplingRate MediaWiki configuration variables, which default to "" and 0 respectively.

When set, the above JavaScript code (already enabled in production today) will create a 7-day PHP_ENGINE cookies, set to the value of $wgWMENewPHPVersion.

When the traffic is at 0%, or if you want to force your own opt-in for any reason when your own random cookie happens to be outside the bucket, you can use the PHP_ENGINE_STICKY=1 cookie to force the client logic to preserve any manaully set PHP_ENGINE=8.1 cookie, as follows:

Browser console
$.cookie( 'PHP_ENGINE', version, { expires: 30, path: '/' } );
$.cookie( 'PHP_ENGINE_STICKY', '1', { expires: 30, path: '/' } );

Cookies like PHP_ENGINE=8.1 are expected to be handled at either the edge or appserver layer. Previously this was handled in Varnish and Apache. Now, on mw-on-k8s, I imagine this will be in hanled in an ATS plugin.

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedReedy
StalledNone
OpenNone
OpenNone
OpenNone
ResolvedReedy
ResolvedKrinkle
ResolvedKrinkle
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedLucas_Werkmeister_WMDE
ResolvedNone
ResolvedJdforrester-WMF
ResolvedDaimona
ResolvedJdforrester-WMF
DeclinedNone
ResolvedScott_French
ResolvedScott_French
ResolvedScott_French
Resolvedcscott
ResolvedScott_French
DuplicatePRODUCTION ERRORNone
ResolvedPRODUCTION ERRORMichael
ResolvedPRODUCTION ERRORMichael
ResolvedMichael
DuplicatePRODUCTION ERRORNone
ResolvedTgr
ResolvedNone
Resolved DAlangi_WMF
ResolvedTgr
Resolved DAlangi_WMF
ResolvedTgr
ResolvedTgr
Resolved Atieno
ResolvedNone
Resolvedbrouberol
ResolvedScott_French
ResolvedScott_French
ResolvedScott_French
ResolvedScott_French
ResolvedScott_French
ResolvedScott_French
ResolvedKrinkle
ResolvedKrinkle
ResolvedScott_French
ResolvedKrinkle
ResolvedTgr
ResolvedScott_French
Resolved jnuche
ResolvedJdforrester-WMF
ResolvedBUG REPORTbd808
ResolvedReedy
ResolvedReedy
Resolvedseanleong-WMDE
StalledNone
OpenNone
ResolvedLucas_Werkmeister_WMDE
ResolvedDaimona
ResolvedDaimona
ResolvedDaimona
OpenNone
ResolvedUmherirrender
ResolvedArendpieter
ResolvedUmherirrender
ResolvedUmherirrender
Resolved mszabo
Resolvedtstarling
ResolvedUmherirrender
ResolvedDreamy_Jazz
ResolvedDreamy_Jazz
ResolvedPhysikerwelt
ResolvedTgr
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedNone
ResolvedUmherirrender
ResolvedNone
ResolvedNone
ResolvedkarapayneWMDE
ResolvedAudreyPenven_WMDE
ResolvedAudreyPenven_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedUmherirrender
Resolvedthiemowmde
ResolvedLucas_Werkmeister_WMDE
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
Resolved mszabo
ResolvedxSavitar
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedDaimona
Resolvedcscott
ResolvedArendpieter
OpenNone
ResolvedUmherirrender
Resolved larissagaulia
ResolvedUmherirrender
ResolvedJdforrester-WMF
OpenNone
OpenNone
ResolvedArendpieter
OpenNone
ResolvedReedy
OpenNone
OpenNone
ResolvedUmherirrender
OpenNone
ResolvedUmherirrender
ResolvedUmherirrender
Resolvedsiebrand
ResolvedUmherirrender
ResolvedDreamy_Jazz
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
ResolvedUmherirrender
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedKrinkle
DuplicateNone

Event Timeline

Many thanks for validating the behavior of the enrollment side of things, @Krinkle. I'm tracking the cookie-driven routing support in T377042, which I'll merge this into.

Thanks. I couldn't find these as they weren't attached under T319432: Migrate WMF production from PHP 7.4 to PHP 8.1. I've attached T377042 to it now, and updated the high-level task description to link that one instead.