We have been trying to upgrade from 1.7.8 to 1.8.9. This is an upgrade from a manual installation to a docker-based installation. When we have tried this twice, it has failed on the step “Upgrade Layouts - Convert existing Layouts”. Today, our admin was able to get a bit more information:
MariaDB [xibo]> select step,type from upgrade;
Upgrade Layouts - Convert existing Layouts - is the problem step.
I was able to identify the LayoutStructureStep.php from inside of the xibo container:
when I manually run the step:
bash-4.3# php LayoutStructureStep.php
PHP Fatal error: Interface ‘Xibo\Upgrade\Step’ not found in /var/www/cms/lib/Upgrade/LayoutStructureStep.php on line 23
As a proof of concept, I removed the problem step:
MariaDB [xibo]> delete from upgrade where step=‘Upgrade Layouts - Convert existing Layouts’;
Query OK, 1 row affected (0.00 sec)
and the upgrade continued quickly and as expected (besides the layouts being broken).
max execution time was 300 seconds
That step might take some time, depending on the number of layouts in the system, perhaps it did exceed the max execution time and that’s why it appeared as problem.
How many layouts are in your CMS?
Presumably all other steps were fine, as such even in this state you could upgrade the layouts manually if needed, although if you have a lot of layouts then proper upgrade would be more suitable, in which case the max execution time would need to be increased - unless you get a specific error while the steps run not just timeout.
We have approximately 70 layouts. During this time there was nothing being recorded in the binlog on our external database server besides errors such as this:
VALUES (‘0e2158c’, ‘2018-07-19 10:14:35’, ‘XMDS’, ‘ERROR’, ‘RegisterDisplay’, ‘POST’, ‘SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘display.auditingUntil’ in ‘field list’’, ‘0’, ‘0’)
This is the second time the upgrade has failed in the exact same way. I’m considering a manual upgrade to 1.8.0 and then adding docker into the mix.
I probably should’ve asked earlier, but when you say upgrade the layouts manually, what does this entail?
We managed to complete the upgrade. We requested that our users delete any layouts and media that was not in use. We also made sure all layouts in the system were “valid” and playable. We’re not sure which made it work, but the upgrade completed almost instantly with approximately 60 layouts in the system (around 20-30 less than there was initially). So tip to people who have such problem in the future, clean up your system a bit.
I’m glad that worked for you.
The 1.8.11 will have some improvements regarding upgrading, specifically the layout upgrade, which should (hopefully) solve issues such as the one you have encountered.