[ https://issues.apache.org/jira/browse/CLOUDSTACK-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nitin Mehta resolved CLOUDSTACK-4076. ------------------------------------- Resolution: Fixed > [Object_Store_Refactor] Failed to upload volume when there are multiple image > stores in a Region > ------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-4076 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4076 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: Storage Controller, Volumes > Affects Versions: 4.2.0 > Environment: Latest build from ACS 4.2 branch > Storage: S3 for secondary storage and NFS for Staging and primary storage > Reporter: Sanjeev N > Assignee: Nitin Mehta > Priority: Critical > Fix For: 4.2.0 > > Attachments: cloud.dmp, management-server.rar > > > Failed to upload volume when there are multiple image stores in a Region > Steps to Reproduce: > ================ > 1.Bring up CS with Xen Cluster > 2.Use s3 as the secondary storage and NFS for both primary and staging storage > 3.Add another S3 storage in the same region > 4.Try to 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=a36bf9a9-1e1f-4216-878b-5feb3f8695de&account=admin&domainid=1 > Result: > ====== > Upload volume failed with error: "multiple image stores, don't know which one > to use" > Following is the log snippet: > 2013-08-05 07:18:39,786 DEBUG [cloud.async.AsyncJobManagerImpl] > (ApiServer-5:null) submit async job-55 = [ > c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ], details: AsyncJobVO {id:55, userId: > 1, accountId: 1, sessionKey: null, instanceType: None, instanceId: null, cmd: > org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd, cmdOriginator: > null, cmdInfo: > {"cmdEventType":"VOLUME.UPLOAD","ctxUserId":"1","zoneid":"a36bf9a9-1e1f-4216-878b-5feb3f8695de","name":"cent62","account":"admin","httpmethod":"GET","domainid":"1","ctxAccountId":"1","format":"VHD","ctxStartEventId":"233","url":"http://10.147.28.7/templates/CentOS62-64bit/280c2a70-e37f-4863-bff8-d318122fd61b.vhd"}, > cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, > processStatus: 0, resultCode: 0, result: null, initMsid: 6615759585382, > completeMsid: null, lastUpdated: null, lastPolled: null, created: null} > 2013-08-05 07:18:39,794 DEBUG [cloud.async.AsyncJobManagerImpl] > (Job-Executor-56:job-55 = [ c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ]) Executing > org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd for job-55 = [ > c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ] > 2013-08-05 07:18:39,842 ERROR [cloud.async.AsyncJobManagerImpl] > (Job-Executor-56:job-55 = [ c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ]) > Unexpected exception while executing > org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd > com.cloud.utils.exception.CloudRuntimeException: multiple image stores, don't > know which one to use > at > com.cloud.template.TemplateManagerImpl.getImageStore(TemplateManagerImpl.java:354) > at > com.cloud.storage.VolumeManagerImpl.uploadVolume(VolumeManagerImpl.java:386) > at > com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125) > at > com.cloud.storage.VolumeManagerImpl.uploadVolume(VolumeManagerImpl.java:183) > at > org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd.execute(UploadVolumeCmd.java:127) > 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-08-05 07:18:39,883 DEBUG [cloud.async.AsyncJobManagerImpl] > (Job-Executor-56:job-55 = [ c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ]) Complete > async job-55 = [ c3113b1b-32c2-43ff-a3fa-5946c48ceaf4 ], jobStatus: 2, > resultCode: 530, result: Error Code: 530 Error text: multiple image stores, > don't know which one to use -- 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