Comment 0 for bug 1699228

Revision history for this message
J-P methot (jphilippemethot) wrote : Additionnal block devices cannot be attached when libvirt driver is virtio-scsi

Description
===========

This bug is very specific as it will only affect instances using the virtio-scsi driver that were booted up with a cinder block device.

Once your VM is booted up, attaching a drive will make the following error appear in the nova-compute log: "libvirtError: internal error: unable to execute QEMU command '__com.redhat_drive_add': Duplicate ID 'drive-scsi0-0-0-0' for drive"

This bug seems to affect most storage backends, as long as you use cinder for all your block devices. It was tested with Ceph and iscsi backends in both Mitaka and Newton.

It may also affect config drives.

Steps to reproduce
==================
1. Assign the necessary options to the image you are going to use, so that libvirt uses the virtio-scsi driver

hw_scsi_model = virtio-scsi
hw_disk_bus = scsi

2. Create a VM by selecting to use "image" as a source and set "create a new volume" to yes. This will boot from a new volume created in cinder with the selected image on it.

3.Create a new volume in cinder and try to attach it to the instance.

Expected result
===============
The volume will attach itself to the instance.

Actual result
=============
The attach operation will fail and you will see the aforementioned error in the nova-compute logs.

Environment
===========
CentOS 7
RDO Newton
openstack-nova-compute-14.0.6-1.el7.noarch
KVM libvirt

Storage: Dell iscsi but also confirmed to be present on Ceph
Network: Neutron + openvswitch

Logs & config
=====
See logs and config in attached txt file