The readiness check that is done before upgrading or installing extensions is caused by two separate issues. One is that the cron tasks are either not setup or are in the wrong place. The second is that the PHP-FPM memory limit needs to be set very high or else Magento becomes unstable and will not print out detailed error messages.
To resolve the issue, save the following script on your server as "magento_patch.sh".
#!/bin/bash # Move the crontab to the right place mv -f /var/spool/cron/nginx /var/spool/cron/crontabs/nginx # Fix PHP memory limit sed -i -e 's/php_admin_value\[memory_limit\] = 756M/php_admin_value\[memory_limit\] = 2G/' /etc/php/7.0/fpm/pool.d/www.conf # Restart PHP-FPM systemctl restart php7.0-fpm.service
Run the script.
chmod +x magento_patch.sh; ./magento_patch.sh
After this has finished running, wait a minute for the cron script to run and then initiate a new readiness check.