Downgrade (simplified) is always as following (assuming an in-place upgrade
was done_:
- delete any resources that might be created with new/upgraded mgmt server
(i.e. if you successfully upgraded, restarted VRs etc or created any
VMs/volumes) - so that your external world (hypervisor/storage) corresponds
to the DB state BEFORE the upgrade.
- stop mgmt server, downgrade packages
- restore full DB from BEFORE the upgrade
- start downgraded mgmt server.

Since upgrade failed for you, skip step 1. and proceed with the downgrade
and DB restore

Andrija

On Sun, 29 Sep 2019 at 20:49, Jevgeni Zolotarjov <[email protected]>
wrote:

> Yes. I have made db backup.
> Whats the correct way to downgrade cloudstack management in centos7?
>
> On Sun, 29 Sep 2019, 20:06 Andrija Panic, <[email protected]> wrote:
>
> > Right... You have probably added  custom guest OS type to the guest_os
> > table before the upgrade, since I'm familiar this id 277 being a
> > "duplicate".
> >
> > Remove from the guest_os table any custom added entries, since 4.13 adds
> a
> > few guest OS types, with entries being created (in this guest_os table
> > specifically) with IDs 277 up to 304 or so.
> >
> > In order to upgrade again, you will need to first restore tthe 4.11.3 db
> > backup (you took right before the upgrade...), then delete from guest_os
> > table anything with ID>275 (275 being the last ID in 4.11.3) and start
> mgmt
> > (4.13) again.
> >
> > If you added  custom entries to other OS type related tables (i.e.
> > hypervisor_guest_os if I remember the name from top of my head...), you
> > might also want to remove those together with guest_os related entries...
> >
> > Ping here if any problems.
> >
> > Andrija
> >
> >
> > On Sun, 29 Sep 2019, 16:11 Jevgeni Zolotarjov, <[email protected]>
> > wrote:
> >
> > > I was running clean installation of 4.11.3
> > >
> > > Now after updating to 4.13 cloudstack-management does not start
> > >
> > > exception from management-server.log
> > > 2019-09-29 14:05:57,058 WARN  [o.a.c.s.m.c.ResourceApplicationContext]
> > > (main:null) (logid:) Exception encountered during context
> initialization
> > -
> > > cancelling refresh attempt:
> > > org.springframework.context.ApplicationContextException: Failed to
> start
> > > bean 'cloudStackLifeCycle'; nested exception is
> > > com.cloud.utils.exception.CloudRuntimeException: Unable to upgrade the
> > > database
> > > 2019-09-29 14:05:57,059 WARN  [o.e.j.w.WebAppContext] (main:null)
> > (logid:)
> > > Failed startup of context o.e.j.w.WebAppContext@646be2c3
> > >
> > >
> >
> {/client,file:///usr/share/cloudstack-management/webapp/,UNAVAILABLE}{/usr/share/cloudstack-management/webapp}
> > > org.springframework.context.ApplicationContextException: Failed to
> start
> > > bean 'cloudStackLifeCycle'; nested exception is
> > > com.cloud.utils.exception.CloudRuntimeException: Unable to upgrade the
> > > database
> > >         at
> > >
> > >
> >
> org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:186)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:52)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:358)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:159)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:884)
> > >         at
> > >
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:145)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:245)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:233)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:117)
> > >         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:52)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:890)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:853)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
> > >         at
> > >
> >
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1515)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1477)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:785)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
> > >         at
> > > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:107)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:273)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:115)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
> > >         at org.eclipse.jetty.server.Server.start(Server.java:418)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:107)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
> > >         at org.eclipse.jetty.server.Server.doStart(Server.java:385)
> > >         at
> > >
> > >
> >
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> > >         at
> > org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:186)
> > >         at
> org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:103)
> > > Caused by: com.cloud.utils.exception.CloudRuntimeException: Unable to
> > > upgrade the database
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:265)
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:336)
> > >         at
> > >
> > >
> >
> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.java:65)
> > >         ... 47 more
> > > Caused by: com.cloud.utils.exception.CloudRuntimeException: Unable to
> > > execute upgrade script
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:203)
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:252)
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:336)
> > >         ... 48 more
> > > Caused by:
> > >
> >
> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
> > > Duplicate entry '277' for key 'PRIMARY'
> > >         at
> > com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:185)
> > >         at
> > com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
> > >         at
> > >
> > >
> >
> com.cloud.upgrade.DatabaseUpgradeChecker.runScript(DatabaseUpgradeChecker.java:197)
> > >
> >
>


-- 

Andrija Panić

Reply via email to