Prasanna Santhanam created CLOUDSTACK-4315:
----------------------------------------------

             Summary: If network shutdown fails, subsequent network upgrade 
appears to be failing
                 Key: CLOUDSTACK-4315
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4315
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
            Reporter: Prasanna Santhanam
            Priority: Critical


While running tests for vpc network upgrade following situation was
encountered. Before upgrading the vpc network, the network is shutdown and it
fails with an NPE

Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,732 WARN  [cloud.network.NetworkManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) shutdownNetworkRules failed during 
the netw
ork Ntwk[441|Guest|127] shutdown due to 
Aug 13 03:17:59 java.lang.NullPointerException  
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.router.VirtualNetworkApplianceManagerImpl.createApplyLoadBalancingRulesCommands(VirtualNetworkApplianceManagerImpl.java:3313)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendLBRules(VirtualNetworkApplianceManagerImpl.java:3678)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.router.VirtualNetworkApplianceManagerImpl$9.execute(VirtualNetworkApplianceManagerImpl.java:3671)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:3796)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyLoadBalancingRules(VirtualNetworkApplianceManagerImpl.java:3657)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.element.VirtualRouterElement.applyLBRules(VirtualRouterElement.java:393)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLbRules(LoadBalancingRulesManagerImpl.java:1549)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLbRules(LoadBalancingRulesManagerImpl.java:2089)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.lb.LoadBalancingRulesManagerImpl.applyLoadBalancerRules(LoadBalancingRulesManagerImpl.java:1586)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.lb.LoadBalancingRulesManagerImpl.revokeLoadBalancersForNetwork(LoadBalancingRulesManagerImpl.java:1519)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.shutdownNetworkResources(NetworkManagerImpl.java:4054)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2913)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.shutdownNetwork(NetworkManagerImpl.java:2859)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.implementNetwork(NetworkManagerImpl.java:1937)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkServiceImpl.updateGuestNetwork(NetworkServiceImpl.java:2240)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd.execute(UpdateNetworkCmd.java:139)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask.run(FutureTask.java:166)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.lang.Thread.run(Thread.java:679)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,742 DEBUG [cloud.network.NetworkManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Sending network shutdown to 
VpcVirtualRoute
r

But subsequently the network does shutdown without issues:
ug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,742 DEBUG [cloud.network.NetworkManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Sending network shutdown to 
VpcVirtualRouter
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,750 DEBUG [network.element.VpcVirtualRouterElement] 
(Job-Executor-26:job-1868 = [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Router 
VM[DomainRouter|r-479-QA] is not a part the network Ntwk[441|Guest|127]
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,750 DEBUG [cloud.network.NetworkManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Network id=441 is shutdown 
successfully, cleaning up corresponding resources now.


And then as the upgrade is triggered:
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,766 DEBUG [cloud.network.NetworkManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Lock is released for network id 441 
as a part of network implement
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,766 WARN  [cloud.network.NetworkServiceImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Failed to implement network 
Ntwk[441|Guest|127] elements and resources as a part of network update due to 
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com 
com.cloud.utils.exception.CloudRuntimeException: Failed to add VPC router 
VM[DomainRouter|r-479-QA] to guest network Ntwk[441|Guest|127]
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.element.VpcVirtualRouterElement.implement(VpcVirtualRouterElement.java:178)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.implementNetworkElementsAndResources(NetworkManagerImpl.java:2003)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkManagerImpl.implementNetwork(NetworkManagerImpl.java:1908)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkServiceImpl.updateGuestNetwork(NetworkServiceImpl.java:2240)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd.execute(UpdateNetworkCmd.java:139)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask.run(FutureTask.java:166)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.lang.Thread.run(Thread.java:679)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,773 ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Unexpected exception while 
executing org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com 
com.cloud.utils.exception.CloudRuntimeException: Failed to implement network 
(with specified id) elements and resources as a part of network update
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.network.NetworkServiceImpl.updateGuestNetwork(NetworkServiceImpl.java:2244)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd.execute(UpdateNetworkCmd.java:139)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.FutureTask.run(FutureTask.java:166)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com     at 
java.lang.Thread.run(Thread.java:679)
Aug 13 03:17:59 cloudstack-centos63.fmt.vmops.com local0: 2013-08-13 
10:17:59,776 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-26:job-1868 
= [ 90c7611d-8239-4976-b0aa-ac7b20d6e230 ]) Complete async job-1868 = [ 
90c7611d-8239-4976-b0aa-ac7b20d6e230 ], jobStatus: 2, resultCode: 530, result: 
Error Code: 530 Error text: Failed to implement network (with specified id) 
elements and resources as a part of network update


This is consistenly seen on test runs on kvm environments, but doesn't look to
be hypervisor specific

Steps to reproduce:
# 1. Create a VPC with cidr - 10.1.1.1/16
# 2. Create a Network offering - NO1 with all supported services
#    except PF services provided by VRVPC provider, conserve mode=OFF
# 3.Create a Network offering - NO2 with all supported services
#    including Pf services provided by VRVPC provider,conserve mode=OFF
# 4. Add network1(10.1.1.1/24) using N01 to this VPC.
# 5. Deploy vm1 and vm2 in network1.
# 6. Create a Static Nat and LB rules for vms in network1.
# 7. Make sure you are not allowed to create a PF rule for any Vm in
#    network1 and the Static Nat and LB rules for vms work as expected
# 8. Update network1 to NO2.


Management server logs are attached.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to