[ https://issues.apache.org/jira/browse/CLOUDSTACK-3419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Min Chen reassigned CLOUDSTACK-3419: ------------------------------------ Assignee: Min Chen > [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 > Assignee: Min Chen > Priority: Critical > Fix For: 4.2.0 > > Attachments: management-server.rar > > > [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