Abhinandan Prateek created CLOUDSTACK-9868:
----------------------------------------------
Summary: internal LB for VPC tier is broken
Key: CLOUDSTACK-9868
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9868
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: VPC
Affects Versions: 4.9.0
Reporter: Abhinandan Prateek
Priority: Blocker
Fix For: 4.10.1.0
660
2017-04-05 09:29:02,504 WARN [o.a.c.e.o.NetworkOrchestrator]
(Work-Job-Executor-73:ctx-aca51da1 job-521791/job-521801 ctx-d1bd5a40)
shutdownNetworkRules failed during the network Ntwk[1557|Guest|60] shutdown due
to
com.cloud.utils.exception.CloudRuntimeException: Unable to start a VM due to
concurrent operation
at
com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:618)
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.startInternalLbVm(InternalLoadBalancerVMManagerImpl.java:826)
<------------- Second Invocation, causes concurrent exception
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.startInternalLbVms(InternalLoadBalancerVMManagerImpl.java:581)
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.deployInternalLbVm(InternalLoadBalancerVMManagerImpl.java:565)
at
org.apache.cloudstack.network.element.InternalLoadBalancerElement.applyLBRules(InternalLoadBalancerElement.java:335)
at
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLbRules(LoadBalancingRulesManagerImpl.java:1842)
at
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLbRules(LoadBalancingRulesManagerImpl.java:2439)
at
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLoadBalancerRules(LoadBalancingRulesManagerImpl.java:1878)
at
com.cloud.network.lb.LoadBalancingRulesManagerImpl.revokeLoadBalancersForNetwork(LoadBalancingRulesManagerImpl.java:1815)
at sun.reflect.GeneratedMethodAccessor571.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
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 com.sun.proxy.$Proxy160.revokeLoadBalancersForNetwork(Unknown Source)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.shutdownNetworkResources(NetworkOrchestrator.java:2878)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.shutdownNetworkElementsAndResources(NetworkOrchestrator.java:2236)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.shutdownNetwork(NetworkOrchestrator.java:2162)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:1053)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:950)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1314)
at
com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:997)
at
com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:787)
at
com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:616)
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.startInternalLbVm(InternalLoadBalancerVMManagerImpl.java:826)
<------------- First Invocation
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.startInternalLbVms(InternalLoadBalancerVMManagerImpl.java:581)
at
org.apache.cloudstack.network.lb.InternalLoadBalancerVMManagerImpl.deployInternalLbVm(InternalLoadBalancerVMManagerImpl.java:565)
at
org.apache.cloudstack.network.element.InternalLoadBalancerElement.implementInternalLbVms(InternalLoadBalancerElement.java:201)
at
org.apache.cloudstack.network.element.InternalLoadBalancerElement.implement(InternalLoadBalancerElement.java:170)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetworkElementsAndResources(NetworkOrchestrator.java:1116)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:1020)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:950)
at
org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1314)
at
com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:997)
at
com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:4605)
at sun.reflect.GeneratedMethodAccessor553.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107)
at
com.cloud.vm.VirtualMachineManagerImpl.handleVmWorkJob(VirtualMachineManagerImpl.java:4766)
at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:102)
at
org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:554)
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:502)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.cloud.exception.ConcurrentOperationException: There are
concurrent operations on VM[InternalLoadBalancerVm|b-9430-VM]
Another issue is on repeated restarts the LB gets stuck:
Executor-73; called by
-TransactionLegacy.rollback:889-TransactionLegacy.removeUpTo:832-TransactionLegacy.close:656-Transaction.execute:43-VirtualMachineManagerImpl.changeToStartState:682-VirtualMachineManagerImpl.orchestrateStart:834-VirtualMachineManagerImpl.advanceStart:787-VirtualMachineManagerImpl.start:616-InternalLoadBalancerVMManagerImpl.startInternalLbVm:826-InternalLoadBalancerVMManagerImpl.startInternalLbVms:581-InternalLoadBalancerVMManagerImpl.deployInternalLbVm:565-InternalLoadBalancerElement.applyLBRules:335
2017-04-06 03:57:28,334 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Unable to transition into Starting state due to Unable to
transition to a new state from Starting via StartRequested
2017-04-06 03:57:28,335 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Determining why we're unable to update the state to Starting
for VM[InternalLoadBalancerVm|b-24-VM]. Retry=4
2017-04-06 03:58:28,338 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Waiting some more to make sure there's no activity on
VM[InternalLoadBalancerVm|b-24-VM]
2017-04-06 03:59:28,342 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Waiting some more to make sure there's no activity on
VM[InternalLoadBalancerVm|b-24-VM]
2017-04-06 04:00:28,346 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Waiting some more to make sure there's no activity on
VM[InternalLoadBalancerVm|b-24-VM]
2017-04-06 04:01:28,350 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Waiting some more to make sure there's no activity on
VM[InternalLoadBalancerVm|b-24-VM]
2017-04-06 04:02:28,353 DEBUG [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-73:ctx-7c9f0fad job-176/job-177 ctx-35780e08)
(logid:ba53a445) Waiting some more to make sure there's no activity on
VM[InternalLoadBalancerVm|b-24-VM]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)