GitHub user zap51 edited a discussion: Failure in upgrading CloudStack from
4.19.3.0 to 4.20.2.0
Hi Community,
We upgraded our setup with Ubuntu 20.04 LTS on management and agents to
v4.20.2.0 but it is failing at this stage mentioned below.
We see these in the log file `management-server.out` after starting
`cloudstack-management.service`. The service `cloudstack-management.service`
keeps running but these failures are seen with MariaDB v10.3.
```sh
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will
impact performance.
2026-02-19 10:04:34,816 main ERROR Unknown object "logger" of type
org.apache.logging.log4j.core.config.LoggerConfig is ignored: try nesting it
inside one of: ["Appenders", "Loggers", "Properties", "Scripts",
"CustomLevels"].
2026-02-19 10:04:34,821 main ERROR Unknown object "logger" of type
org.apache.logging.log4j.core.config.LoggerConfig is ignored: try nesting it
inside one of: ["Appenders", "Loggers", "Properties", "Scripts",
"CustomLevels"].
2026-02-19 10:04:34,826 main ERROR Unknown object "root" of type
org.apache.logging.log4j.core.config.LoggerConfig is ignored: try nesting it
inside one of: ["Appenders", "Loggers", "Properties", "Scripts",
"CustomLevels"].
10:04:42.954 [main] ERROR com.cloud.utils.db.ScriptRunner - Error executing:
ALTER TABLE `cloud`.`snapshot_schedule` DROP CONSTRAINT
`fk__snapshot_schedule_async_job_id`
10:04:42.962 [main] ERROR com.cloud.utils.db.ScriptRunner -
java.sql.SQLSyntaxErrorException: Can't DROP CONSTRAINT
`fk__snapshot_schedule_async_job_id`; check that it exists
10:04:42.963 [main] ERROR com.cloud.upgrade.DatabaseUpgradeChecker - Unable to
execute upgrade script
java.sql.SQLSyntaxErrorException: Can't DROP CONSTRAINT
`fk__snapshot_schedule_async_job_id`; check that it exists
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:186)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:88)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:242)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrade(DatabaseUpgradeChecker.java:363)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrades(DatabaseUpgradeChecker.java:339)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:305)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:478)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:62)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:52)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at
org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:174)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:143)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:274)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:279)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:262)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:131)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:53)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.eclipse.jetty.server.Server.start(Server.java:423)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:204)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:115)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
10:04:42.982 [main] ERROR com.cloud.upgrade.DatabaseUpgradeChecker -
Unable to upgrade the database
com.cloud.utils.exception.CloudRuntimeException: Unable to execute upgrade
script
at
com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:248)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrade(DatabaseUpgradeChecker.java:363)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrades(DatabaseUpgradeChecker.java:339)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:305)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:478)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:62)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:52)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at
org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:174)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:143)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:274)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:279)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:262)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:131)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:53)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.eclipse.jetty.server.Server.start(Server.java:423)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:204)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:115)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
Caused by: java.sql.SQLSyntaxErrorException: Can't DROP CONSTRAINT
`fk__snapshot_schedule_async_job_id`; check that it exists
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:186)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:88)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
at
com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:242)
~[cloudstack-4.20.2.0.jar:4.20.2.0]
... 54 more
```
Any help would be appreciated.
GitHub link: https://github.com/apache/cloudstack/discussions/12663
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]