ISSUE TYPE
BUG
Component Name
Import, kvm
CLOUDSTACK VERSION
Cloudstack version 4.19
SUMMARY
Unable to destroy/exunge a vm which errored during import
This is related to #8785
Steps to reproduce the issue
- Create a custom service offering

-
Have a qcow2 file present in the shared storage/localstorage
-
Navigate to tools> Import > kvm >


- Exception

- Try to delete the vm which got imported

Logs
2024-03-14 04:55:29,980 INFO [o.a.c.f.j.i.AsyncJobMonitor] (Work-Job-Executor-34:ctx-aa756401 job-1544/job-1547) (logid:eff88948) Remove job-1547 from job monitoring
2024-03-14 04:55:29,990 DEBUG [c.c.u.d.T.Transaction] (API-Job-Executor-94:ctx-695304ce job-1544 ctx-8aa6dcde) (logid:eff88948) Rolling back the transaction: Time = 5 Name = API-Job-Executor-94; called by -TransactionLegacy.rollback:889-TransactionLegacy.removeUpTo:832-TransactionLegacy.close:656-Transaction.execute:38-VirtualMachineManagerImpl.destroy:2269-VMEntityManagerImpl.destroyVirtualMachine:286-VirtualMachineEntityImpl.destroy:235-UserVmManagerImpl.destroyVm:5591-UserVmManagerImpl.destroyVm:3318-GeneratedMethodAccessor1713.invoke:-1-DelegatingMethodAccessorImpl.invoke:43-Method.invoke:566
2024-03-14 04:55:29,996 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-94:ctx-695304ce job-1544) (logid:eff88948) Unexpected exception while executing org.apache.cloudstack.api.command.admin.vm.DestroyVMCmdByAdmin
java.lang.NullPointerException
at com.cloud.vm.UserVmManagerImpl.generateUsageEvent(UserVmManagerImpl.java:4717)
at com.cloud.vm.UserVmStateListener.generateUsageEvent(UserVmStateListener.java:121)
at com.cloud.vm.UserVmStateListener.postStateTransitionEvent(UserVmStateListener.java:108)
at com.cloud.vm.UserVmStateListener.postStateTransitionEvent(UserVmStateListener.java:50)
at com.cloud.utils.fsm.StateMachine2.transitTo(StateMachine2.java:142)
at com.cloud.vm.VirtualMachineManagerImpl.stateTransitTo(VirtualMachineManagerImpl.java:2248)
at com.cloud.vm.VirtualMachineManagerImpl$4.doInTransactionWithoutResult(VirtualMachineManagerImpl.java:2274)
at com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn.doInTransaction(TransactionCallbackWithExceptionNoReturn.java:25)
at com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn.doInTransaction(TransactionCallbackWithExceptionNoReturn.java:21)
at com.cloud.utils.db.Transaction.execute(Transaction.java:40)
at com.cloud.vm.VirtualMachineManagerImpl.destroy(VirtualMachineManagerImpl.java:2269)
at org.apache.cloudstack.engine.cloud.entity.api.VMEntityManagerImpl.destroyVirtualMachine(VMEntityManagerImpl.java:286)
at org.apache.cloudstack.engine.cloud.entity.api.VirtualMachineEntityImpl.destroy(VirtualMachineEntityImpl.java:235)
at com.cloud.vm.UserVmManagerImpl.destroyVm(UserVmManagerImpl.java:5591)
at com.cloud.vm.UserVmManagerImpl.destroyVm(UserVmManagerImpl.java:3318)
at jdk.internal.reflect.GeneratedMethodAccessor1713.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy199.destroyVm(Unknown Source)
at org.apache.cloudstack.api.command.user.vm.DestroyVMCmd.execute(DestroyVMCmd.java:137)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:172)
at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:112)
at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:654)
at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:602)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecut
Actual Behaviour
Unable to destroy the vm
Expected Behaviour
vm should get destroyed
ISSUE TYPE
BUG
Component Name
Import, kvm
CLOUDSTACK VERSION
Cloudstack version 4.19
SUMMARY
Unable to destroy/exunge a vm which errored during import
This is related to #8785
Steps to reproduce the issue
Have a qcow2 file present in the shared storage/localstorage
Navigate to tools> Import > kvm >
Logs
Actual Behaviour
Unable to destroy the vm
Expected Behaviour
vm should get destroyed