[ https://issues.apache.org/jira/browse/CLOUDSTACK-2725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709946#comment-13709946 ]
edison su commented on CLOUDSTACK-2725: --------------------------------------- Hi Marcus/Wei, I can reproduce this issue, without using CloudStack, here are the steps: create VM with the following disk configuration: <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/mnt/fff90cb5-06dd-33b3-8815-d78c08ca01d9/253b3019-fbcc-4971-b2d7-122a4d53aae4'/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/mnt/fff90cb5-06dd-33b3-8815-d78c08ca01d9/6d4c0480-f191-422d-9d48-983f743e562b'/> <target dev='vdd' bus='virtio'/> </disk> 2. detach disk: virsh detach-device vm-id <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/mnt/fff90cb5-06dd-33b3-8815-d78c08ca01d9/6d4c0480-f191-422d-9d48-983f743e562b'/> <target dev='vdd' bus='virtio'/> </disk> 3. attach the same disk again: [root@Rack2Host11 ~]# virsh attach-device 47 disk.xml error: Failed to attach device from disk.xml error: internal error unable to execute QEMU command '__com.redhat_drive_add': Duplicate ID 'drive-virtio-disk3' for drive 4. attach/detach a new disk, works. 5. The issue is, detach a data disk(which is already attached into VM during vm creation), then attach the same disk again, you will get error. > [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