[
https://issues.apache.org/jira/browse/CLOUDSTACK-1368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chip Childers resolved CLOUDSTACK-1368.
---------------------------------------
Resolution: Fixed
Committed to 4.1:
commit 0e33ba8d353aa0ae7bac5260daa0d710306372bb
Author: Murali Reddy <[email protected]>
Date: Thu Mar 21 17:38:33 2013 +0530
CLOUDSTACK-1368: Shared network - Not able to delete network because of
java.lang.NullPointerException
Missed network destroy state transistion while 'events framework' merge.
Before merge, network states were explicitly set. It was changed to go
through state machine. This fix, introduces missing state transistions.
Tested life cycle of both isolated and shared network
Signed-off-by: Murali Reddy <[email protected]>
> Shared network - Not able to delete network because of
> java.lang.NullPointerException.
> ---------------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-1368
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1368
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Management Server
> Affects Versions: 4.1.0
> Environment: Latest build from 4.1
> Reporter: Sangeetha Hariharan
> Assignee: Murali Reddy
> Priority: Blocker
> Fix For: 4.1.0
>
>
> Shared network - Not able to delete network because of
> java.lang.NullPointerException.
> Set up:
> Advanced Zone with rhel 6.3 KVM host.
> Create a shared network with dual stack (ipv4 and ipv6).
> Delete this network.
> Delete netwpork fails with "Command failed due to Internal Server Error"
> errotr message:
> 2013-02-21 17:00:19,473 INFO [cloud.api.ApiServer] (catalina-exec-20:null)
> (userId=2 accountId=2 sessionId=8323A1028B9235FCD786CDEAA7535425)
> 10.216.50.215 -- GET command=deleteNetwor
> k&id=b8ebcb5e-f0db-4997-9080-b7156d56bab9&response=json&sessionkey=LUODgzUxTfC7VuYYEVeNQ0oNo2c%3D&_=1361494821669
> 200 { "deletenetworkresponse" : {"jobid":"a2201560-eaf5-4d08-a5a7-afb
> d9e209934"} }
> 2013-02-21 17:00:22,671 INFO [cloud.api.ApiServer] (catalina-exec-17:null)
> (userId=2 accountId=2 sessionId=8323A1028B9235FCD786CDEAA7535425)
> 10.216.50.215 -- GET command=queryAsyncJo
> bResult&jobId=a2201560-eaf5-4d08-a5a7-afbd9e209934&response=json&sessionkey=LUODgzUxTfC7VuYYEVeNQ0oNo2c%3D&_=1361494824961
> 200 { "queryasyncjobresultresponse" : {"accountid":"9bdc3f60
> -7c7d-11e2-89d9-06d4460004b1","userid":"9bdcb7c4-7c7d-11e2-89d9-06d4460004b1","cmd":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","jobstatus":2,"jobprocstatus":0,"
> jobresultcode":530,"jobresulttype":"object","jobresult":{"errorcode":530,"errortext":"Command
> failed due to Internal Server
> Error"},"created":"2013-02-21T17:00:19-0800","jobid":"a2201
> 560-eaf5-4d08-a5a7-afbd9e209934"} }
> Management-server.logs:
> 2013-02-21 17:00:19,472 DEBUG [cloud.async.AsyncJobManagerImpl]
> (catalina-exec-20:null) submit async job-13, details
> : AsyncJobVO {id:13, userId: 2, accountId: 2, sessionKey: null, instanceType:
> null, instanceId: null, cmd: org.apach
> e.cloudstack.api.command.user.network.DeleteNetworkCmd, cmdOriginator: null,
> cmdInfo: {"id":"b8ebcb5e-f0db-4997-9080
> -b7156d56bab9","response":"json","sessionkey":"LUODgzUxTfC7VuYYEVeNQ0oNo2c\u003d","ctxUserId":"2","_":"1361494821669
> ","ctxAccountId":"2","ctxStartEventId":"45"}, cmdVersion: 0, callbackType: 0,
> callbackAddress: null, status: 0, proc
> essStatus: 0, resultCode: 0, result: null, initMsid: 7508777239729,
> completeMsid: null, lastUpdated: null, lastPolle
> d: null, created: null}
> 2013-02-21 17:00:19,473 DEBUG [cloud.api.ApiServlet] (catalina-exec-20:null)
> ===END=== 10.216.50.215 -- GET comman
> d=deleteNetwork&id=b8ebcb5e-f0db-4997-9080-b7156d56bab9&response=json&sessionkey=LUODgzUxTfC7VuYYEVeNQ0oNo2c%3D&_=13
> 61494821669
> 2013-02-21 17:00:19,478 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-13:job-13) Executing org.apache.clouds
> tack.api.command.user.network.DeleteNetworkCmd for job-13
> 2013-02-21 17:00:19,514 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-13:job-13) Sync job-13 execution on ob
> ject network.205
> 2013-02-21 17:00:19,547 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-13:job-13) job org.apache.cloudstack.a
> pi.command.user.network.DeleteNetworkCmd for job-13 was queued, processing
> the queue.
> 2013-02-21 17:00:19,555 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-13:job-13) Executing sync queue item:
> SyncQueueItemVO {id:1, queueId: 1, contentType: AsyncJob, contentId: 13,
> lastProcessMsid: 7508777239729, lastprocess
> Number: 1, lastProcessTime: Thu Feb 21 17:00:19 PST 2013, created: Thu Feb 21
> 17:00:19 PST 2013}
> 2013-02-21 17:00:19,556 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-13:job-13) Schedule queued job-13
> 2013-02-21 17:00:19,561 DEBUG [cloud.async.SyncQueueManagerImpl]
> (Job-Executor-13:job-13) There is a pending process
> in sync queue(id: 1)
> 2013-02-21 17:00:19,562 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-14:job-13) Executing org.apache.clouds
> tack.api.command.user.network.DeleteNetworkCmd for job-13
> 2013-02-21 17:00:19,607 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Network is not implemented
> : Ntwk[205|Guest|7]
> 2013-02-21 17:00:19,620 DEBUG [network.rules.RulesManagerImpl]
> (Job-Executor-14:job-13) Releasing 0 port forwarding
> rules for network id=205
> 2013-02-21 17:00:19,621 DEBUG [network.rules.RulesManagerImpl]
> (Job-Executor-14:job-13) Releasing 0 static nat rules
> for network id=205
> 2013-02-21 17:00:19,624 DEBUG [network.rules.RulesManagerImpl]
> (Job-Executor-14:job-13) There are no port forwarding
> rules to apply for network id=205
> 2013-02-21 17:00:19,625 DEBUG [network.rules.RulesManagerImpl]
> (Job-Executor-14:job-13) There are no static nat rule
> s to apply for network id=205
> 2013-02-21 17:00:19,627 DEBUG [network.rules.RulesManagerImpl]
> (Job-Executor-14:job-13) Successfully released rules
> for network id=205 and # of rules now = 0
> 2013-02-21 17:00:19,627 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Successfully cleaned up po
> rtForwarding/staticNat rules for network id=205
> 2013-02-21 17:00:19,636 DEBUG [network.lb.LoadBalancingRulesManagerImpl]
> (Job-Executor-14:job-13) Found 0 lb rules t
> o cleanup
> 2013-02-21 17:00:19,636 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Successfully cleaned up lo
> ad balancing rules for network id=205
> 2013-02-21 17:00:19,637 DEBUG [network.firewall.FirewallManagerImpl]
> (Job-Executor-14:job-13) Releasing 0 firewall r
> ules for network id=205
> 2013-02-21 17:00:19,637 DEBUG [network.firewall.FirewallManagerImpl]
> (Job-Executor-14:job-13) There are no firewall
> rules to apply
> 2013-02-21 17:00:19,638 DEBUG [network.firewall.FirewallManagerImpl]
> (Job-Executor-14:job-13) Successfully released
> firewall rules for network id=205 and # of rules now = 0
> 2013-02-21 17:00:19,638 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Successfully cleaned up fi
> rewallRules rules for network id=205
> 2013-02-21 17:00:19,644 DEBUG [network.vpc.NetworkACLManagerImpl]
> (Job-Executor-14:job-13) Found no network ACLs for
> network id=205
> 2013-02-21 17:00:19,644 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Successfully cleaned up Ne
> tworkACLs for network id=205
> 2013-02-21 17:00:19,652 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Sending destroy to com.clo
> ud.network.element.VirtualRouterElement@71fdbe17
> 2013-02-21 17:00:19,656 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Network id=205 is destroye
> d successfully, cleaning up corresponding resources now.
> 2013-02-21 17:00:19,673 DEBUG [cloud.network.NetworkManagerImpl]
> (Job-Executor-14:job-13) Deleted ip range for priva
> te network id=205
> 2013-02-21 17:00:19,673 DEBUG [db.Transaction.Transaction]
> (Job-Executor-14:job-13) Rolling back the transaction: Ti
> me = 17 Name =
> -AsyncJobManagerImpl$1.run:401-Executors$RunnableAdapter.call:471-FutureTask$Sync.innerRun:334-Futur
> eTask.run:166-ThreadPoolExecutor.runWorker:1110-ThreadPoolExecutor$Worker.run:603-Thread.run:679;
> called by -Transac
> tion.rollback:890-Transaction.removeUpTo:833-Transaction.close:657-TransactionContextBuilder.AroundAnyMethod:39-Gene
> ratedMethodAccessor35.invoke:-1-DelegatingMethodAccessorImpl.invoke:43-Method.invoke:616-AbstractAspectJAdvice.invok
> eAdviceMethodWithGivenArgs:621-AbstractAspectJAdvice.invokeAdviceMethod:610-AspectJAroundAdvice.invoke:65-Reflective
> MethodInvocation.proceed:172-ExposeInvocationInterceptor.invoke:90
> 2013-02-21 17:00:19,714 ERROR [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-14:job-13) Unexpected exception while
> executing org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd
> java.lang.NullPointerException
> at
> com.cloud.utils.fsm.StateMachine2.getNextState(StateMachine2.java:81)
> at com.cloud.utils.fsm.StateMachine2.transitTo(StateMachine2.java:100)
> at
> com.cloud.network.NetworkManagerImpl.stateTransitTo(NetworkManagerImpl.java:3526)
> at
> com.cloud.network.NetworkManagerImpl.destroyNetwork(NetworkManagerImpl.java:2246)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> at
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.jav
> a:689)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoi
> nPoint.java:80)
> at
> com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:37)
> at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
> at
> com.cloud.network.NetworkServiceImpl.deleteNetwork(NetworkServiceImpl.java:1343)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> at
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> com.cloud.event.ActionEventInterceptor.AroundAnyMethod(ActionEventInterceptor.java:41)
> at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:43)
> at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
--
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