Icinga 2 won’t start after an upgrade

A CentOS 7 server running Icinga 2 was recently updated using yum update killed the service. The service simply did not restart. The reason turned out to be quite simple. The resolution is just as simple.

According to the Icinga docs, upgrading Icinga 2 is usually quite straightforward. Ordinarily the only manual steps involved are scheme updates for the IDO database.

If you’re upgrading an existing Icinga 2 instance, you should check the /usr/share/icinga2-ido-mysql/schema/upgrade directory for an incremental schema upgrade file. If there isn’t an upgrade file for your current version available, there’s nothing to do.

Apply all database schema upgrade files incrementally.

mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/upgrade/<version>.sql

The Icinga 2 DB IDO module will check for the required database schema version on startup and generate an error message if not satisfied.

Suppose you’re upgrading Icinga 2 from version 2.0.2 to 2.5.0. Look into the upgrade directory:

ls /usr/share/icinga2-ido-mysql/schema/upgrade/
2.0.2.sql  2.1.0.sql 2.2.0.sql 2.3.0.sql 2.4.0.sql 2.5.0.sql

There are four new upgrade files called 2.1.0.sql, 2.2.0.sql, 2.3.0.sql, 2.4.0.sql and 2.5.0.sql which must be applied incrementally to your IDO database.

After applying the schema updates, the Icinga 2 service started successfully.