Unable to continue upgrading an old cacti 0.8.8 to the latest version 1.2.18

Author:

Upgrading an old instance of cacti monitoring software may become a challenge, because of multiple new recommendations and requirements for the latest version 1.2.x.
There are a couple of b recommendations like memory limit and maximum execution time and multiple plugin requirements, which if not fulfilled the setup cannot continue. Second, there are the MySQL recommendations and there is an option innodb_file_format, which in general, is recommended to be Barracuda, but by default, in older version of MySQL use Antelope!

Upgrading from CACTI version 0.8.8 is successful to CACTI version 1.2.3, but then the upgrade process just began restarting and failed to upgrade to the final target CACTI version 1.2.18 because of the old MySQL InnoDB table format – Antelope.

Despite the Barracuda is just recommended and the upgrade process continues through the steps of the setup wizard, it just suddenly stops and returns to the welcome install screen.
Setting the option innodb_file_format resolves the problem and the upgrade setup finishes successfully the upgrade from CACTI version 0.8.8 (apparently with an intermediate upgrade to CACTI version 1.2.3) to CACTI version 1.2.18.

innodb_file_format=barracuda

Probably, this option will be a mandatory MySQL option for upgrading to a newer CACTI version after 1.2.3.

Several screenshots of recommendations and requirements for upgrading to CACTI 1.2.28

SCREENSHOT 1) CACTI still supports older PHP like 5.6 and even 5.4!

800Mbytes for PHP memory_limit and max_execution_time

main menu
PHP Recommendations web and cli

SCREENSHOT 2) 21 required PHP modules to continue with the installation/upgrade wizard.

If some of them are missing, the wizard cannot continue. The required PHP modules are hash, date, filter, gd, json, openssl, ctype, ldap, mbstring, gmp, pcre, spl, pdo_mysql, session, simplexml, standard, posix, PDO, xml, zlib and sockets.

main menu
Required PHP Modules

SCREENSHOT 3) There are 4 optional modules, which may extend the functionality of the CACTI: snmp, gettext, TrueType Box and TrueType Text.

The installation/upgrade wizard will continue without them.

main menu
Optional PHP Modules

SCREENSHOT 4) The MySQL CACTI user should have SELECT privileges for mysql.time_zone_name.
main menu
MySQL TimeZone Support
SCREENSHOT 5) MySQL settings – current and recommended settings.
main menu
MySQL Settings 1
SCREENSHOT 6) MySQL settings – current and recommended settings.

Despite innodb_file_format is just recommended to be Barracuda, if it were set to Antelope the upgrade wizard would have continued, but it will fail evetually.

main menu
MySQL Settings 2

SCREENSHOT 7) MySQL settings – current and recommended settings.
main menu
MySQL Settings 3

The log of successful upgrade to 1.2.18

Cacti Server v1.2.18 - Installation Wizard
Complete

Your Cacti Server v1.2.18 has been installed/updated. You may now start using the software.
Database Upgrade - Version 1.2.5
Database Upgrade - Version 1.2.7
Database Upgrade - Version 1.2.8
Database Upgrade - Version 1.2.11
Database Upgrade - Version 1.2.14
Database Upgrade - Version 1.2.15
Database Upgrade - Version 1.2.17
Process Log

