In addition to MediaWiki, other tools within the Wikimedia infrastructure are now beginning to require PHP 7.0 as the minimum version to operate.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | bd808 | T140110 Packages to be installed in Toolforge Kubernetes Images (Tracking) | |||
Resolved | Legoktm | T195689 Support PHP 7.x webservices on Toolforge | |||
Resolved | Legoktm | T188318 Support PHP 7.2 webservices on Toolforge Kubernetes cluster | |||
Declined | None | T195691 Publish wikimedia-stretch image to Toolforge docker registry | |||
Resolved | aborrero | T200660 Upload python-pykube deb to apt.wikimedia.org | |||
Resolved | MoritzMuehlenhoff | T200666 Please add php-imagick and php-redis packages to apt.wikimedia.org thirdparty/php72 | |||
Declined | aborrero | T202155 Approve https://packages.sury.org/php/ as an acceptable Debian package source for Toolforge | |||
Resolved | MoritzMuehlenhoff | T202478 php7.2-cli in thirdparty/php72 isn't installable due to libargon2-1 dependency | |||
Resolved | MoritzMuehlenhoff | T202704 Add a few more PHP 7.2 packages for Toolforge in thirdparty/php72 | |||
Resolved | Bstorm | T213666 Upgrade Toolforge grid engine PHP to 7.2 using packages from thirdparty/php72 |
Event Timeline
Creating a new php70 webservice docker image looks relatively straightforward, except we need a base wikimedia-stretch image first. I'll make that a subtask.
Would love to upgrade some of my Toolforge tools from the Kubernetes PHP 5.6 image to an image with PHP 7.
What sort of priority does tis have from the cloud services team?
I'd love to see it get done and it seems to be getting more and more support from people
Unfortunately the priority for this is low relative to the projects we are actively working on:
- OpenStack software defined network migration to Neutron
- Ubuntu Trusty deprecation
- ToolsDB/Postgres server replacement
The team is currently operating at 3/5th normal capacity while we replace team members who have moved on to other organizations/teams. Hiring is a priority for myself as the team manager and combined with my other duties has made individual contributions such as working on non-trivial upgrade projects like this unlikely.
- T200124: Nomination of Legoktm for Toolforge admin role
- T200125: Nomination of Addshore for Toolforge admin role
I think at some point I forgot that we are a community and not a closed project that can only depend on a dedicated team. Let's try a first step to change that wrong thinking and see where we can go together.
Based on discussions at Wikimania between @bd808, @Addshore, and myself, we're going to work on T188318: Support PHP 7.2 webservices on Toolforge Kubernetes cluster first. If that goes well, we'll just skip 7.0 entirely (and decline this task).
Given that 7.0 becomes unsupported in 4 months, skipping it and going 7.2 sounds like a good idea.
Now with the php72 container images and Toolforge moving to Stretch with PHP 7.2, this is done, right?
I'd say so, yes! It seems on the sub task @bd808 is also working on making it the default. I don't know if that's meant to be part of it, but I'll leave it open for now.
Mostly! PHP 7.2 is on both the Kubernetes cluster and the Stretch job grid. The remaining work is to make php7.2 the default (rather than PHP 5.6) for Kubernetes webservices. Then at some point I guess a follow up to deprecated php5.6 and remove that container, but that is probably something to go with T213641: Design mechanism and process for upgrading Kubernetes container runtimes.
Needs follow up with T213641 to start removing the older php versions from the Kubernetes environment.