Sergio Manzi
Regular Pleskian
TITLE:
ACTUAL RESULT:
EXPECTED RESULT:
ANY ADDITIONAL INFORMATION:
Update hung with PHP 5.4.16 by OS vendor FPM application disabled
PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE:Plesk 17.8.11#1
CentOS 7.4.1708, Kernel 3.10.0-693
PROBLEM DESCRIPTION:CentOS 7.4.1708, Kernel 3.10.0-693
please note: a complete account of what happened is available in the Issue - HELP! Update stuck with Plesk Onyx 17.8.11#1 thread
In my server I had all "PHP 5.4.xx by OS vendor" interfaces disabled. It's an old version and I don't want my clients be able to select it. Plesk too flags it as outdated.
I received an email from my server stating that 23 updates were available. Amongst them there were also upgrades for the OS PHP:
I proceeded with an upgrade from the Plesk panel (/admin/pum/updates-list).
After waiting more than half an hour (I had a pop-up stating "1 Tasks in progress... - Updating 23 packages") I checked the process status through ssh:
Tried restarting php-fpm manually:
Please note the "ERROR: No pool defined" above...
To get out of the situation I had to kill the PUM process, but that left yum and PUM in a miserable state (see the above cited thread for details)
STEPS TO REPRODUCE:In my server I had all "PHP 5.4.xx by OS vendor" interfaces disabled. It's an old version and I don't want my clients be able to select it. Plesk too flags it as outdated.
I received an email from my server stating that 23 updates were available. Amongst them there were also upgrades for the OS PHP:
Code:
- php 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-cli 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-common 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-fpm 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-gd 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-mbstring 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-mysql 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-pdo 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
- php-xml 5.4.16-43.el7_4.1 from updates repo (currently installed version: 5.4.16-43.el7_4 from updates repo)
I proceeded with an upgrade from the Plesk panel (/admin/pum/updates-list).
After waiting more than half an hour (I had a pop-up stating "1 Tasks in progress... - Updating 23 packages") I checked the process status through ssh:
Code:
psaadm 12133 0.0 1.1 272888 22168 ? Ss 04:11 0:00 /usr/bin/sw-engine -c /usr/local/psa/admin/conf/php.ini /usr/local/
root 12137 0.0 0.0 28464 1788 ? S 04:11 0:00 \_ /usr/local/psa/admin/bin/pum --update --json -- cloud-init ipta
root 12138 0.5 9.4 963544 178240 ? S 04:11 0:08 \_ /usr/bin/python -Estt /usr/local/psa/admin/sbin/pum_worker
root 15934 0.0 0.0 11636 1340 ? S 04:15 0:00 \_ /bin/sh /var/tmp/rpm-tmp.FNIFfk 1
root 15952 0.0 0.0 25236 1812 ? S 04:15 0:00 \_ systemctl try-restart php-fpm.service
Tried restarting php-fpm manually:
Code:
# systemctl restart php-fpm
Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details.
Code:
# systemctl -l status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/php-fpm.service.d
└─limit_nofile.conf
Active: failed (Result: exit-code) since Fri 2018-03-09 04:40:12 GMT; 6min ago
Process: 19100 ExecStart=/usr/sbin/php-fpm --nodaemonize (code=exited, status=78)
Main PID: 19100 (code=exited, status=78)
Mar 09 04:40:12 ams301.smz.it systemd[1]: Starting The PHP FastCGI Process Manager...
Mar 09 04:40:12 ams301.smz.it php-fpm[19100]: [09-Mar-2018 04:40:12] ERROR: No pool defined. at least one pool section must be specified in config file
Mar 09 04:40:12 ams301.smz.it php-fpm[19100]: [09-Mar-2018 04:40:12] ERROR: failed to post process the configuration
Mar 09 04:40:12 ams301.smz.it php-fpm[19100]: [09-Mar-2018 04:40:12] ERROR: FPM initialization failed
Mar 09 04:40:12 ams301.smz.it systemd[1]: php-fpm.service: main process exited, code=exited, status=78/n/a
Mar 09 04:40:12 ams301.smz.it systemd[1]: Failed to start The PHP FastCGI Process Manager.
Mar 09 04:40:12 ams301.smz.it systemd[1]: Unit php-fpm.service entered failed state.
Mar 09 04:40:12 ams301.smz.it systemd[1]: php-fpm.service failed.
Please note the "ERROR: No pool defined" above...
To get out of the situation I had to kill the PUM process, but that left yum and PUM in a miserable state (see the above cited thread for details)
- Reproduce the initial conditions described above
- Perform the upgrade
- Stuck upgrade
- Broken yum status
- A correct upgrade.
I'm inclined to think that on upgrades involving php-fpm (OS Version) PUM tries to start a service that it should not start if that PHP version is disabled
YOUR EXPECTATIONS FROM PLESK SERVICE TEAM:
Confirm bug
Make upgrade process more robust and fault tolerant
Make upgrade process more robust and fault tolerant
Last edited: