[
https://issues.apache.org/jira/browse/CLOUDSTACK-2081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13652853#comment-13652853
]
Rajesh Battala commented on CLOUDSTACK-2081:
--------------------------------------------
The reason is the state of the volume in db is "UploadOp" even though the
operation is completed.
This is issue with the State Transition machine, after uploaded operation is
successful it should change the state from "UploadOp" to "Uploaded". then only
volume attach can be executed.
> Volume which is added thru upload volume is failed to attach to the instance
> saying Volume state must be in Allocated, Ready or in Uploaded state( Though
> uploaded Volume state is uploaded)
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-2081
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2081
> 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: Sailaja Mada
> Assignee: Rajesh Battala
> Priority: Critical
> Fix For: 4.2.0
>
>
> Setup : Advanced Networking Zone, Xen 6.1 With Latest master - RHEL 6.3
> Steps:
> 1. Add volume by Upload volume
> 2. After download of the volume from the given URL is completed , State of
> the volume should be uploaded
> 3. Try to attach to the instance . <state>Uploaded</state>
> Observation : Volume which is added thru upload volume is failed to attach to
> the instance saying Volume state must be in Allocated, Ready or in Uploaded
> state( Though uploaded Volume state is uploaded)
> Exception details are :
> 2013-04-18 16:00:25,831 DEBUG [cloud.api.ApiServlet] (catalina-exec-2:null)
> ===END=== 10.144.6.19 -- GET
> command=attachVolume&id=5a2980df-9469-437e-8ebc-8c609378e0f8&virtualMachineId=edb53e95-64c9-4313-9e69-c583125a15f0&response=json&sessionkey=ZjH0BVyOgpzu3L6OU%2B0Ufu7mUaU%3D&_=1366281145419
> 2013-04-18 16:00:25,834 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-21:job-21) Executing
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd for job-21
> 2013-04-18 16:00:25,891 ERROR [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-21:job-21) Unexpected exception while executing
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
> com.cloud.exception.InvalidParameterValueException: Volume state must be in
> Allocated, Ready or in Uploaded state
> at
> com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1689)
> 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:164)
> at
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437)
> 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-04-18 16:00:25,892 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-21:job-21) Complete async job-21, jobStatus: 2, resultCode:
> 530, result: Error Code: 530 Error text: Volume state must be in Allocated,
> Ready or in Uploaded state
> <volume><id>5a2980df-9469-437e-8ebc-8c609378e0f8</id><name>vol1</name><zoneid>be2df554-202e-4ebd-8422-2628e67dd661</zoneid><zonename>zone1</zonename><type>DATADISK</type><size>2147483648</size><created>2013-04-18T15:39:06+0530</created><state>Uploaded</state><account>admin</account><domainid>5bc9afe0-a809-11e2-8725-c2ae49691a00</domainid><domain>ROOT</domain><storagetype>shared</storagetype><hypervisor>XenServer</hypervisor><diskofferingid>63ec8d0d-647d-4c6a-8f66-644989820fd4</diskofferingid><diskofferingname>Custom</diskofferingname><diskofferingdisplaytext>Custom
>
> Disk</diskofferingdisplaytext><destroyed>false</destroyed><isextractable>true</isextractable><status>Upload
> Complete</status><jobstatus>0</jobstatus></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