2021-08-30 17:04:37 - INSTALL: always: Installation was started at 2021-08-30 13:59:15, completed at 2021-08-30 14:04:37
2021-08-30 17:04:36 - INSTALL: always: Finished UPGRADE Process for v1.2.18
2021-08-30 17:04:35 - INSTALL: always: No templates were selected for import
2021-08-30 17:02:50 - INSTALL: always: Upgrading from v1.2.15 (DB 1.2.15) to v1.2.17
2021-08-30 17:02:49 - INSTALL: always: Upgrading from v1.2.14 (DB 1.2.14) to v1.2.15
2021-08-30 17:02:41 - INSTALL: always: Upgrading from v1.2.11 (DB 1.2.11) to v1.2.14
2021-08-30 17:02:40 - INSTALL: always: Upgrading from v1.2.8 (DB 1.2.8) to v1.2.11
2021-08-30 17:01:30 - INSTALL: always: Upgrading from v1.2.7 (DB 1.2.7) to v1.2.8
2021-08-30 17:01:29 - INSTALL: always: Upgrading from v1.2.5 (DB 1.2.5) to v1.2.7
2021-08-30 17:01:29 - INSTALL: always: Repairing Automation Rules
2021-08-30 17:01:27 - INSTALL: always: Upgrading from v1.2.3 (DB 1.2.18 (DB: 1.2.3)) to v1.2.5
2021-08-30 17:01:27 - INSTALL: always: NOTE: Using temporary file for db cache: /tmp/cdujhyG02
2021-08-30 17:01:27 - INSTALL: always: Switched from to /tmp/cdujhyG02
2021-08-30 17:01:26 - INSTALL: always: Converting Table #103 'version'
2021-08-30 17:01:25 - INSTALL: always: Converting Table #102 'vdef_items'
2021-08-30 17:01:24 - INSTALL: always: Converting Table #101 'vdef'
2021-08-30 17:01:20 - INSTALL: always: Converting Table #100 'user_log'
2021-08-30 17:01:19 - INSTALL: always: Converting Table #99 'user_domains_ldap'
2021-08-30 17:01:19 - INSTALL: always: Converting Table #98 'user_domains'
2021-08-30 17:01:18 - INSTALL: always: Converting Table #97 'user_auth_realm'
2021-08-30 17:01:17 - INSTALL: always: Converting Table #96 'user_auth_perms'
2021-08-30 17:01:16 - INSTALL: always: Converting Table #95 'user_auth_group_realm'
2021-08-30 17:01:15 - INSTALL: always: Converting Table #94 'user_auth_group_perms'
2021-08-30 17:01:14 - INSTALL: always: Converting Table #93 'user_auth_group_members'
2021-08-30 17:01:13 - INSTALL: always: Converting Table #92 'user_auth_group'
2021-08-30 17:01:12 - INSTALL: always: Converting Table #91 'user_auth_cache'
2021-08-30 17:01:11 - INSTALL: always: Converting Table #90 'user_auth'
2021-08-30 17:01:10 - INSTALL: always: Converting Table #89 'snmpagent_notifications_log'
2021-08-30 17:01:09 - INSTALL: always: Converting Table #88 'snmpagent_mibs'
2021-08-30 17:01:08 - INSTALL: always: Converting Table #87 'snmpagent_managers_notifications'
2021-08-30 17:01:07 - INSTALL: always: Converting Table #86 'snmpagent_managers'
2021-08-30 17:01:07 - INSTALL: always: Converting Table #85 'snmpagent_cache_textual_conventions'
2021-08-30 17:01:06 - INSTALL: always: Converting Table #84 'snmpagent_cache_notifications'
2021-08-30 17:01:02 - INSTALL: always: Converting Table #83 'snmpagent_cache'
2021-08-30 17:01:01 - INSTALL: always: Converting Table #82 'snmp_query_graph_sv'
2021-08-30 17:01:00 - INSTALL: always: Converting Table #81 'snmp_query_graph_rrd_sv'
2021-08-30 17:01:00 - INSTALL: always: Converting Table #80 'snmp_query_graph_rrd'
2021-08-30 17:00:58 - INSTALL: always: Converting Table #79 'snmp_query_graph'
2021-08-30 17:00:57 - INSTALL: always: Converting Table #78 'snmp_query'
2021-08-30 17:00:55 - INSTALL: always: Converting Table #77 'sites'
2021-08-30 17:00:54 - INSTALL: always: Converting Table #76 'settings_user_group'
2021-08-30 17:00:53 - INSTALL: always: Converting Table #75 'settings_user'
2021-08-30 17:00:52 - INSTALL: always: Converting Table #74 'settings_tree'
2021-08-30 17:00:52 - INSTALL: always: Converting Table #73 'settings'
2021-08-30 17:00:51 - INSTALL: always: Converting Table #72 'sessions'
2021-08-30 17:00:51 - INSTALL: always: Converting Table #71 'reports_items'
2021-08-30 17:00:50 - INSTALL: always: Converting Table #70 'reports'
2021-08-30 17:00:50 - INSTALL: always: Converting Table #69 'poller_time'
2021-08-30 17:00:49 - INSTALL: always: Converting Table #68 'poller_resource_cache'
2021-08-30 17:00:49 - INSTALL: always: Converting Table #67 'poller_reindex'
2021-08-30 17:00:48 - INSTALL: always: Converting Table #66 'poller_output_realtime'
2021-08-30 17:00:47 - INSTALL: always: Converting Table #65 'poller_output_boost'
2021-08-30 17:00:40 - INSTALL: always: Converting Table #64 'poller_item'
2021-08-30 17:00:39 - INSTALL: always: Converting Table #63 'poller_data_template_field_mappings'
2021-08-30 17:00:38 - INSTALL: always: Converting Table #62 'poller_command'
2021-08-30 17:00:38 - INSTALL: always: Converting Table #61 'poller'
2021-08-30 17:00:37 - INSTALL: always: Converting Table #60 'plugin_realms'
2021-08-30 17:00:36 - INSTALL: always: Converting Table #59 'plugin_hooks'
2021-08-30 17:00:35 - INSTALL: always: Converting Table #58 'plugin_db_changes'
2021-08-30 17:00:34 - INSTALL: always: Converting Table #57 'plugin_config'
2021-08-30 17:00:33 - INSTALL: always: Converting Table #56 'host_template_snmp_query'
2021-08-30 17:00:32 - INSTALL: always: Converting Table #55 'host_template_graph'
2021-08-30 17:00:31 - INSTALL: always: Converting Table #54 'host_template'
2021-08-30 17:00:30 - INSTALL: always: Converting Table #53 'host_snmp_query'
2021-08-30 17:00:24 - INSTALL: always: Converting Table #52 'host_snmp_cache'
2021-08-30 17:00:23 - INSTALL: always: Converting Table #51 'host_graph'
2021-08-30 17:00:22 - INSTALL: always: Converting Table #50 'host'
2021-08-30 17:00:20 - INSTALL: always: Converting Table #49 'graph_tree_items'
2021-08-30 17:00:20 - INSTALL: always: Converting Table #48 'graph_tree'
2021-08-30 17:00:12 - INSTALL: always: Converting Table #47 'graph_templates_item'
2021-08-30 17:00:10 - INSTALL: always: Converting Table #46 'graph_templates_graph'
2021-08-30 17:00:09 - INSTALL: always: Converting Table #45 'graph_templates_gprint'
2021-08-30 17:00:08 - INSTALL: always: Converting Table #44 'graph_templates'
2021-08-30 17:00:06 - INSTALL: always: Converting Table #43 'graph_template_input_defs'
2021-08-30 17:00:05 - INSTALL: always: Converting Table #42 'graph_template_input'
2021-08-30 17:00:00 - INSTALL: always: Converting Table #41 'graph_local'
2021-08-30 17:00:00 - INSTALL: always: Converting Table #40 'external_links'
2021-08-30 16:59:57 - INSTALL: always: Converting Table #39 'data_template_rrd'
2021-08-30 16:59:54 - INSTALL: always: Converting Table #38 'data_template_data'
2021-08-30 16:59:53 - INSTALL: always: Converting Table #37 'data_template'
2021-08-30 16:59:52 - INSTALL: always: Converting Table #36 'data_source_stats_yearly'
2021-08-30 16:59:52 - INSTALL: always: Converting Table #35 'data_source_stats_weekly'
2021-08-30 16:59:51 - INSTALL: always: Converting Table #34 'data_source_stats_monthly'
2021-08-30 16:59:50 - INSTALL: always: Converting Table #33 'data_source_stats_hourly'
2021-08-30 16:59:50 - INSTALL: always: Converting Table #32 'data_source_stats_daily'
2021-08-30 16:59:49 - INSTALL: always: Converting Table #31 'data_source_purge_temp'
2021-08-30 16:59:48 - INSTALL: always: Converting Table #30 'data_source_purge_action'
2021-08-30 16:59:47 - INSTALL: always: Converting Table #29 'data_source_profiles_rra'
2021-08-30 16:59:46 - INSTALL: always: Converting Table #28 'data_source_profiles_cf'
2021-08-30 16:59:46 - INSTALL: always: Converting Table #27 'data_source_profiles'
2021-08-30 16:59:40 - INSTALL: always: Converting Table #26 'data_local'
2021-08-30 16:59:39 - INSTALL: always: Converting Table #25 'data_input_fields'
2021-08-30 16:59:34 - INSTALL: always: Converting Table #24 'data_input_data'
2021-08-30 16:59:33 - INSTALL: always: Converting Table #23 'data_input'
2021-08-30 16:59:32 - INSTALL: always: Converting Table #22 'data_debug'
2021-08-30 16:59:31 - INSTALL: always: Converting Table #21 'colors'
2021-08-30 16:59:30 - INSTALL: always: Converting Table #20 'color_templates'
2021-08-30 16:59:30 - INSTALL: always: Converting Table #19 'color_template_items'
2021-08-30 16:59:29 - INSTALL: always: Converting Table #18 'cdef_items'
2021-08-30 16:59:28 - INSTALL: always: Converting Table #17 'cdef'
Copyright (C) 2004-2021 The Cacti Group

Leave a Reply

Your email address will not be published. Required fields are marked *