You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Likitha Shetty (JIRA)" <ji...@apache.org> on 2014/02/26 09:25:23 UTC

[jira] [Resolved] (CLOUDSTACK-6146) subsequent migration fails as cloud stack renames files after 1st migration

     [ https://issues.apache.org/jira/browse/CLOUDSTACK-6146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Likitha Shetty resolved CLOUDSTACK-6146.
----------------------------------------

    Resolution: Fixed

> 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)