[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-6146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13912580#comment-13912580
 ] 

ASF subversion and git services commented on CLOUDSTACK-6146:
-------------------------------------------------------------

Commit c652ff45dffaafa1cb0de29103e90fe936382028 in cloudstack's branch 
refs/heads/4.3-forward from [~likithas]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c652ff4 ]

CLOUDSTACK-6146. [VMware] [ESXi 5.5] Live storage migration of an already 
migrated volume fails
In vCenter 5.5, once a volume is migrated the VMDKs are renamed to match the 
name of the VM.
If a volume has been renamed upon migration update its volumePath to that of 
the new disk filename.


> subsequent migration fails as cloud stack renames files after 1st migration
> ---------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-6146
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6146
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.3.0
>         Environment: ESXi 5.5
>            Reporter: praveena palaniswamy
>            Assignee: Likitha Shetty
>            Priority: Critical
>             Fix For: 4.3.0
>
>
> CLoudplatform/Cloudstack, renames the files after first successful migration 
> and therefore, subsequent migration fails. This happens with 
> CloudPlatform 4.3
> Hypervisor: ESXi5.5
> 1.    File name gets renamed after migration, which inturn fails subsequent 
> migrations (CLOUDSTACK issue)
> a.    Before migration of data disk the contents of VM folder can be seen 
> below
> [root@host148 i-2-3-VM]# ls -l
> total 40060
> -rw-------. 1 root root 3221225472 Feb 13  2014 
> 7868703c4e8345a58d568ece092baa0e-flat.vmdk
> -rw-------. 1 root root        518 Feb 13 06:05 
> 7868703c4e8345a58d568ece092baa0e.vmdk
> [root@host148 i-2-3-VM]#
> b.    After migration, cloudstack renames the file name 
> 7868703c4e8345a58d568ece092baa0e.vmdk to i-2-3-VM_2.vmdk
> [root@host148 i-2-3-VM]# ls -l
> total 19072
> -rw-------. 1 root root 3221225472 Feb 13  2014 i-2-3-VM_2-flat.vmdk
> -rw-------. 1 root root        519 Feb 13  2014 i-2-3-VM_2.vmdk
> [root@host148 i-2-3-VM]#
> c.    So when we call the migration for the second time, cloudstack looks for 
> the file “7868703c4e8345a58d568ece092baa0e.vmdk” and it does not find it and 
> migration fails.
> d.    Be it from netapp to non-netapp, or netapp to netapp, all the 
> subsequent migration fails with the following message
> 2014-02-13 06:17:57,399 ERROR [c.c.h.v.r.VmwareResource] 
> (DirectAgent-415:ctx-33da787a 10.61.166.68) Catch Exception 
> java.lang.Exception due to java.lang.Exception: No such disk device: 
> 7868703c4e8345a58d568ece092baa0e.vmdk
> java.lang.Exception: No such disk device: 
> 7868703c4e8345a58d568ece092baa0e.vmdk
>         at 
> com.cloud.hypervisor.vmware.resource.VmwareResource.getVirtualDiskInfo(VmwareResource.java:4420)
>         at 
> com.cloud.hypervisor.vmware.resource.VmwareResource.execute(VmwareResource.java:4397)
>         at 
> com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:454)
>         at 
> com.cloud.agent.manager.DirectAgentAttache$Task.runInContext(DirectAgentAttache.java:216)
>         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.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
>         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:722)
> 2014-02-13 06:17:57,400 DEBUG [c.c.a.m.DirectAgentAttache] 
> (DirectAgent-415:ctx-33da787a) Seq 1-2016020265: Response Received:
> 2014-02-13 06:17:57,401 DEBUG [c.c.a.t.Request] 
> (DirectAgent-415:ctx-33da787a) Seq 1-2016020265: Processing:  { Ans: , 
> MgmtId: 52230907924, via: 1, Ver: v1, Flags: 110, 
> [{"com.cloud.agent.api.storage.MigrateVolumeAnswer":{"result":false,"details":"Catch
>  Exception java.lang.Exception due to java.lang.Exception: No such disk 
> device: 7868703c4e8345a58d568ece092baa0e.vmdk","wait":0}}] }
> 2014-02-13 06:17:57,401 DEBUG [c.c.a.t.Request] (Job-Executor-7:ctx-5972265e 
> ctx-d2079367) Seq 1-2016020265: Received:  { Ans: , MgmtId: 52230907924, via: 
> 1, Ver: v1, Flags: 110, { MigrateVolumeAnswer } }
> 2014-02-13 06:17:57,401 DEBUG [o.a.c.s.m.AncientDataMotionStrategy] 
> (Job-Executor-7:ctx-5972265e ctx-d2079367) copy failed
> com.cloud.utils.exception.CloudRuntimeException: Failed to migrate volume 
> org.apache.cloudstack.storage.volume.VolumeObject@70240ea0 to storage pool 
> org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl@4f3c63e4
>         at 
> org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.migrateVolumeToPool(AncientDataMotionStrategy.java:386)
>         at 
> org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyAsync(AncientDataMotionStrategy.java:421)
>         at 
> org.apache.cloudstack.storage.motion.DataMotionServiceImpl.copyAsync(DataMotionServiceImpl.java:70)
>         at 
> org.apache.cloudstack.storage.volume.VolumeServiceImpl.migrateVolume(VolumeServiceImpl.java:931)
>         at 
> com.cloud.storage.VolumeApiServiceImpl.liveMigrateVolume(VolumeApiServiceImpl.java:1680)
>         at 
> com.cloud.storage.VolumeApiServiceImpl.orchestrateMigrateVolume(VolumeApiServiceImpl.java:1666)
>         at 
> com.cloud.storage.VolumeApiServiceImpl.migrateVolume(VolumeApiServiceImpl.java:1622)
>         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:601)
>         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 $Proxy196.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:526)
>         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:722)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to