[ https://issues.apache.org/jira/browse/CLOUDSTACK-7600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14208905#comment-14208905 ]
Prachi Damle commented on CLOUDSTACK-7600: ------------------------------------------ Sheng: 1) CCP put the router in 'Stopping' state at 2014-09-21 14:38:16,507 2014-09-21 14:38:16,507 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-52:ctx-303ddf98 job-1949/job-1950 ctx-e9802705) VM state transitted from :Running to Stopping with event: StopRequestedvm's original host id: 1 new host id: 1 host id before state transition: 1 2) The Deploy VM job locked the same network and decided to start this router at 2014-09-21 14:38:20,596 2014-09-21 14:38:20,595 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-65:ctx-cfa1f316 job-1953/job-1954 ctx-6fd40296) Lock is released for network id 327 as a part of router startup in Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type-->Pool(Id))] : Dest[Zone(1)-Pod(1)-Cluster(1)-Host(2)-Storage(Volume(283|ROOT-->Pool(1))] 2014-09-21 14:38:20,596 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-65:ctx-cfa1f316 job-1953/job-1954 ctx-6fd40296) Starting router VM[DomainRouter|r-271-VM] 3) Why does CCP choose to start the same router that is in 'Stopping' state. Do we not load the fresh DB state at this point and check before starting the same router? > [Automation] VM Failed to Start due to ConcurrentOperationException - Unable > to change the state of Virtual Router > ------------------------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-7600 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7600 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Automation, Test, Virtual Router > Affects Versions: 4.5.0 > Reporter: Chandan Purushothama > Assignee: Prachi Damle > Priority: Critical > Fix For: 4.5.0 > > Attachments: management-server.zip > > > *ConcurrentOperationException: Unable to change the state of VM* > {noformat} > 2014-09-21 14:38:20,648 ERROR [c.c.v.VirtualMachineManagerImpl] > (Work-Job-Executor-65:ctx-cfa1f316 job-1953/job-1954 ctx-6fd40296) Failed to > start instance VM[User|i-115-279-VM] > com.cloud.exception.ConcurrentOperationException: Unable to change the state > of VM[DomainRouter|r-271-VM] > at > com.cloud.vm.VirtualMachineManagerImpl.changeToStartState(VirtualMachineManagerImpl.java:717) > at > com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:808) > at > com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:762) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.start(VirtualNetworkApplianceManagerImpl.java:2981) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startVirtualRouter(VirtualNetworkApplianceManagerImpl.java:2055) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startRouters(VirtualNetworkApplianceManagerImpl.java:2155) > at > com.cloud.network.router.VirtualNetworkApplianceManagerImpl.deployVirtualRouterInGuestNetwork(VirtualNetworkApplianceManagerImpl.java:2137) > at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) > at > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy190.deployVirtualRouterInGuestNetwork(Unknown Source) > at > com.cloud.network.element.VirtualRouterElement.prepare(VirtualRouterElement.java:234) > at > org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareElement(NetworkOrchestrator.java:1239) > at > org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepareNic(NetworkOrchestrator.java:1373) > at > org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1309) > at > com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:970) > at > com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:4590) > at sun.reflect.GeneratedMethodAccessor379.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107) > at > com.cloud.vm.VirtualMachineManagerImpl.handleVmWorkJob(VirtualMachineManagerImpl.java:4746) > at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:102) > at > org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:516) > at > org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103) > at > org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53) > at > org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46) > at > org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:473) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:722) > 2014-09-21 14:38:20,651 DEBUG [c.c.v.VirtualMachineManagerImpl] > (Work-Job-Executor-65:ctx-cfa1f316 job-1953/job-1954 ctx-6fd40296) Cleaning > up resources for the vm VM[User|i-115-279-VM] in Starting state > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)