cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Likitha Shetty (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-7077) Quickly attaching multiple data disks to a VM fails
Date Tue, 08 Jul 2014 06:49:34 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-7077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14054579#comment-14054579
] 

Likitha Shetty commented on CLOUDSTACK-7077:
--------------------------------------------

This is only reproducible when we try to attach volumes to a VM IN fast succession.
In VMware following 2 steps are followed during disk attach to a VM
1. Preparing the disk that needs to be attached
2. Re-configuring the VM to attach the prepared disk device

Step 1 involves figuring out what should be the device number on the controller key that the
disk will be connected to.
Step 1 and Step 2 are not synchronized in our code. So when we try to attach to 2 disks in
quick succession, while preparing the second disk if the VM is still being re-configured with
the first disk (i.e. Step 2 is in progress for the first disk), then device number of the
first disk will be chosen for the second disk too. And this will result in Invalid configuration
for device 'x' error where x is the device number on the controller key that the first disk
is connected to.

> Quickly attaching multiple data disks to a VM fails
> ---------------------------------------------------
>
>                 Key: CLOUDSTACK-7077
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7077
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: VMware, Volumes
>    Affects Versions: 4.2.0
>            Reporter: Likitha Shetty
>            Assignee: Likitha Shetty
>            Priority: Critical
>             Fix For: 4.5.0
>
>
> When trying to attach multiple data disks to a VM in quick succession, AttachVolumeCmds
consistently fail with the below exception -.
> {noformat}
> 2014-05-19 15:55:18,776 ERROR [storage.resource.VmwareStorageProcessor] (DirectAgent-xxx)
AttachVolumeCommand failed due to Exception: java.lang.RuntimeException
> Message: Invalid configuration for device '0'.
> java.lang.RuntimeException: Invalid configuration for device '0'.
> at com.cloud.hypervisor.vmware.util.VmwareClient.waitForTask(VmwareClient.java:412)
> at com.cloud.hypervisor.vmware.mo.VirtualMachineMO.attachDisk(VirtualMachineMO.java:1026)
> at com.cloud.storage.resource.VmwareStorageProcessor.attachVolume(VmwareStorageProcessor.java:1281)
> at com.cloud.storage.resource.VmwareStorageProcessor.attachVolume(VmwareStorageProcessor.java:1216)
> at com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.execute(StorageSubsystemCommandHandlerBase.java:129)
> at com.cloud.storage.resource.StorageSubsystemCommandHandlerBase.handleStorageCommands(StorageSubsystemCommandHandlerBase.java:55)
> at com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:559)
> at com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:186)
> 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.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
> 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)
> 2014-05-19 15:55:18,778 DEBUG [agent.manager.DirectAgentAttache] (DirectAgent-151:null)
Seq 51-1760168847: Response Received:
> 2014-05-19 15:55:18,778 DEBUG [agent.transport.Request] (DirectAgent-151:null) Seq 51-1760168847:
Processing: { Ans: , MgmtId: 345052289567, via: 51, Ver: v1, Flags: 10, [{"org.apache.cloudstack.storage.command.AttachAnswer":{"result":false,"details":"AttachVolumeCommand
failed due to Exception: java.lang.RuntimeException\nMessage: Invalid configuration for device
'0'.\n","wait":0}}] }
> 2014-05-19 15:55:18,778 DEBUG [agent.transport.Request] (Job-Executor-37:job-23717 =
[ d261e185-5c78-407e-b3c4-f0d5fcf711df ]) Seq 51-1760168847: Received: { Ans: , MgmtId: 345052289567,
via: 51, Ver: v1, Flags: 10,
> { AttachAnswer }
> }
> 2014-05-19 15:55:18,786 ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-37:job-23717
= [ d261e185-5c78-407e-b3c4-f0d5fcf711df ]) Unexpected exception while executing org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
> com.cloud.utils.exception.CloudRuntimeException: Failed to attach volume: psvgwin28c3pfeng
[2] to VM: 37e328e4-c620-48a2-9e35-1fc5225d5a4b; AttachVolumeCommand failed due to Exception:
java.lang.RuntimeException
> Message: Invalid configuration for device '0'.
> at com.cloud.storage.VolumeManagerImpl.sendAttachVolumeCommand(VolumeManagerImpl.java:1712)
> at com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1944)
> 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: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)
> 2014-05-19 15:55:18,789 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-37:job-23717
= [ d261e185-5c78-407e-b3c4-f0d5fcf711df ]) Complete async job-23717 = [ d261e185-5c78-407e-b3c4-f0d5fcf711df
], jobStatus: 2, resultCode: 530, result: Error Code: 530 Error text: Failed to attach volume:
psvgwin28c3pfeng [2] to VM: 37e328e4-c620-48a2-9e35-1fc5225d5a4b; AttachVolumeCommand failed
due to Exception: java.lang.RuntimeException
> Message: Invalid configuration for device '0'.
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message