Abhinav Roy created CLOUDSTACK-3638:
---------------------------------------
Summary: [Object_Store][VMWARE] Migration of ROOT volume from one
storage pool to another throws an NPE
Key: CLOUDSTACK-3638
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3638
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Storage Controller
Affects Versions: 4.2.0
Reporter: Abhinav Roy
Priority: Critical
Fix For: 4.2.0
Steps :
==================
1. Deploy a CS advanced zone setup with ESX having 2 iscsi type primary storages
2. Create a VM.
3. Go to the ROOT volume and migrate it to another primary storage
The migration throws an NPE
2013-07-18 17:42:09,293 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null)
===START=== 10.144.7.7 -- GET
command=migrateVolume&livemigrate=true&storageid=851ffc24-8d6c-34cb-b41f-3efc9b4a01c6&volumeid=1c5ce72b-6274-49a2-b1fd-c4e65916ae2a&response=json&sessionkey=sCFFraIKTESmSnep%2BF5mi4dsHAg%3D&_=1374149693016
2013-07-18 17:42:09,325 DEBUG [cloud.async.AsyncJobManagerImpl]
(catalina-exec-1:null) submit async job-48 = [
4a75383f-425a-49e4-a552-d33a60144c1e ], details: AsyncJobVO {id:48, userId: 2,
accountId: 2, sessionKey: null, instanceType: None, instanceId: null, cmd:
org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd, cmdOriginator:
null, cmdInfo:
{"response":"json","sessionkey":"sCFFraIKTESmSnep+F5mi4dsHAg\u003d","cmdEventType":"VOLUME.MIGRATE","ctxUserId":"2","storageid":"851ffc24-8d6c-34cb-b41f-3efc9b4a01c6","livemigrate":"true","httpmethod":"GET","volumeid":"1c5ce72b-6274-49a2-b1fd-c4e65916ae2a","_":"1374149693016","ctxAccountId":"2","ctxStartEventId":"417"},
cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0,
processStatus: 0, resultCode: 0, result: null, initMsid: 280320865129348,
completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
2013-07-18 17:42:09,326 DEBUG [cloud.api.ApiServlet] (catalina-exec-1:null)
===END=== 10.144.7.7 -- GET
command=migrateVolume&livemigrate=true&storageid=851ffc24-8d6c-34cb-b41f-3efc9b4a01c6&volumeid=1c5ce72b-6274-49a2-b1fd-c4e65916ae2a&response=json&sessionkey=sCFFraIKTESmSnep%2BF5mi4dsHAg%3D&_=1374149693016
2013-07-18 17:42:09,328 DEBUG [cloud.async.AsyncJobManagerImpl]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Executing
org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd for job-48 = [
4a75383f-425a-49e4-a552-d33a60144c1e ]
2013-07-18 17:42:09,356 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) copyAsync
inspecting src type VOLUME copyAsync inspecting dest type VOLUME
2013-07-18 17:42:09,359 DEBUG [cache.allocator.StorageCacheRandomAllocator]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Can't find
cache storage in zone: 1
2013-07-18 17:42:09,409 DEBUG [agent.transport.Request] (Job-Executor-48:job-48
= [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Seq 3-1572080679: Sending { Cmd ,
MgmtId: 280320865129348, via: 3, Ver: v1, Flags: 100011,
[{"org.apache.cloudstack.storage.command.CopyCommand":{"srcTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"1c5ce72b-6274-49a2-b1fd-c4e65916ae2a","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"ad98e42b-1ef6-33a6-a682-6de191fe24eb","id":3,"poolType":"VMFS","host":"VMFS
datastore:
/ost-dc/iscsi-primary1","path":"/ost-dc/iscsi-primary1","port":0}},"name":"ROOT-8","size":0,"path":"ROOT-8-11","volumeId":11,"vmName":"i-2-8-VM","accountId":2,"format":"OVA","id":11}},"destTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"1c5ce72b-6274-49a2-b1fd-c4e65916ae2a","volumeType":"ROOT","dataStore":{"com.cloud.agent.api.to.NfsTO":{"_url":"nfs://10.102.192.100/cpg_vol/abhinav/esx-sec-campo","_role":"Image"}},"name":"ROOT-8","size":0,"path":"volumes/2/11","volumeId":11,"vmName":"i-2-8-VM","accountId":2,"format":"OVA","id":11}},"executeInSequence":false,"wait":10800}}]
}
2013-07-18 17:42:09,418 DEBUG [agent.manager.AgentManagerImpl]
(AgentManager-Handler-13:null) SeqA 2-10890: Processing Seq 2-10890: { Cmd ,
MgmtId: -1, via: 2, Ver: v1, Flags: 11,
[{"com.cloud.agent.api.ConsoleProxyLoadReportCommand":{"_proxyVmId":2,"_loadInfo":"{\n
\"connections\": []\n}","wait":0}}] }
2013-07-18 17:42:09,421 DEBUG [agent.manager.AgentManagerImpl]
(AgentManager-Handler-13:null) SeqA 2-10890: Sending Seq 2-10890: { Ans: ,
MgmtId: 280320865129348, via: 2, Ver: v1, Flags: 100010,
[{"com.cloud.agent.api.AgentControlAnswer":{"result":true,"wait":0}}] }
2013-07-18 17:42:09,489 DEBUG [agent.transport.Request]
(AgentManager-Handler-15:null) Seq 3-1572080679: Processing: { Ans: , MgmtId:
280320865129348, via: 3, Ver: v1, Flags: 10,
[{"com.cloud.agent.api.Answer":{"result":false,"details":"java.lang.NullPointerException\n\tat
com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.executeRequest(VmwareSecondaryStorageResourceHandler.java:105)\n\tat
com.cloud.storage.resource.PremiumSecondaryStorageResource.executeRequest(PremiumSecondaryStorageResource.java:56)\n\tat
com.cloud.agent.Agent.processRequest(Agent.java:525)\n\tat
com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852)\n\tat
com.cloud.utils.nio.Task.run(Task.java:83)\n\tat
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)\n\tat
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat
java.lang.Thread.run(Thread.java:679)\n","wait":0}}] }
2013-07-18 17:42:09,489 DEBUG [agent.transport.Request] (Job-Executor-48:job-48
= [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Seq 3-1572080679: Received: { Ans:
, MgmtId: 280320865129348, via: 3, Ver: v1, Flags: 10, { Answer } }
2013-07-18 17:42:09,489 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) copy to
image store failed: java.lang.NullPointerException
at
com.cloud.storage.resource.VmwareSecondaryStorageResourceHandler.executeRequest(VmwareSecondaryStorageResourceHandler.java:105)
at
com.cloud.storage.resource.PremiumSecondaryStorageResource.executeRequest(PremiumSecondaryStorageResource.java:56)
at com.cloud.agent.Agent.processRequest(Agent.java:525)
at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852)
at com.cloud.utils.nio.Task.run(Task.java:83)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
2013-07-18 17:42:09,501 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) copy failed
java.lang.NullPointerException
at
org.apache.cloudstack.storage.volume.VolumeObject.getPath(VolumeObject.java:339)
at
org.apache.cloudstack.storage.to.VolumeObjectTO.<init>(VolumeObjectTO.java:51)
at
org.apache.cloudstack.storage.volume.VolumeObject.getTO(VolumeObject.java:461)
at
org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl.deleteAsync(BaseImageStoreDriverImpl.java:213)
at
org.apache.cloudstack.storage.image.store.ImageStoreImpl.delete(ImageStoreImpl.java:148)
at
org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyVolumeBetweenPools(AncientDataMotionStrategy.java:299)
at
org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyAsync(AncientDataMotionStrategy.java:350)
at
org.apache.cloudstack.storage.motion.DataMotionServiceImpl.copyAsync(DataMotionServiceImpl.java:55)
at
org.apache.cloudstack.storage.volume.VolumeServiceImpl.migrateVolume(VolumeServiceImpl.java:818)
at
com.cloud.storage.VolumeManagerImpl.liveMigrateVolume(VolumeManagerImpl.java:2213)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
com.cloud.storage.VolumeManagerImpl.migrateVolume(VolumeManagerImpl.java:2183)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.api.command.user.volume.MigrateVolumeCmd.execute(MigrateVolumeCmd.java:102)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
at
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
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)
2013-07-18 17:42:09,534 WARN [storage.datastore.ObjectInDataStoreManagerImpl]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Unsupported
data object (VOLUME,
org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl@d7430f0)
2013-07-18 17:42:09,538 DEBUG [cloud.storage.VolumeManagerImpl]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) migrate
volume failed:java.lang.NullPointerException
2013-07-18 17:42:09,540 DEBUG [cloud.async.AsyncJobManagerImpl]
(Job-Executor-48:job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ]) Complete
async job-48 = [ 4a75383f-425a-49e4-a552-d33a60144c1e ], jobStatus: 2,
resultCode: 530, result: Error Code: 530 Error text: Failed to migrate volume
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira