Upgrade our internally maintained php7.2 packages to 7.2.22.
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Invalid | None | T220600 Remove PHP 7.0 from production application servers | |||
Resolved | MoritzMuehlenhoff | T230024 Update component/php72 to 7.2.22 |
Event Timeline
Status: php7.2 currently fails to build on boron due to some build time hostname check which fails on boron, I still need to get to the bottom of that.
I'm running into a build failure, which I initially assumed was caused by DNS resolution in pbuilder/boron, but it's ultimately caused by MariaDB; the build calls mysql_install_db from the MariaDB package, which is broken by https://jira.mariadb.org/browse/MDEV-18526
I'm trying a few workarounds
Mentioned in SAL (#wikimedia-operations) [2019-09-03T12:52:44Z] <moritzm> uploaded PHP 7.2.22 to component/php72 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-03T13:09:53Z] <moritzm> upgrading remaining mwdebug servers to PHP 7.2.22 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-03T14:21:50Z] <moritzm> upgrading app server canaries to PHP 7.2.22 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-09T12:48:09Z] <moritzm> upgrading remaining job runners to PHP 7.2.22 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-09T13:01:39Z] <moritzm> upgrading remaining mediawiki app servers (mw1266-mw1275) to PHP 7.2.22 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-09T13:15:34Z] <moritzm> upgrading labweb/wikitech to PHP 7.2.22 T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-10T06:57:08Z] <moritzm> upgrading snapshot* to PHP 7.2.22 T230024
@thcipriani is it ok if we update php7 to 7.2.22 on deploy* servers? Do you know if there are any dependencies ?
Mentioned in SAL (#wikimedia-operations) [2019-09-18T09:37:43Z] <effie> upgrading netmon* to PHP 7.2.22 T230024
The only thing scap does on the deployment servers via php is mwscript rebuildLocalisationCache.php. The php changelog seems like there are a lot of bugfixes between 7.2.8 (current version) and 7.2.22 without much else, so it doesn't seem worrisome to me; however, I haven't been following php7 development very closely.
One easiest way to test would be to run something like: mwscript rebuildLocalisationCache.php --wiki=enwiki --outdir=/tmp/php7.2.22-l10nupdate and ensure it runs without error and generates cdb files.
Mentioned in SAL (#wikimedia-operations) [2019-09-24T09:26:25Z] <effie> Upgrade to php 7.2.22 on deploy* - T230024
Mentioned in SAL (#wikimedia-operations) [2019-09-24T09:51:55Z] <effie> Upgrade to php 7.2.22 on mwmaint* - T230024
@Dzahn phabricator servers are still on php7.2.8, should they be upgraded to 7.2.22 ?
Mentioned in SAL (#wikimedia-operations) [2019-09-27T22:36:34Z] <mutante> phab2001 - upgrade php7.2 packages to 7.2.22 (T230024)
@jijiki Any examples how it was done on the other servers? Did you keep the locally modified php.ini and fpm/php.ini files? I let the package overwrite but then let puppet revert that.
I installed php7.2-common and let that pull the dependencies.
php-apcu is still there in a version 5.x . Other packages not 7.2.22 are php-common, php-mailparse, php-mbstring
@Dzahn: The current update for PHP 7.2.22 is a little special as there was an upstream change in the shipped default conffile (a new option for sqlite was added). You can use the following via Cumin:
sudo cumin $SERVER 'export DEBIAN_FRONTEND=noninteractive; apt-get install php7.2-a pgp7.2-b php7.2-c (..) -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'
Mentioned in SAL (#wikimedia-operations) [2019-10-01T00:12:05Z] <mutante> phabricator - upgrading PHP version to 7.2.22 - T230024
Thank you @MoritzMuehlenhoff and @jijiki first done on 2001 now also done on 1001.
upgrade command:
sudo cumin phab1003.eqiad.wmnet 'export DEBIAN_FRONTEND=noninteractive; apt-get install libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-dev php7.2-fpm php7.2-gd php7.2-gmp php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-phpdbg php7.2-readline php7.2-xml -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'
all the php7.2-* packages are now on `7.2.22-1+0~20190902.26+debian9~1.gbpd64eb7+wmf1
`test command used on 2001:
curl -L --header "Host: phabricator.wikimedia.org" --url https://phabricator.wikimedia.org/ http://phab2001.codfw.wmnet > phab2001.html
@20after4 is also testing some things after upgrade.