Marcus,

Nice.

I think it is because of the inconsistent between hypervisor and virtual
machines , for instance, hypervisor thinks volume is attached but in fact
not. It happens in some cases:
(1) attach volume when VM starting. To avoid it, it is better to allow
attach/detach only when vm is running or stopped.
(2) vm does not support hotplug. In CentOS 6.X, it is built-in
(CONFIG_HOTPLUG_PCI_ACPI=y in /boot/config-2.6.32*). For some other OS, it
is set to "m" , not "y",
If so, acpiphp module is needed.

-Wei


2013/7/16 edison su (JIRA) <j...@apache.org>

>
>     [
> https://issues.apache.org/jira/browse/CLOUDSTACK-2725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13710252#comment-13710252]
>
> edison su commented on CLOUDSTACK-2725:
> ---------------------------------------
>
> Marcus, did you try the way I posted? detach an existing datadisk(which is
> added in the vm xml file), then attach the same disk, with the same device
> id.
>
> > [Automation] Re-attaching volume on VM failing in KVM
> > -----------------------------------------------------
> >
> >                 Key: CLOUDSTACK-2725
> >                 URL:
> https://issues.apache.org/jira/browse/CLOUDSTACK-2725
> >             Project: CloudStack
> >          Issue Type: Bug
> >      Security Level: Public(Anyone can view this level - this is the
> default.)
> >          Components: Volumes
> >    Affects Versions: 4.2.0
> >         Environment: Automation environment KVM
> > Found in master also (8d1189c2ae87216bc1c4a1443f75e9a8629abdc2)
> >            Reporter: Rayees Namathponnan
> >            Assignee: Fang Wang
> >            Priority: Blocker
> >             Fix For: 4.2.0
> >
> >         Attachments: CLOUDSTACK-2725.rar
> >
> >
> > Below two test case failing from BVT
> > integration.smoke.test_volumes.TestVolumes.test_08_resize_volume
> > integration.smoke.test_volumes.TestVolumes.test_09_delete_detached_volume
> > Steps to reproduce
> > Step 1 : Create an account, service offering, create volume, create VM
> > Step 2 : Attach volume to VM ,
> > Step 3 : Detach volume
> > Step 4 : Attach volume to VM  again
> > Actual result
> > Attachment failed with below error
> > 2013-05-28 13:45:39,101 DEBUG [agent.transport.Request]
> (Job-Executor-98:job-1246) Seq 5-258539658: Rec
> > eived:  { Ans: , MgmtId: 29066118877352, via: 5, Ver: v1, Flags: 10, {
> AttachAnswer } }
> > 2013-05-28 13:45:39,106 ERROR [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-98:job-1246) Unexpected e
> > xception while executing
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd
> > com.cloud.utils.exception.CloudRuntimeException: Failed to attach
> volume: TestDiskServ to VM: ce79edb6-
> > a306-4ac4-95e4-6202800f691e; org.libvirt.LibvirtException: internal
> error unable to execute QEMU comman
> > d '__com.redhat_drive_add': Duplicate ID 'drive-virtio-disk1' for drive
> >         at
> com.cloud.storage.VolumeManagerImpl.sendAttachVolumeCommand(VolumeManagerImpl.java:1583)
> >         at
> com.cloud.storage.VolumeManagerImpl.attachVolumeToVM(VolumeManagerImpl.java:1788)
> >         at
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercep
> > t(ComponentInstantiationPostProcessor.java:125)
> >         at
> org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd.execute(AttachVolumeCmd.java:1
> > 22)
> >         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155)
> >         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-05-28 13:45:39,107 DEBUG [cloud.async.AsyncJobManagerImpl]
> (Job-Executor-98:job-1246) Complete asy
> > nc job-1246, jobStatus: 2, resultCode: 530, result: Error Code: 530
> Error text: Failed to attach volume
> > : TestDiskServ to VM: ce79edb6-a306-4ac4-95e4-6202800f691e;
> org.libvirt.LibvirtException: internal erro
>
> --
> 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
>

Reply via email to