Sanjeev N created CLOUDSTACK-3419:
-------------------------------------
Summary: [Object_Store_Refactor] Uploaded volume is being deleted
while attaching it to guest VM
Key: CLOUDSTACK-3419
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3419
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Management Server
Affects Versions: 4.2.0
Environment: latest build from master branch
Reporter: Sanjeev N
Priority: Critical
Fix For: 4.2.0
[Object_Store_Refactor] Uploaded volume is being deleted while attaching it to
guest VM :
Attaching uploaded volume to a guest vm will try to move the volume from
secondary to primary storage before attaching to the vm. Due to failure in
moving the volume from s3 store to nfs cache store, delete volume command is
being executed and deleting the volume uploaded to S3.
Steps to Reproduce:
================
1.Bring up CS with s3 as the secondary storage privider with NFS cache store.
2.Deploy guest vm with default cent os template.
3.Upload volume using following API:
http://10.147.59.126:8096/client/api?command=uploadVolume&format=VHD&name=cent62&url=http://10.147.28.7/templates/CentOS62-64bit/280c2a70-e37f-4863-bff8-d318122fd61b.vhd&zoneid=2c82a035-11cf-4303-9724-e35129dbb07e&account=admin&domainid=1
4.Try to attach this volume to the instance created at step2
Observations:
===========
2013-07-09 13:01:10,026 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-20:job-20) copyAsync inspecting src type VOLUME copyAsync
inspecting dest type VOLUME
2013-07-09 13:01:10,060 DEBUG [agent.transport.Request]
(Job-Executor-20:job-20) Seq 3-847708197: Sending { Cmd , MgmtId:
6615759585382, via: 3, Ver: v1, Flags: 100111,
[{"org.apache.cloudstack.storage.command.CopyCommand":{"srcTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"cb2c9569-cf3f-4a51-b1bc-54ef4f433ca1","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.S3TO":{"id":2,"uuid":"0e7a46b0-c9fd-4d7f-9f68-3e346a2bcd35","accessKey":"9M7I6JPYZHDNLG43TWCD","secretKey":"KL7IAVYcYO8URicgniNjeCmL7k3tYKMpJRXNHw==","endPoint":"10.147.29.57:8080","bucketName":"imagestore","httpsFlag":false,"created":"Jul
9, 2013 7:59:12
AM","enableRRS":false}},"name":"cent62","size":2132787712,"path":"volumes/2/8/280c2a70-e37f-4863-bff8-d318122fd61b.vhd","volumeId":8,"accountId":2,"format":"VHD","id":8}},"destTO":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"cb2c9569-cf3f-4a51-b1bc-54ef4f433ca1","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.NfsTO":{"_url":"nfs://10.147.28.7/export/home/sanjeev/sec_xen_os","_role":"ImageCache"}},"name":"cent62","size":2132787712,"path":"volumes/2/8","volumeId":8,"accountId":2,"format":"VHD","id":8}},"wait":10800}}]
}
2013-07-09 13:03:55,275 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-20:job-20) copy object failed: java.lang.NullPointerException
2013-07-09 13:03:55,275 DEBUG [storage.motion.AncientDataMotionStrategy]
(Job-Executor-20:job-20) copy failed
com.cloud.utils.exception.CloudRuntimeException: java.lang.NullPointerException
at
org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyObject(AncientDataMotionStrategy.java:204)
at
org.apache.cloudstack.storage.motion.AncientDataMotionStrategy.copyAsync(AncientDataMotionStrategy.java:351)
at
org.apache.cloudstack.storage.motion.DataMotionServiceImpl.copyAsync(DataMotionServiceImpl.java:55)
at
org.apache.cloudstack.storage.volume.VolumeServiceImpl.copyVolumeFromImageToPrimary(VolumeServiceImpl.java:608)
at
org.apache.cloudstack.storage.volume.VolumeServiceImpl.copyVolume(VolumeServiceImpl.java:711)
at
com.cloud.storage.VolumeManagerImpl.copyVolumeFromSecToPrimary(VolumeManagerImpl.java:644)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
com.cloud.storage.VolumeManagerImpl.copyVolume(VolumeManagerImpl.java:1515)
at
com.cloud.storage.VolumeManagerImpl.createVolumeOnPrimaryStorage(VolumeManagerImpl.java:1546)
at
com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1827)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd.execute(AttachVolumeCmd.java:122)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155)
at
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:514)
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-09 13:03:55,323 DEBUG [agent.transport.Request]
(Job-Executor-20:job-20) Seq 3-847708198: Sending { Cmd , MgmtId:
6615759585382, via: 3, Ver: v1, Flags: 100011,
[{"org.apache.cloudstack.storage.command.DeleteCommand":{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"cb2c9569-cf3f-4a51-b1bc-54ef4f433ca1","volumeType":"DATADISK","dataStore":{"com.cloud.agent.api.to.S3TO":{"id":2,"uuid":"0e7a46b0-c9fd-4d7f-9f68-3e346a2bcd35","accessKey":"9M7I6JPYZHDNLG43TWCD","secretKey":"KL7IAVYcYO8URicgniNjeCmL7k3tYKMpJRXNHw==","endPoint":"10.147.29.57:8080","bucketName":"imagestore","httpsFlag":false,"created":"Jul
9, 2013 7:59:12
AM","enableRRS":false}},"name":"cent62","size":2132787712,"path":"volumes/2/8/280c2a70-e37f-4863-bff8-d318122fd61b.vhd","volumeId":8,"accountId":2,"format":"VHD","id":8}},"wait":0}}]
}
2013-07-09 13:03:55,741 ERROR [cloud.async.AsyncJobManagerImpl]
(Job-Executor-20:job-20) Unexpected exception while executing
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
java.lang.NullPointerException
at
com.cloud.storage.VolumeManagerImpl.needMoveVolume(VolumeManagerImpl.java:1566)
at
com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1836)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd.execute(AttachVolumeCmd.java:122)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155)
at
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:514)
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-09 13:03:55,743 DEBUG [cloud.async.AsyncJobManagerImpl]
(Job-Executor-20:job-20) Complete async job-20, jobStatus: 2, resultCode: 530,
result: Error Code: 530 Error text: null
mysql> select * from volumes where id=8\G;
*************************** 1. row ***************************
id: 8
account_id: 2
domain_id: 1
pool_id: NULL
last_pool_id: NULL
instance_id: NULL
device_id: NULL
name: cent62
uuid: cb2c9569-cf3f-4a51-b1bc-54ef4f433ca1
size: 2132787712
folder: NULL
path: NULL
pod_id: NULL
data_center_id: 1
iscsi_name: NULL
host_ip: NULL
volume_type: DATADISK
pool_type: NULL
disk_offering_id: 6
template_id: NULL
first_snapshot_backup_uuid: NULL
recreatable: 0
created: 2013-07-09 16:55:33
attached: NULL
updated: 2013-07-09 17:03:55
removed: NULL
state: Ready
chain_info: NULL
update_count: 4
disk_type: NULL
display_volume: 0
format: VHD
min_iops: NULL
max_iops: NULL
1 row in set (0.00 sec)
ERROR:
No query specified
--
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