GitHub user andrea-janna edited a discussion: MariaDB 10.5.22 schema upgrade fails for CloudStack 4.20 fresh installation on EL9
<!-- Verify first that your issue/request is not already reported on GitHub. Also test if the latest release and main branch are affected too. Always add information AFTER of these HTML comments, but no need to delete the comments. --> ##### ISSUE TYPE <!-- Pick one below and delete the rest --> * Bug Report ##### COMPONENT NAME <!-- Categorize the issue, e.g. API, VR, VPN, UI, etc. --> ~~~ ~~~ ##### CLOUDSTACK VERSION <!-- New line separated list of affected versions, commit ID for issues on main branch. --> ~~~ 4.20.0.0 ~~~ ##### CONFIGURATION <!-- Information about the configuration if relevant, e.g. basic network, advanced networking, etc. N/A otherwise --> N/A ##### OS / ENVIRONMENT <!-- Information about the environment if relevant, N/A otherwise --> Rocky Linux 9.5 MariaDB 10.5.22 ##### SUMMARY <!-- Explain the problem/feature briefly --> When cloudstack-management service starts for the first time on a fresh installation it tries to upgrade the database schema from version 4.0.0 to 4.20.0.0 but it fails with the error "Cannot change column 'id': used in a foreign key constraint 'fk_storage_pool_details__pool_id' of table 'cloud.storage_pool_details'" ##### STEPS TO REPRODUCE <!-- For bugs, show exactly how to reproduce the problem, using a minimal test-case. Use Screenshots if accurate. For new features, show how the feature would be used. --> <!-- Paste example playbooks or commands between quotes below --> ~~~ cloudstack-setup-databases --schema-only cloud:${my_cloudstack_database_password}@192.168.27.120 -m ${my_cloudstack_encryption_password} -k ${my_cloudstack_encryption_password} cloudstack-setup-management ~~~ <!-- You can also paste gist.github.com links for larger files --> ##### EXPECTED RESULTS <!-- What did you expect to happen when running the steps above? --> ~~~ CloudStack web interface should come up. ~~~ ##### ACTUAL RESULTS <!-- What actually happened? --> <!-- Paste verbatim command output between quotes below --> ~~~ CloudStack web interface reports HTTP ERROR 503 Service Unavailable. --- management-server.log --- ... 2024-12-05 11:15:49,842 INFO [c.c.u.DatabaseUpgradeChecker] (main:[]) (logid:) Database upgrade must be performed from 4.0.0 to 4.20.0.0 2024-12-05 11:15:49,854 DEBUG [c.c.u.DatabaseUpgradeChecker] (main:[]) (logid:) Running upgrade Upgrade40to41 to upgrade from 4.0.0-4.1.0 to 4.1.0 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- Licensed to the Apache Software Foundation (ASF) under one 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- or more contributor license agreements. See the NOTICE file 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- distributed with this work for additional information 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- regarding copyright ownership. The ASF licenses this file 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- to you under the Apache License, Version 2.0 (the 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- "License"); you may not use this file except in compliance 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- with the License. You may obtain a copy of the License at 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- http://www.apache.org/licenses/LICENSE-2.0 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- Unless required by applicable law or agreed to in writing, 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- software distributed under the License is distributed on an 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 2024-12-05 11:15:49,855 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- KIND, either express or implied. See the License for the 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- specific language governing permissions and limitations 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- under the License. 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) --; 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) -- Schema upgrade from 4.0.0 to 4.1.0; 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) --; 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) use cloud 2024-12-05 11:15:49,856 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) SET foreign_key_checks = 0 2024-12-05 11:15:49,857 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table vm_template add size bigint unsigned 2024-12-05 11:15:49,880 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table vm_template add state varchar(255) 2024-12-05 11:15:49,912 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table vm_template add update_count bigint unsigned 2024-12-05 11:15:49,932 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table vm_template add updated datetime 2024-12-05 11:15:49,952 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table storage_pool add storage_provider_id bigint unsigned 2024-12-05 11:15:49,972 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table storage_pool add scope varchar(255) 2024-12-05 11:15:50,008 DEBUG [c.c.u.d.ScriptRunner] (main:[]) (logid:) alter table storage_pool modify id bigint unsigned AUTO_INCREMENT UNIQUE NOT NULL 2024-12-05 11:15:50,017 ERROR [c.c.u.d.ScriptRunner] (main:[]) (logid:) Error executing: alter table storage_pool modify id bigint unsigned AUTO_INCREMENT UNIQUE NOT NULL 2024-12-05 11:15:50,024 ERROR [c.c.u.d.ScriptRunner] (main:[]) (logid:) java.sql.SQLException: Cannot change column 'id': used in a foreign key constraint 'fk_storage_p2024-12-05 11:15:50,028 ERROR [c.c.u.DatabaseUpgradeChecker] (main:[]) (logid:) Unable to execute upgrade script java.sql.SQLException: Cannot change column 'id': used in a foreign key constraint 'fk_storage_pool_details__pool_id' of table 'cloud.storage_pool_details' at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:186) at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:88) at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:240) at com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrade(DatabaseUpgradeChecker.java:361) at com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrades(DatabaseUpgradeChecker.java:337) at com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:303) at com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:476) at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:62) at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:52) at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:174) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:143) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:274) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:279) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:262) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:131) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79) at org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62) at org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:53) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572) at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:423) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ool_details__pool_id' of table 'cloud.storage_pool_details' at org.eclipse.jetty.server.Server.doStart(Server.java:387) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:199) at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:112) 2024-12-05 11:15:50,030 ERROR [c.c.u.DatabaseUpgradeChecker] (main:[]) (logid:) Unable to upgrade the database com.cloud.utils.exception.CloudRuntimeException: Unable to execute upgrade script at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:246) at com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrade(DatabaseUpgradeChecker.java:361) at com.cloud.upgrade.DatabaseUpgradeChecker.executeUpgrades(DatabaseUpgradeChecker.java:337) at com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:303) at com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:476) at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:62) at org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:52) at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:174) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:143) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:274) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:279) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:262) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:131) at org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79) at org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58) at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62) at org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:53) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572) at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916) at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) at org.eclipse.jetty.server.Server.start(Server.java:423) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) at org.eclipse.jetty.server.Server.doStart(Server.java:387) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:199) at org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:112) Caused by: java.sql.SQLException: Cannot change column 'id': used in a foreign key constraint 'fk_storage_pool_details__pool_id' of table 'cloud.storage_pool_details' at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:186) at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:88) at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:240) ... 54 more ... ~~~ GitHub link: https://github.com/apache/cloudstack/discussions/10053 ---- This is an automatically sent email for users@cloudstack.apache.org. To unsubscribe, please send an email to: users-unsubscr...@cloudstack.apache.org