Abhinav Roy created CLOUDSTACK-5789:
---------------------------------------
Summary: [Hyper-V] Download ROOT Volume when the VM is in stopped
state is failing because copyCommand fails
Key: CLOUDSTACK-5789
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5789
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Hypervisor Controller, Management Server
Affects Versions: 4.3.0
Environment: hyperv , 4.3
Reporter: Abhinav Roy
Priority: Critical
Fix For: 4.3.0
Steps :
====================
1. Create an advanced zone setup with hyper-v as the host hypervisor type and
shared CIFS storage for primary storage
2. Deploy a VM
3. stop the VM
4. Goto the ROOT volume of the VM and try to download it.
Expected behaviour :
=====================
The volume should be successfully downloaded .
Observed behaviour :
=====================
ROOT volume download fails with :
MS logs
---------------------------------------
2014-01-06 11:08:03,797 DEBUG [c.c.h.h.r.HypervDirectConnectResource]
(DirectAgent-204:ctx-47365a36) POST response
is[{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"result":false,"details":"org.apache.cloudstack.storage.command.CopyCommand
failed on exception, Error getting value from 'FullFileName' on
'HypervResource.VolumeObjectTO'.","newData":null,"contextMap":{}}}]
2014-01-06 11:08:03,798 DEBUG [c.c.h.h.r.HypervDirectConnectResource]
(DirectAgent-204:ctx-47365a36) executeRequest received response
[{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"result":false,"details":"org.apache.cloudstack.storage.command.CopyCommand
failed on exception, Error getting value from \u0027FullFileName\u0027 on
\u0027HypervResource.VolumeObjectTO\u0027.","contextMap":{},"wait":0}}]
2014-01-06 11:08:03,798 DEBUG [c.c.a.m.DirectAgentAttache]
(DirectAgent-204:ctx-47365a36) Seq 5-2015625318: Response Received:
2014-01-06 11:08:03,798 DEBUG [c.c.a.t.Request] (DirectAgent-204:ctx-47365a36)
Seq 5-2015625318: Processing: { Ans: , MgmtId: 280320865129348, via: 5, Ver:
v1, Flags: 10,
[{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"result":false,"details":"org.apache.cloudstack.storage.command.CopyCommand
failed on exception, Error getting value from 'FullFileName' on
'HypervResource.VolumeObjectTO'.","wait":0}}] }
2014-01-06 11:08:03,798 DEBUG [c.c.a.t.Request] (Job-Executor-42:ctx-f12094f2
ctx-6ab0db09) Seq 5-2015625318: Received: { Ans: , MgmtId: 280320865129348,
via: 5, Ver: v1, Flags: 10, { CopyCmdAnswer } }
2014-01-06 11:08:03,802 WARN [o.a.c.s.d.ObjectInDataStoreManagerImpl]
(Job-Executor-42:ctx-f12094f2 ctx-6ab0db09) Unsupported data object (VOLUME,
org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl@476a261c), no need
to delete from object in store ref table
2014-01-06 11:08:03,831 ERROR [c.c.a.ApiAsyncJobDispatcher]
(Job-Executor-42:ctx-f12094f2) Unexpected exception while executing
org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd
com.cloud.utils.exception.CloudRuntimeException: Failed to copy the volume from
the source primary storage pool to secondary storage.
at
com.cloud.storage.VolumeApiServiceImpl.extractVolume(VolumeApiServiceImpl.java:1856)
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
com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
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.extractVolume(Unknown Source)
at
org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd.execute(ExtractVolumeCmd.java:131)
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:524)
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-06 11:08:03,838 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl]
(Job-Executor-42:ctx-f12094f2) Complete async job-78, jobStatus: FAILED,
resultCode: 530, result:
org.apache.cloudstack.api.response.ExceptionResponse/null/{"uuidList":[],"errorcode":530,"errortext":"Failed
to copy the volume from the source primary storage pool to secondary storage."}
2014-01-06 11:08:03,856 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl]
(Job-Executor-42:ctx-f12094f2) Done executing
org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd for job-78
Agent logs :
--------------------------------------------
}
2014-01-06 07:56:48,611 [29] ERROR HypervResource.VolumeObjectTO
[5984f3b0-50ee-49a8-a66f-d85421588e0d] - Invalid dataStore in VolumeObjectTO
spec
2014-01-06 07:56:48,611 [29] ERROR HypervResource.HypervResourceController
[5984f3b0-50ee-49a8-a66f-d85421588e0d] -
org.apache.cloudstack.storage.command.CopyCommand failed on exception, Error
getting value from 'FullFileName' on 'HypervResource.VolumeObjectTO'.
Newtonsoft.Json.JsonSerializationException: Error getting value from
'FullFileName' on 'HypervResource.VolumeObjectTO'. --->
System.IO.InvalidDataException: Invalid dataStore in VolumeObjectTO spec
at HypervResource.VolumeObjectTO.get_FullFileName()
at GetFullFileName(Object )
at Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target)
at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter
writer, Object value, JsonContainerContract contract, JsonProperty member,
JsonProperty property, JsonContract& memberContract, Object& memberValue)
at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter
writer, Object value, JsonObjectContract contract, JsonProperty member,
JsonContainerContract collectionContract, JsonProperty containerProperty)
at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter
writer, Object value, JsonContract valueContract, JsonProperty member,
JsonContainerContract containerContract, JsonProperty containerProperty)
at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter
jsonWriter, Object value)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter,
Object value)
at Newtonsoft.Json.Linq.JToken.FromObjectInternal(Object o, JsonSerializer
jsonSerializer)
at Newtonsoft.Json.Linq.JToken.FromObject(Object o)
at HypervResource.Utils.CreateCloudStackObject(String objType, Object
objValue)
at HypervResource.HypervResourceController.CopyCommand(Object cmd)
2014-01-06 07:56:48,611 [29] INFO HypervResource.HypervResourceController
[5984f3b0-50ee-49a8-a66f-d85421588e0d] - {
"org.apache.cloudstack.storage.command.CopyCmdAnswer": {
"result": false,
"details": "org.apache.cloudstack.storage.command.CopyCommand failed on
exception, Error getting value from 'FullFileName' on
'HypervResource.VolumeObjectTO'.",
"newData": null,
"contextMap": {}
}
}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)