Wei, thanks. I will try and let you know how it goes. Cheers


----- Original Message -----
> From: "Wei ZHOU" <[email protected]>
> To: "users" <[email protected]>
> Sent: Monday, 17 April, 2023 18:57:19
> Subject: Re: ACS upgrade SQL script error 4.17.2 > 4.18.0

> This seems to be a bug with the original commit:
> https://github.com/apache/cloudstack/commit/dc151115be3e922933ea26ab1507eb6469a91e11
> It was committed to 4.4.0, but the SQL changes were added
> to setup/db/db/schema-40to410.sql, which caused the users who used
> 4.1.0/4.2.x/4.3.x not to have the SQL changes.
> 
> I think what to do are:
> 
> 1. restore the old database
> 
> 2. create table `autoscale_vmgroup_vm_map` if not exist
> CREATE TABLE `cloud`.`autoscale_vmgroup_vm_map` (
> `id` bigint unsigned NOT NULL auto_increment,
> `vmgroup_id` bigint unsigned NOT NULL,
> `instance_id` bigint unsigned NOT NULL,
> PRIMARY KEY (`id`),
> CONSTRAINT `fk_autoscale_vmgroup_vm_map__vmgroup_id` FOREIGN KEY
> `fk_autoscale_vmgroup_vm_map__vmgroup_id` (`vmgroup_id`) REFERENCES
> `autoscale_vmgroups` (`id`) ON DELETE CASCADE,
> CONSTRAINT `fk_autoscale_vmgroup_vm_map__instance_id` FOREIGN KEY
> `fk_autoscale_vmgroup_vm_map__instance_id` (`instance_id`) REFERENCES
> `vm_instance` (`id`),
> INDEX `i_autoscale_vmgroup_vm_map__vmgroup_id`(`vmgroup_id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
> 
> 3. add column last_quiet_time to table autoscale_policies if not exist
> ALTER TABLE `cloud`.`autoscale_policies` ADD COLUMN `last_quiet_time`
> datetime DEFAULT NULL AFTER `quiet_time`;
> 
> 4. add column last_interval to table autoscale_vmgroups if not exist
> ALTER TABLE `cloud`.`autoscale_vmgroups` ADD COLUMN `last_interval`
> datetime DEFAULT NULL AFTER `interval`;
> 
> 5. Upgrade and restart mgmt server
> 
> 
> -Wei
> 
> On Mon, 17 Apr 2023 at 19:39, Andrei Mikhailovsky <[email protected]>
> wrote:
> 
>> Rohit,
>>
>> Done some more checks and I don't have this table in db backups dating
>> back early 2021. I don't have older backups than that. So it seems that
>> this table didn't exist in my setup for ages, if ever at all.
>>
>> Andrei
>>
>> ----- Original Message -----
>> > From: "Rohit Yadav" <[email protected]>
>> > To: "users" <[email protected]>
>> > Sent: Monday, 17 April, 2023 18:14:02
>> > Subject: Re: ACS upgrade SQL script error 4.17.2 > 4.18.0
>>
>> > Hi Andrei,
>> >
>> > It appears your database schema isn't in right order, the
>> > cloud.autoscale_vmgroup_vm_map table is created when we install/setup
>> > cloudstack for the first time and created by
>> >
>> https://github.com/apache/cloudstack/blob/main/engine/schema/src/main/resources/META-INF/db/schema-40to410.sql#L405
>> >
>> > Did you perhaps run the cloudstack-setup-databases or anything similar
>> on your
>> > database? If this is prod. DB you can try reverting to your backup and
>> try
>> > again.
>> >
>> >
>> > Regards.
>> >
>> > ________________________________
>> > From: Andrei Mikhailovsky <[email protected]>
>> > Sent: Monday, April 17, 2023 18:09
>> > To: users <[email protected]>
>> > Subject: ACS upgrade SQL script error 4.17.2 > 4.18.0
>> >
>> > Hello everyone,
>> >
>> > I've done an upgrade of ACS from 4.17.2 to 4.18.0 and faced a problem.
>> The
>> > management service didn't start. Log investigation showed an error
>> during the
>> > database upgrade script:
>> >
>> > 2023-04-17 13:23:26,342 ERROR [c.c.u.d.ScriptRunner] (main:null) (logid:)
>> > java.sql.SQLSyntaxErrorException: Table 'cloud.autoscale_vmgroup_vm_map'
>> > doesn't exist
>> > 2023-04-17 13:23:26,342 ERROR [c.c.u.DatabaseUpgradeChecker] (main:null)
>> > (logid:) Unable to execute upgrade script
>> > java.sql.SQLSyntaxErrorException: Table 'cloud.autoscale_vmgroup_vm_map'
>> doesn't
>> > exist
>> > at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:185)
>> > at com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
>> >
>> > [....]
>> >
>> > 2023-04-17 13:23:26,344 ERROR [c.c.u.DatabaseUpgradeChecker] (main:null)
>> > (logid:) Unable to upgrade the database
>> > com.cloud.utils.exception.CloudRuntimeException: Unable to execute
>> upgrade
>> > script
>> > at
>> >
>> com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:232)
>> > at
>> >
>> com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:310)
>> > at
>> >
>> com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:401)
>> > at
>> >
>> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:64)
>> > at
>> >
>> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:54)
>> > 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:935)
>> > 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:935)
>> > at
>> >
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:144)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:121)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:244)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:232)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:116)
>> > at
>> >
>> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:78)
>> > at
>> >
>> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
>> > at
>> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(Clou
>> >
>> > [.....]
>> >
>> >
>> > 2023-04-17 13:23:26,349 DEBUG [c.c.u.d.T.Transaction] (main:null)
>> (logid:)
>> > Rolling back the transaction: Time = 631 Name = Upgrade; called by
>> >
>> -TransactionLegacy.rollback:888-TransactionLegacy.removeUpTo:831-TransactionLegacy.close:655-DatabaseUpgradeChecker.upgrade:325-DatabaseUpgradeChecker.check:401-CloudStackExtendedLifeCycle.checkIntegrity:64-CloudStackExtendedLifeCycle.start:54-DefaultLifecycleProcessor.doStart:178-DefaultLifecycleProcessor.access$200:54-DefaultLifecycleProcessor$LifecycleGroup.start:356-Iterable.forEach:75-DefaultLifecycleProcessor.startBeans:155
>> >
>> >
>> > My setup:
>> >
>> > Ubuntu 20.04.x with latest updates for both management, agent and usage
>> servers.
>> > DB: mariadb-server 1:10.3.38-0ubuntu0.20.04.1
>> >
>> > Has anyone faced that issue? How do I solve it?
>> >
>> > Many thanks
>> >
>> > Andrei

Reply via email to