Page MenuHomePhabricator

Conffile handling for PHP 7.2 packages
Closed, ResolvedPublic


Currently when upgrading from PHP 7.2.16 to PHP 7.2.22 this triggers an interactive conffile warning in dpkg for /etc/php/7.2/cli/php.ini and /etc/php/7.2/fpm/php.ini and e.g. makes debdeploy updates stall.

This needs some further investigation, whether it's specific to the 16-22 update (maybe because the default conffiles were updates) or whether it's a generic issue which will also affect future updates within 7.2.x.

Event Timeline

As a workaround the update can be deployed with the following Cumin command (still need to get to the bottom of what causes conffile prompts here):

sudo cumin mwdebug1001* 'export DEBIAN_FRONTEND=noninteractive; apt-get install php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-fpm php7.2-gd php7.2-gmp php7.2-intl php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'

I tracked this down: Our way of integrating the puppetised php.ini files is working fine and as expected. The current round of conffile prompts is triggered by an upstream change between 7.2.16 and 7.2.22: The php ini files shipped by 7.2.22 enable a new "sqlite3.defensive = 1" option in the default config, that's what triggered the conffile prompt. I'll add a feature to debdeploy so that future updates don't require manual Cumin runs.

Mentioned in SAL (#wikimedia-operations) [2019-11-11T12:21:21Z] <effie> Upgrade mw2* to 7.2.24-1 with elegance and restart php-fpm - T231881

jijiki triaged this task as Medium priority.Nov 13 2019, 11:58 AM

This happens fairly often with the PHP packages (basically whenever a new default config is shipped), e.g. it happened again for the 7.2.26->7.2.31 update. These still need to be reviewed (whether we need/want to adopt the default change in our puppetised config files, but that basically applies to every puppetised config file.

The original issue he was that this triggered a a conffile prompt in debdeploy. This however has been fixed in debdeploy, which is deployed fleet-wide. As such, I'm closing this bug.