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)