manasaveloori created CLOUDSTACK-5763: -----------------------------------------
Summary: "InvalidParameterValueException" when migrating the root volume of the stppoed VM to another primary storage. Key: CLOUDSTACK-5763 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5763 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: Storage Controller Affects Versions: 4.3.0 Reporter: manasaveloori Priority: Critical Fix For: 4.3.0 Attachments: management-server.log Steps: 1. Deploy CS 4.3 (any HV tried with KVM and Xen5.6 sp2) 2. Have multiple primary storages. 3. Deploy an instance and stop it. 4. Migrate the root volume of the stopped VM to another primary storage. Observation: Observed the following exception: 2014-01-03 21:43:10,826 DEBUG [c.c.a.ApiServlet] (catalina-exec-21:ctx-5da1e45c ctx-2b2c35f8) ===END=== 10.252.192.34 -- GET command=migrateVolume&livemigrate=true&storageid=a85f0b79-1c84-3291-9c45-10510d327eee&volumeid=4e5f1fe0-29be-49dc-b74e-5d66e207e22c&response=json&sessionkey=toMTqmwjN9SSHxVGHaflXD3mfXY%3D&_=1388746387010 2014-01-03 21:43:10,830 INFO [o.a.c.f.j.i.AsyncJobMonitor] (Job-Executor-63:ctx-8fe672b3) Add job-52 into job monitoring 2014-01-03 21:43:10,830 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (Job-Executor-63:ctx-8fe672b3) Executing AsyncJobVO {id:52, userId: 2, accountId: 2, instanceType: None, instanceId: null, cmd: org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd, cmdInfo: {"response":"json","sessionkey":"toMTqmwjN9SSHxVGHaflXD3mfXY\u003d","cmdEventType":"VOLUME.MIGRATE","ctxUserId":"2","storageid":"a85f0b79-1c84-3291-9c45-10510d327eee","livemigrate":"true","httpmethod":"GET","_":"1388746387010","volumeid":"4e5f1fe0-29be-49dc-b74e-5d66e207e22c","ctxAccountId":"2","ctxStartEventId":"79"}, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid: 7494415941730, completeMsid: null, lastUpdated: null, lastPolled: null, created: null} 2014-01-03 21:43:10,849 ERROR [c.c.a.ApiAsyncJobDispatcher] (Job-Executor-63:ctx-8fe672b3) Unexpected exception while executing org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd com.cloud.exception.InvalidParameterValueException: Volume needs to be detached from VM at com.cloud.storage.VolumeApiServiceImpl.migrateVolume(VolumeApiServiceImpl.java:1555) 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:616) 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 $Proxy195.migrateVolume(Unknown Source) at org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd.execute(MigrateVolumeCmd.java:103) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161) at com.cloud.api.ApiAsyncJobDispatcher.runJobInContext(ApiAsyncJobDispatcher.java:109) at com.cloud.api.ApiAsyncJobDispatcher$1.run(ApiAsyncJobDispatcher.java:66) 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 com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:63) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:522) 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 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:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) 2014-01-03 21:43:10,852 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (Job-Executor-63:ctx-8fe672b3) Complete async job-52, jobStatus: FAILED, resultCode: 530, result: org.apache.cloudstack.api.response.ExceptionResponse/null/{"uuidList":[],"errorcode":530,"errortext":"Volume needs to be detached from VM"} 2014-01-03 21:43:10,865 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (Job-Executor-63:ctx-8fe672b3) Done executing org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd for job-52 Attaching the MS logs: -- This message was sent by Atlassian JIRA (v6.1.5#6160)