[ https://issues.apache.org/jira/browse/CLOUDSTACK-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14144172#comment-14144172 ]
Sheng Yang commented on CLOUDSTACK-7605: ---------------------------------------- There are two issues with it: 1. getRouters() mentioned above in the log, doesn't handle RestartNetwork with cleanup=true for basic zone, because pod wouldn't be specific at the time. 2. There is one bug introduced by Rohit, overrided the variable "routers" with some local values, result in only one of the routers in multiple pods would return, thus only one router would be started. commit 6dd5c3fd42c70855d75156243dddc4933436baaf Author: Rohit Yadav <bhais...@apache.org> Date: Thu Oct 11 18:30:00 2012 +0530 CLOUDSTACK-70: Improve restart network behaviour for basic network If cleanup=true, network elements and resources are shutdown and reimplemented. Else, shutdown/reimplementation is skipped. Enabled cleanup checkbox in CS UI. For both cases, VRs are only deployed for Pods with no running or starting VRs and Pods having running or starting user vms. New DAO helpers introduced: HostPodDao: listByDataCenterIdVMTypeAndStates DomainRouterDao: listByPodId and listByPodIdAndStates VMInstanceDao: listByPodId and corrected definition of listByTypeAndState Signed-off-by: Rohit Yadav <bhais...@apache.org> > [Basic zone] Restart network with clean up set to true in a zone with > multiple pods leave routers in stopped state > ------------------------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-7605 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7605 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Reporter: Sheng Yang > Assignee: Sheng Yang > Priority: Critical > > In a basic zone with more than one pod, if network is restarted with clean up > set to true, routers in all Pods get recreated but remain in Stopped state. > Only one router gets started up. > Exception like this: > 2014-09-22 15:42:21,583 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] > (Work-Job-Executor-14:ctx-51d3b3f9 job-25/job-32 ctx-79fd1959) Wake up jobs > joined with job- 32 and disjoin all subjobs created from job- 32 > 2014-09-22 15:42:21,587 DEBUG [c.c.v.VmWorkJobDispatcher] > (Work-Job-Executor-14:ctx-51d3b3f9 job-25/job-32) Done with run of VM work > job: com.cloud.vm.VmWorkStart for VM 13, job origin: 25 > 2014-09-22 15:42:21,587 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] > (Work-Job-Executor-14:ctx-51d3b3f9 job-25/job-32) Done executing > com.cloud.vm.VmWorkStart for job-32 > 2014-09-22 15:42:21,594 DEBUG [o.a.c.e.o.NetworkOrchestrator] > (API-Job-Executor-13:ctx-693acbb4 job-25 ctx-5a20d246) Asking > SecurityGroupProvider to implemenet Ntwk[204|Guest|6] > 2014-09-22 15:42:21,595 WARN [o.a.c.e.o.NetworkOrchestrator] > (API-Job-Executor-13:ctx-693acbb4 job-25 ctx-5a20d246) Failed to implement > network Ntwk[204|Guest|6] elements and resources as a part of network restart > due to > java.lang.NullPointerException > at > com.cloud.network.element.VirtualRouterElement.getRouters(VirtualRouterElement.java:971) > at > com.cloud.network.element.VirtualRouterElement.prepareAggregatedExecution(VirtualRouterElement.java:1118) > at > org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetworkElementsAndResources(NetworkOrchestrator.java:1120) > at > org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.restartNetwork(NetworkOrchestrator.java:2484) > at > com.cloud.network.NetworkServiceImpl.restartNetwork(NetworkServiceImpl.java:1873) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > 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.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) > at > com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) > 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.$Proxy173.restartNetwork(Unknown Source) > at > org.apache.cloudstack.api.command.user.network.RestartNetworkCmd.execute(RestartNetworkCmd.java:95) > at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141) > at > com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108) > at > org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:513) > 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:470) > 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:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) -- This message was sent by Atlassian JIRA (v6.3.4#6332)