yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #75057
[Bug 1795747] [NEW] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0' when try to create an instance with two scsi volumes
Public bug reported:
Description
===========
Error occurs when an instance with two volumes (created from SCSI image). From nova-compute.log, the following information related to volume attachment (address has no bus, target and unit informations):
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8-lun-0"/>
<target bus="scsi" dev="sda"/>
<serial>8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb-lun-0"/>
<target bus="scsi" dev="sdb"/>
<serial>7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb</serial>
<address type="drive" controller="0"/>
</disk>
But when instance is created with only one volume and second volume is attached later (with openstack volume attach .. command), it's configured differently:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdc'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<serial>20fb8417-3ece-46f0-affb-d80800a885dd</serial>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdd'/>
<backingStore/>
<target dev='sdb' bus='scsi'/>
<serial>2d087117-bc51-48ae-9c4d-00950deeb617</serial>
<alias name='scsi0-0-0-1'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
Steps to reproduce
==================
1 - Using an admin openstack account, create a cirros image with scsi
properties:
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
openstack image create "cirros_scsi" \
--file cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--property hw_disk_bus=scsi \
--property hw_scsi_controller=virtio-scsi \
--public
2 - Create two volumes (volume-backed image) using cirros_scsi image:
openstack volume create --size 1 volume-0 --image cirros_scsi
openstack volume create --size 1 volume-1 --image cirros_scsi
3 - Create an instance using two volumes (error scenario):
v1id=`openstack volume show volume-0 | grep " id " | awk '{print $4}'` && echo $v1id
v2id=`openstack volume show volume-1 | grep " id " | awk '{print $4}'` && echo $v2id
nova boot --flavor m1.nano \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=77669d98-2bc2-4a48-aa6f-7184ec99698c \
--key mykey instance01
nova boot --flavor $flavor_id \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=<network_id> \
--key <keypair> instance01
4 - Check instance
openstack server list
openstack volume list
Expected result
===============
Instance should be created normally;
Actual result
=============
(openstack) server list
+--------------------------------------+------------+--------+----------+-------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+----------+-------+---------+
| 6717d471-2092-48c8-8a4f-463ff8afc5bb | instance01 | ERROR | | | m1.nano |
+--------------------------------------+------------+--------+----------+-------+---------+
root@cldsrv02 ~]# openstack server show instance01 -f shell | grep fault
fault="{u'message': u'Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 6717d471-2092-48c8-8a4f-463ff8afc5bb.', u'code': 500, u'details': u' File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 580, in build_instances\n raise exception.MaxRetriesExceeded(reason=msg)\n', u'created': u'2018-10-02T21:24:23Z'}"
Error reported in /var/log/nova/nova-compute.log:
lugin='linux_bridge',port_profile=<?>,preserve_on_delete=False,vif_name='tap7946d21b-8f')
2018-10-02 17:24:09.694 17390 ERROR nova.virt.libvirt.guest [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] Error defining a guest with XML: <domain type="qemu">
<uuid>6717d471-2092-48c8-8a4f-463ff8afc5bb</uuid>
<name>instance-00000008</name>
<memory>65536</memory>
<vcpu>1</vcpu>
<metadata>
<nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
<nova:package version="17.0.5-1.el7"/>
<nova:name>instance01</nova:name>
<nova:creationTime>2018-10-02 21:24:07</nova:creationTime>
<nova:flavor name="m1.nano">
<nova:memory>64</nova:memory>
<nova:disk>1</nova:disk>
<nova:swap>0</nova:swap>
<nova:ephemeral>0</nova:ephemeral>
<nova:vcpus>1</nova:vcpus>
</nova:flavor>
<nova:owner>
<nova:user uuid="7500c13b015449de99a66db93db1b697">admin</nova:user>
<nova:project uuid="265f6aeb1ae746a887cc589c482b4929">admin</nova:project>
</nova:owner>
</nova:instance>
</metadata>
<sysinfo type="smbios">
<system>
<entry name="manufacturer">RDO</entry>
<entry name="product">OpenStack Compute</entry>
<entry name="version">17.0.5-1.el7</entry>
<entry name="serial">1235d097-6a37-4c00-a5e5-33ccae494775</entry>
<entry name="uuid">6717d471-2092-48c8-8a4f-463ff8afc5bb</entry>
<entry name="family">Virtual Machine</entry>
</system>
</sysinfo>
<os>
<type>hvm</type>
<boot dev="hd"/>
<smbios mode="sysinfo"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cputune>
<shares>1024</shares>
</cputune>
<clock offset="utc"/>
<cpu mode="host-model" match="exact">
<topology sockets="1" cores="1" threads="1"/>
</cpu>
<devices>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdc"/>
<target bus="scsi" dev="sda"/>
<serial>0ce95aac-3205-4aa3-830b-c65113f0c9f7</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdd"/>
<target bus="scsi" dev="sdb"/>
<serial>08e55f7d-78e8-4e5a-bdfc-2f7ebcd0ee27</serial>
<address type="drive" controller="0"/>
</disk>
<interface type="bridge">
<mac address="fa:16:3e:08:29:07"/>
<model type="virtio"/>
<driver name="qemu"/>
<source bridge="brq77669d98-2b"/>
<target dev="tap7946d21b-8f"/>
</interface>
<serial type="pty">
<log file="/var/lib/nova/instances/6717d471-2092-48c8-8a4f-463ff8afc5bb/console.log" append="off"/>
</serial>
<input type="tablet" bus="usb"/>
<graphics type="vnc" autoport="yes" keymap="en-us" listen="10.0.0.11"/>
<video>
<model type="cirrus"/>
</video>
<memballoon model="virtio">
<stats period="10"/>
</memballoon>
</devices>
</domain>
: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Instance failed to spawn: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Traceback (most recent call last):
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2251, in _build_resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] yield resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2031, in _build_and_run_instance
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] block_device_info=block_device_info)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3089, in spawn
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure=True)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5614, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5583, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] post_xml_callback=post_xml_callback)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5495, in _create_domain
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = libvirt_guest.Guest.create(xml, self._host)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 129, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] encodeutils.safe_decode(xml))
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 125, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = host.write_instance_config(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 829, in write_instance_config
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] domain = self.get_connection().defineXML(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] result = proxy_call(self._autowrap, f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = execute(f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(c, e, tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = meth(*args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3676, in defineXML
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb]
Environment
===========
Openstack release: Queens (All-in-one Single machine)
root@cldsrv02 ~]# rpm -qa | grep nova
openstack-nova-api-17.0.5-1.el7.noarch
openstack-nova-placement-api-17.0.5-1.el7.noarch
openstack-nova-common-17.0.5-1.el7.noarch
openstack-nova-conductor-17.0.5-1.el7.noarch
python2-novaclient-10.1.0-1.el7.noarch
openstack-nova-compute-17.0.5-1.el7.noarch
python-nova-17.0.5-1.el7.noarch
openstack-nova-console-17.0.5-1.el7.noarch
openstack-nova-novncproxy-17.0.5-1.el7.noarch
openstack-nova-scheduler-17.0.5-1.el7.noarch
[root@cldsrv02 ~]#
Hypervisor: Libvirt + KVM:
[root@cldsrv02 ~]# rpm -qa | grep -iE 'kvm|virt'
qemu-kvm-common-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-daemon-driver-storage-scsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-interface-3.9.0-14.el7_5.8.x86_64
libvirt-client-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-core-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-rbd-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-network-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-disk-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-logical-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-secret-3.9.0-14.el7_5.8.x86_64
qemu-kvm-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-libs-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-qemu-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-iscsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nwfilter-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-kvm-3.9.0-14.el7_5.8.x86_64
libvirt-python-3.9.0-1.el7.x86_64
libvirt-daemon-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-gluster-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-mpath-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nodedev-3.9.0-14.el7_5.8.x86_64
centos-release-virt-common-1-1.el7.centos.noarch
virt-what-1.18-4.el7.x86_64
Storage type: LVM:
[root@cldsrv02 ~]# rpm -qa | grep lvm
lvm2-libs-2.02.177-4.el7.x86_64
lvm2-2.02.177-4.el7.x86_64
Networking: Neutron
root@cldsrv02 ~]# rpm -qa | grep neutron
openstack-neutron-linuxbridge-12.0.3-1.el7.noarch
openstack-neutron-common-12.0.3-1.el7.noarch
python2-neutron-lib-1.13.0-1.el7.noarch
openstack-neutron-12.0.3-1.el7.noarch
openstack-neutron-ml2-12.0.3-1.el7.noarch
python-neutron-12.0.3-1.el7.noarch
python2-neutronclient-6.7.0-1.el7.noarch
** Affects: nova
Importance: Undecided
Status: New
** Attachment added: "nova-compute.log"
https://bugs.launchpad.net/bugs/1795747/+attachment/5196139/+files/nova-compute.log
** Description changed:
Description
===========
- Error occurs when an instance with two volumes (created from scsi image). From nova-compute.log, the following information related to volume attachment (address has no bus, target and unit infos):
- <disk type="block" device="disk">
- <driver name="qemu" type="raw" cache="none" io="native"/>
- <source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8-lun-0"/>
- <target bus="scsi" dev="sda"/>
- <serial>8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8</serial>
- <address type="drive" controller="0"/>
- </disk>
- <disk type="block" device="disk">
- <driver name="qemu" type="raw" cache="none" io="native"/>
- <source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb-lun-0"/>
- <target bus="scsi" dev="sdb"/>
- <serial>7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb</serial>
- <address type="drive" controller="0"/>
- </disk>
+ Error occurs when an instance with two volumes (created from SCSI image). From nova-compute.log, the following information related to volume attachment (address has no bus, target and unit informations):
+ <disk type="block" device="disk">
+ <driver name="qemu" type="raw" cache="none" io="native"/>
+ <source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8-lun-0"/>
+ <target bus="scsi" dev="sda"/>
+ <serial>8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8</serial>
+ <address type="drive" controller="0"/>
+ </disk>
+ <disk type="block" device="disk">
+ <driver name="qemu" type="raw" cache="none" io="native"/>
+ <source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb-lun-0"/>
+ <target bus="scsi" dev="sdb"/>
+ <serial>7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb</serial>
+ <address type="drive" controller="0"/>
+ </disk>
But when instance is created with only one volume and second volume is attached later (with openstack volume attach .. command), it's configured differently:
<disk type='block' device='disk'>
- <driver name='qemu' type='raw' cache='none' io='native'/>
- <source dev='/dev/sdc'/>
- <backingStore/>
- <target dev='sda' bus='scsi'/>
- <serial>20fb8417-3ece-46f0-affb-d80800a885dd</serial>
- <alias name='scsi0-0-0-0'/>
- <address type='drive' controller='0' bus='0' target='0' unit='0'/>
- </disk>
- <disk type='block' device='disk'>
- <driver name='qemu' type='raw' cache='none' io='native'/>
- <source dev='/dev/sdd'/>
- <backingStore/>
- <target dev='sdb' bus='scsi'/>
- <serial>2d087117-bc51-48ae-9c4d-00950deeb617</serial>
- <alias name='scsi0-0-0-1'/>
- <address type='drive' controller='0' bus='0' target='0' unit='1'/>
- </disk>
-
+ <driver name='qemu' type='raw' cache='none' io='native'/>
+ <source dev='/dev/sdc'/>
+ <backingStore/>
+ <target dev='sda' bus='scsi'/>
+ <serial>20fb8417-3ece-46f0-affb-d80800a885dd</serial>
+ <alias name='scsi0-0-0-0'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw' cache='none' io='native'/>
+ <source dev='/dev/sdd'/>
+ <backingStore/>
+ <target dev='sdb' bus='scsi'/>
+ <serial>2d087117-bc51-48ae-9c4d-00950deeb617</serial>
+ <alias name='scsi0-0-0-1'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='1'/>
+ </disk>
Steps to reproduce
==================
1 - Using an admin openstack account, create a cirros image with scsi
properties:
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
openstack image create "cirros_scsi" \
- --file cirros-0.3.5-x86_64-disk.img \
- --disk-format qcow2 --container-format bare \
- --property hw_disk_bus=scsi \
- --property hw_scsi_controller=virtio-scsi \
- --public
+ --file cirros-0.3.5-x86_64-disk.img \
+ --disk-format qcow2 --container-format bare \
+ --property hw_disk_bus=scsi \
+ --property hw_scsi_controller=virtio-scsi \
+ --public
2 - Create two volumes (volume-backed image) using cirros_scsi image:
openstack volume create --size 1 volume-0 --image cirros_scsi
openstack volume create --size 1 volume-1 --image cirros_scsi
3 - Create an instance using two volumes (error scenario):
v1id=`openstack volume show volume-0 | grep " id " | awk '{print $4}'` && echo $v1id
v2id=`openstack volume show volume-1 | grep " id " | awk '{print $4}'` && echo $v2id
nova boot --flavor m1.nano \
- --block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
- --block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
- --nic net-id=77669d98-2bc2-4a48-aa6f-7184ec99698c \
- --key mykey instance01
+ --block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
+ --block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
+ --nic net-id=77669d98-2bc2-4a48-aa6f-7184ec99698c \
+ --key mykey instance01
nova boot --flavor $flavor_id \
- --block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
- --block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
- --nic net-id=<network_id> \
- --key <keypair> instance01
-
-
- 4 - Check instance
+ --block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
+ --block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
+ --nic net-id=<network_id> \
+ --key <keypair> instance01
+
+ 4 - Check instance
openstack server list
openstack volume list
-
Expected result
===============
Instance should be created normally;
Actual result
=============
(openstack) server list
+--------------------------------------+------------+--------+----------+-------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+----------+-------+---------+
| 6717d471-2092-48c8-8a4f-463ff8afc5bb | instance01 | ERROR | | | m1.nano |
+--------------------------------------+------------+--------+----------+-------+---------+
root@cldsrv02 ~]# openstack server show instance01 -f shell | grep fault
fault="{u'message': u'Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 6717d471-2092-48c8-8a4f-463ff8afc5bb.', u'code': 500, u'details': u' File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 580, in build_instances\n raise exception.MaxRetriesExceeded(reason=msg)\n', u'created': u'2018-10-02T21:24:23Z'}"
Error reported in /var/log/nova/nova-compute.log:
lugin='linux_bridge',port_profile=<?>,preserve_on_delete=False,vif_name='tap7946d21b-8f')
2018-10-02 17:24:09.694 17390 ERROR nova.virt.libvirt.guest [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] Error defining a guest with XML: <domain type="qemu">
- <uuid>6717d471-2092-48c8-8a4f-463ff8afc5bb</uuid>
- <name>instance-00000008</name>
- <memory>65536</memory>
- <vcpu>1</vcpu>
- <metadata>
- <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
- <nova:package version="17.0.5-1.el7"/>
- <nova:name>instance01</nova:name>
- <nova:creationTime>2018-10-02 21:24:07</nova:creationTime>
- <nova:flavor name="m1.nano">
- <nova:memory>64</nova:memory>
- <nova:disk>1</nova:disk>
- <nova:swap>0</nova:swap>
- <nova:ephemeral>0</nova:ephemeral>
- <nova:vcpus>1</nova:vcpus>
- </nova:flavor>
- <nova:owner>
- <nova:user uuid="7500c13b015449de99a66db93db1b697">admin</nova:user>
- <nova:project uuid="265f6aeb1ae746a887cc589c482b4929">admin</nova:project>
- </nova:owner>
- </nova:instance>
- </metadata>
- <sysinfo type="smbios">
- <system>
- <entry name="manufacturer">RDO</entry>
- <entry name="product">OpenStack Compute</entry>
- <entry name="version">17.0.5-1.el7</entry>
- <entry name="serial">1235d097-6a37-4c00-a5e5-33ccae494775</entry>
- <entry name="uuid">6717d471-2092-48c8-8a4f-463ff8afc5bb</entry>
- <entry name="family">Virtual Machine</entry>
- </system>
- </sysinfo>
- <os>
- <type>hvm</type>
- <boot dev="hd"/>
- <smbios mode="sysinfo"/>
- </os>
- <features>
- <acpi/>
- <apic/>
- </features>
- <cputune>
- <shares>1024</shares>
- </cputune>
- <clock offset="utc"/>
- <cpu mode="host-model" match="exact">
- <topology sockets="1" cores="1" threads="1"/>
- </cpu>
- <devices>
- <disk type="block" device="disk">
- <driver name="qemu" type="raw" cache="none" io="native"/>
- <source dev="/dev/sdc"/>
- <target bus="scsi" dev="sda"/>
- <serial>0ce95aac-3205-4aa3-830b-c65113f0c9f7</serial>
- <address type="drive" controller="0"/>
- </disk>
- <disk type="block" device="disk">
- <driver name="qemu" type="raw" cache="none" io="native"/>
- <source dev="/dev/sdd"/>
- <target bus="scsi" dev="sdb"/>
- <serial>08e55f7d-78e8-4e5a-bdfc-2f7ebcd0ee27</serial>
- <address type="drive" controller="0"/>
- </disk>
- <interface type="bridge">
- <mac address="fa:16:3e:08:29:07"/>
- <model type="virtio"/>
- <driver name="qemu"/>
- <source bridge="brq77669d98-2b"/>
- <target dev="tap7946d21b-8f"/>
- </interface>
- <serial type="pty">
- <log file="/var/lib/nova/instances/6717d471-2092-48c8-8a4f-463ff8afc5bb/console.log" append="off"/>
- </serial>
- <input type="tablet" bus="usb"/>
- <graphics type="vnc" autoport="yes" keymap="en-us" listen="10.0.0.11"/>
- <video>
- <model type="cirrus"/>
- </video>
- <memballoon model="virtio">
- <stats period="10"/>
- </memballoon>
- </devices>
+ <uuid>6717d471-2092-48c8-8a4f-463ff8afc5bb</uuid>
+ <name>instance-00000008</name>
+ <memory>65536</memory>
+ <vcpu>1</vcpu>
+ <metadata>
+ <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
+ <nova:package version="17.0.5-1.el7"/>
+ <nova:name>instance01</nova:name>
+ <nova:creationTime>2018-10-02 21:24:07</nova:creationTime>
+ <nova:flavor name="m1.nano">
+ <nova:memory>64</nova:memory>
+ <nova:disk>1</nova:disk>
+ <nova:swap>0</nova:swap>
+ <nova:ephemeral>0</nova:ephemeral>
+ <nova:vcpus>1</nova:vcpus>
+ </nova:flavor>
+ <nova:owner>
+ <nova:user uuid="7500c13b015449de99a66db93db1b697">admin</nova:user>
+ <nova:project uuid="265f6aeb1ae746a887cc589c482b4929">admin</nova:project>
+ </nova:owner>
+ </nova:instance>
+ </metadata>
+ <sysinfo type="smbios">
+ <system>
+ <entry name="manufacturer">RDO</entry>
+ <entry name="product">OpenStack Compute</entry>
+ <entry name="version">17.0.5-1.el7</entry>
+ <entry name="serial">1235d097-6a37-4c00-a5e5-33ccae494775</entry>
+ <entry name="uuid">6717d471-2092-48c8-8a4f-463ff8afc5bb</entry>
+ <entry name="family">Virtual Machine</entry>
+ </system>
+ </sysinfo>
+ <os>
+ <type>hvm</type>
+ <boot dev="hd"/>
+ <smbios mode="sysinfo"/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ </features>
+ <cputune>
+ <shares>1024</shares>
+ </cputune>
+ <clock offset="utc"/>
+ <cpu mode="host-model" match="exact">
+ <topology sockets="1" cores="1" threads="1"/>
+ </cpu>
+ <devices>
+ <disk type="block" device="disk">
+ <driver name="qemu" type="raw" cache="none" io="native"/>
+ <source dev="/dev/sdc"/>
+ <target bus="scsi" dev="sda"/>
+ <serial>0ce95aac-3205-4aa3-830b-c65113f0c9f7</serial>
+ <address type="drive" controller="0"/>
+ </disk>
+ <disk type="block" device="disk">
+ <driver name="qemu" type="raw" cache="none" io="native"/>
+ <source dev="/dev/sdd"/>
+ <target bus="scsi" dev="sdb"/>
+ <serial>08e55f7d-78e8-4e5a-bdfc-2f7ebcd0ee27</serial>
+ <address type="drive" controller="0"/>
+ </disk>
+ <interface type="bridge">
+ <mac address="fa:16:3e:08:29:07"/>
+ <model type="virtio"/>
+ <driver name="qemu"/>
+ <source bridge="brq77669d98-2b"/>
+ <target dev="tap7946d21b-8f"/>
+ </interface>
+ <serial type="pty">
+ <log file="/var/lib/nova/instances/6717d471-2092-48c8-8a4f-463ff8afc5bb/console.log" append="off"/>
+ </serial>
+ <input type="tablet" bus="usb"/>
+ <graphics type="vnc" autoport="yes" keymap="en-us" listen="10.0.0.11"/>
+ <video>
+ <model type="cirrus"/>
+ </video>
+ <memballoon model="virtio">
+ <stats period="10"/>
+ </memballoon>
+ </devices>
</domain>
: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Instance failed to spawn: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Traceback (most recent call last):
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2251, in _build_resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] yield resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2031, in _build_and_run_instance
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] block_device_info=block_device_info)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3089, in spawn
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure=True)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5614, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5583, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] post_xml_callback=post_xml_callback)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5495, in _create_domain
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = libvirt_guest.Guest.create(xml, self._host)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 129, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] encodeutils.safe_decode(xml))
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 125, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = host.write_instance_config(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 829, in write_instance_config
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] domain = self.get_connection().defineXML(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] result = proxy_call(self._autowrap, f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = execute(f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(c, e, tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = meth(*args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3676, in defineXML
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
- 2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb]
-
-
+ 2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb]
Environment
===========
Openstack release: Queens (all in one)
root@cldsrv02 ~]# rpm -qa | grep nova
openstack-nova-api-17.0.5-1.el7.noarch
openstack-nova-placement-api-17.0.5-1.el7.noarch
openstack-nova-common-17.0.5-1.el7.noarch
openstack-nova-conductor-17.0.5-1.el7.noarch
python2-novaclient-10.1.0-1.el7.noarch
openstack-nova-compute-17.0.5-1.el7.noarch
python-nova-17.0.5-1.el7.noarch
openstack-nova-console-17.0.5-1.el7.noarch
openstack-nova-novncproxy-17.0.5-1.el7.noarch
openstack-nova-scheduler-17.0.5-1.el7.noarch
- [root@cldsrv02 ~]#
-
- Hypervisor: Libvirt + KVM:
+ [root@cldsrv02 ~]#
+
+ Hypervisor: Libvirt + KVM:
[root@cldsrv02 ~]# rpm -qa | grep -iE 'kvm|virt'
qemu-kvm-common-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-daemon-driver-storage-scsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-interface-3.9.0-14.el7_5.8.x86_64
libvirt-client-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-core-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-rbd-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-network-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-disk-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-logical-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-secret-3.9.0-14.el7_5.8.x86_64
qemu-kvm-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-libs-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-qemu-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-iscsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nwfilter-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-kvm-3.9.0-14.el7_5.8.x86_64
libvirt-python-3.9.0-1.el7.x86_64
libvirt-daemon-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-gluster-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-mpath-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nodedev-3.9.0-14.el7_5.8.x86_64
centos-release-virt-common-1-1.el7.centos.noarch
virt-what-1.18-4.el7.x86_64
Storage type: LVM:
[root@cldsrv02 ~]# rpm -qa | grep lvm
lvm2-libs-2.02.177-4.el7.x86_64
lvm2-2.02.177-4.el7.x86_64
-
- Networking: Neutron
+ Networking: Neutron
root@cldsrv02 ~]# rpm -qa | grep neutron
openstack-neutron-linuxbridge-12.0.3-1.el7.noarch
openstack-neutron-common-12.0.3-1.el7.noarch
python2-neutron-lib-1.13.0-1.el7.noarch
openstack-neutron-12.0.3-1.el7.noarch
openstack-neutron-ml2-12.0.3-1.el7.noarch
python-neutron-12.0.3-1.el7.noarch
python2-neutronclient-6.7.0-1.el7.noarch
** Description changed:
Description
===========
Error occurs when an instance with two volumes (created from SCSI image). From nova-compute.log, the following information related to volume attachment (address has no bus, target and unit informations):
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8-lun-0"/>
<target bus="scsi" dev="sda"/>
<serial>8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb-lun-0"/>
<target bus="scsi" dev="sdb"/>
<serial>7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb</serial>
<address type="drive" controller="0"/>
</disk>
But when instance is created with only one volume and second volume is attached later (with openstack volume attach .. command), it's configured differently:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdc'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<serial>20fb8417-3ece-46f0-affb-d80800a885dd</serial>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdd'/>
<backingStore/>
<target dev='sdb' bus='scsi'/>
<serial>2d087117-bc51-48ae-9c4d-00950deeb617</serial>
<alias name='scsi0-0-0-1'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
Steps to reproduce
==================
1 - Using an admin openstack account, create a cirros image with scsi
properties:
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
openstack image create "cirros_scsi" \
--file cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--property hw_disk_bus=scsi \
--property hw_scsi_controller=virtio-scsi \
--public
2 - Create two volumes (volume-backed image) using cirros_scsi image:
openstack volume create --size 1 volume-0 --image cirros_scsi
openstack volume create --size 1 volume-1 --image cirros_scsi
3 - Create an instance using two volumes (error scenario):
v1id=`openstack volume show volume-0 | grep " id " | awk '{print $4}'` && echo $v1id
v2id=`openstack volume show volume-1 | grep " id " | awk '{print $4}'` && echo $v2id
nova boot --flavor m1.nano \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=77669d98-2bc2-4a48-aa6f-7184ec99698c \
--key mykey instance01
nova boot --flavor $flavor_id \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=<network_id> \
--key <keypair> instance01
4 - Check instance
openstack server list
openstack volume list
Expected result
===============
Instance should be created normally;
Actual result
=============
(openstack) server list
+--------------------------------------+------------+--------+----------+-------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+----------+-------+---------+
| 6717d471-2092-48c8-8a4f-463ff8afc5bb | instance01 | ERROR | | | m1.nano |
+--------------------------------------+------------+--------+----------+-------+---------+
root@cldsrv02 ~]# openstack server show instance01 -f shell | grep fault
fault="{u'message': u'Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 6717d471-2092-48c8-8a4f-463ff8afc5bb.', u'code': 500, u'details': u' File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 580, in build_instances\n raise exception.MaxRetriesExceeded(reason=msg)\n', u'created': u'2018-10-02T21:24:23Z'}"
Error reported in /var/log/nova/nova-compute.log:
lugin='linux_bridge',port_profile=<?>,preserve_on_delete=False,vif_name='tap7946d21b-8f')
2018-10-02 17:24:09.694 17390 ERROR nova.virt.libvirt.guest [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] Error defining a guest with XML: <domain type="qemu">
<uuid>6717d471-2092-48c8-8a4f-463ff8afc5bb</uuid>
<name>instance-00000008</name>
<memory>65536</memory>
<vcpu>1</vcpu>
<metadata>
<nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
<nova:package version="17.0.5-1.el7"/>
<nova:name>instance01</nova:name>
<nova:creationTime>2018-10-02 21:24:07</nova:creationTime>
<nova:flavor name="m1.nano">
<nova:memory>64</nova:memory>
<nova:disk>1</nova:disk>
<nova:swap>0</nova:swap>
<nova:ephemeral>0</nova:ephemeral>
<nova:vcpus>1</nova:vcpus>
</nova:flavor>
<nova:owner>
<nova:user uuid="7500c13b015449de99a66db93db1b697">admin</nova:user>
<nova:project uuid="265f6aeb1ae746a887cc589c482b4929">admin</nova:project>
</nova:owner>
</nova:instance>
</metadata>
<sysinfo type="smbios">
<system>
<entry name="manufacturer">RDO</entry>
<entry name="product">OpenStack Compute</entry>
<entry name="version">17.0.5-1.el7</entry>
<entry name="serial">1235d097-6a37-4c00-a5e5-33ccae494775</entry>
<entry name="uuid">6717d471-2092-48c8-8a4f-463ff8afc5bb</entry>
<entry name="family">Virtual Machine</entry>
</system>
</sysinfo>
<os>
<type>hvm</type>
<boot dev="hd"/>
<smbios mode="sysinfo"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cputune>
<shares>1024</shares>
</cputune>
<clock offset="utc"/>
<cpu mode="host-model" match="exact">
<topology sockets="1" cores="1" threads="1"/>
</cpu>
<devices>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdc"/>
<target bus="scsi" dev="sda"/>
<serial>0ce95aac-3205-4aa3-830b-c65113f0c9f7</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdd"/>
<target bus="scsi" dev="sdb"/>
<serial>08e55f7d-78e8-4e5a-bdfc-2f7ebcd0ee27</serial>
<address type="drive" controller="0"/>
</disk>
<interface type="bridge">
<mac address="fa:16:3e:08:29:07"/>
<model type="virtio"/>
<driver name="qemu"/>
<source bridge="brq77669d98-2b"/>
<target dev="tap7946d21b-8f"/>
</interface>
<serial type="pty">
<log file="/var/lib/nova/instances/6717d471-2092-48c8-8a4f-463ff8afc5bb/console.log" append="off"/>
</serial>
<input type="tablet" bus="usb"/>
<graphics type="vnc" autoport="yes" keymap="en-us" listen="10.0.0.11"/>
<video>
<model type="cirrus"/>
</video>
<memballoon model="virtio">
<stats period="10"/>
</memballoon>
</devices>
</domain>
: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Instance failed to spawn: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Traceback (most recent call last):
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2251, in _build_resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] yield resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2031, in _build_and_run_instance
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] block_device_info=block_device_info)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3089, in spawn
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure=True)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5614, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5583, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] post_xml_callback=post_xml_callback)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5495, in _create_domain
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = libvirt_guest.Guest.create(xml, self._host)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 129, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] encodeutils.safe_decode(xml))
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 125, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = host.write_instance_config(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 829, in write_instance_config
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] domain = self.get_connection().defineXML(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] result = proxy_call(self._autowrap, f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = execute(f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(c, e, tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = meth(*args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3676, in defineXML
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb]
Environment
===========
- Openstack release: Queens (all in one)
+ Openstack release: Queens (All-in-one Single machine)
root@cldsrv02 ~]# rpm -qa | grep nova
openstack-nova-api-17.0.5-1.el7.noarch
openstack-nova-placement-api-17.0.5-1.el7.noarch
openstack-nova-common-17.0.5-1.el7.noarch
openstack-nova-conductor-17.0.5-1.el7.noarch
python2-novaclient-10.1.0-1.el7.noarch
openstack-nova-compute-17.0.5-1.el7.noarch
python-nova-17.0.5-1.el7.noarch
openstack-nova-console-17.0.5-1.el7.noarch
openstack-nova-novncproxy-17.0.5-1.el7.noarch
openstack-nova-scheduler-17.0.5-1.el7.noarch
[root@cldsrv02 ~]#
Hypervisor: Libvirt + KVM:
[root@cldsrv02 ~]# rpm -qa | grep -iE 'kvm|virt'
qemu-kvm-common-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-daemon-driver-storage-scsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-interface-3.9.0-14.el7_5.8.x86_64
libvirt-client-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-core-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-rbd-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-network-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-disk-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-logical-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-secret-3.9.0-14.el7_5.8.x86_64
qemu-kvm-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-libs-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-qemu-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-iscsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nwfilter-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-kvm-3.9.0-14.el7_5.8.x86_64
libvirt-python-3.9.0-1.el7.x86_64
libvirt-daemon-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-gluster-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-mpath-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nodedev-3.9.0-14.el7_5.8.x86_64
centos-release-virt-common-1-1.el7.centos.noarch
virt-what-1.18-4.el7.x86_64
Storage type: LVM:
[root@cldsrv02 ~]# rpm -qa | grep lvm
lvm2-libs-2.02.177-4.el7.x86_64
lvm2-2.02.177-4.el7.x86_64
Networking: Neutron
root@cldsrv02 ~]# rpm -qa | grep neutron
openstack-neutron-linuxbridge-12.0.3-1.el7.noarch
openstack-neutron-common-12.0.3-1.el7.noarch
python2-neutron-lib-1.13.0-1.el7.noarch
openstack-neutron-12.0.3-1.el7.noarch
openstack-neutron-ml2-12.0.3-1.el7.noarch
python-neutron-12.0.3-1.el7.noarch
python2-neutronclient-6.7.0-1.el7.noarch
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1795747
Title:
libvirtError: unsupported configuration: Found duplicate drive address
for disk with target name 'sda' controller='0' bus='0' target='0'
unit='0' when try to create an instance with two scsi volumes
Status in OpenStack Compute (nova):
New
Bug description:
Description
===========
Error occurs when an instance with two volumes (created from SCSI image). From nova-compute.log, the following information related to volume attachment (address has no bus, target and unit informations):
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8-lun-0"/>
<target bus="scsi" dev="sda"/>
<serial>8fc346e1-fdf4-420a-b6cd-5ee97e97a5b8</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/disk/by-path/ip-10.0.0.11:3260-iscsi-iqn.2010-10.org.openstack:volume-7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb-lun-0"/>
<target bus="scsi" dev="sdb"/>
<serial>7f3b3f37-8449-4fc1-9d8d-0ba691aeacfb</serial>
<address type="drive" controller="0"/>
</disk>
But when instance is created with only one volume and second volume is attached later (with openstack volume attach .. command), it's configured differently:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdc'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<serial>20fb8417-3ece-46f0-affb-d80800a885dd</serial>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdd'/>
<backingStore/>
<target dev='sdb' bus='scsi'/>
<serial>2d087117-bc51-48ae-9c4d-00950deeb617</serial>
<alias name='scsi0-0-0-1'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
Steps to reproduce
==================
1 - Using an admin openstack account, create a cirros image with scsi
properties:
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
openstack image create "cirros_scsi" \
--file cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--property hw_disk_bus=scsi \
--property hw_scsi_controller=virtio-scsi \
--public
2 - Create two volumes (volume-backed image) using cirros_scsi image:
openstack volume create --size 1 volume-0 --image cirros_scsi
openstack volume create --size 1 volume-1 --image cirros_scsi
3 - Create an instance using two volumes (error scenario):
v1id=`openstack volume show volume-0 | grep " id " | awk '{print $4}'` && echo $v1id
v2id=`openstack volume show volume-1 | grep " id " | awk '{print $4}'` && echo $v2id
nova boot --flavor m1.nano \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=77669d98-2bc2-4a48-aa6f-7184ec99698c \
--key mykey instance01
nova boot --flavor $flavor_id \
--block-device source=volume,id=$v1id,shutdown=preserve,bootindex=0 \
--block-device source=volume,id=$v2id,shutdown=preserve,bootindex=1 \
--nic net-id=<network_id> \
--key <keypair> instance01
4 - Check instance
openstack server list
openstack volume list
Expected result
===============
Instance should be created normally;
Actual result
=============
(openstack) server list
+--------------------------------------+------------+--------+----------+-------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+----------+-------+---------+
| 6717d471-2092-48c8-8a4f-463ff8afc5bb | instance01 | ERROR | | | m1.nano |
+--------------------------------------+------------+--------+----------+-------+---------+
root@cldsrv02 ~]# openstack server show instance01 -f shell | grep fault
fault="{u'message': u'Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 6717d471-2092-48c8-8a4f-463ff8afc5bb.', u'code': 500, u'details': u' File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 580, in build_instances\n raise exception.MaxRetriesExceeded(reason=msg)\n', u'created': u'2018-10-02T21:24:23Z'}"
Error reported in /var/log/nova/nova-compute.log:
lugin='linux_bridge',port_profile=<?>,preserve_on_delete=False,vif_name='tap7946d21b-8f')
2018-10-02 17:24:09.694 17390 ERROR nova.virt.libvirt.guest [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] Error defining a guest with XML: <domain type="qemu">
<uuid>6717d471-2092-48c8-8a4f-463ff8afc5bb</uuid>
<name>instance-00000008</name>
<memory>65536</memory>
<vcpu>1</vcpu>
<metadata>
<nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
<nova:package version="17.0.5-1.el7"/>
<nova:name>instance01</nova:name>
<nova:creationTime>2018-10-02 21:24:07</nova:creationTime>
<nova:flavor name="m1.nano">
<nova:memory>64</nova:memory>
<nova:disk>1</nova:disk>
<nova:swap>0</nova:swap>
<nova:ephemeral>0</nova:ephemeral>
<nova:vcpus>1</nova:vcpus>
</nova:flavor>
<nova:owner>
<nova:user uuid="7500c13b015449de99a66db93db1b697">admin</nova:user>
<nova:project uuid="265f6aeb1ae746a887cc589c482b4929">admin</nova:project>
</nova:owner>
</nova:instance>
</metadata>
<sysinfo type="smbios">
<system>
<entry name="manufacturer">RDO</entry>
<entry name="product">OpenStack Compute</entry>
<entry name="version">17.0.5-1.el7</entry>
<entry name="serial">1235d097-6a37-4c00-a5e5-33ccae494775</entry>
<entry name="uuid">6717d471-2092-48c8-8a4f-463ff8afc5bb</entry>
<entry name="family">Virtual Machine</entry>
</system>
</sysinfo>
<os>
<type>hvm</type>
<boot dev="hd"/>
<smbios mode="sysinfo"/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cputune>
<shares>1024</shares>
</cputune>
<clock offset="utc"/>
<cpu mode="host-model" match="exact">
<topology sockets="1" cores="1" threads="1"/>
</cpu>
<devices>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdc"/>
<target bus="scsi" dev="sda"/>
<serial>0ce95aac-3205-4aa3-830b-c65113f0c9f7</serial>
<address type="drive" controller="0"/>
</disk>
<disk type="block" device="disk">
<driver name="qemu" type="raw" cache="none" io="native"/>
<source dev="/dev/sdd"/>
<target bus="scsi" dev="sdb"/>
<serial>08e55f7d-78e8-4e5a-bdfc-2f7ebcd0ee27</serial>
<address type="drive" controller="0"/>
</disk>
<interface type="bridge">
<mac address="fa:16:3e:08:29:07"/>
<model type="virtio"/>
<driver name="qemu"/>
<source bridge="brq77669d98-2b"/>
<target dev="tap7946d21b-8f"/>
</interface>
<serial type="pty">
<log file="/var/lib/nova/instances/6717d471-2092-48c8-8a4f-463ff8afc5bb/console.log" append="off"/>
</serial>
<input type="tablet" bus="usb"/>
<graphics type="vnc" autoport="yes" keymap="en-us" listen="10.0.0.11"/>
<video>
<model type="cirrus"/>
</video>
<memballoon model="virtio">
<stats period="10"/>
</memballoon>
</devices>
</domain>
: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [req-6105a653-1bdd-4812-83a5-2f68bf3e4b7a f04ef8cc6c7c46f782488ff162dcdef2 bf7678e543da4c4a9703a0196efda6e9 - default default] [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Instance failed to spawn: libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] Traceback (most recent call last):
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2251, in _build_resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] yield resources
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2031, in _build_and_run_instance
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] block_device_info=block_device_info)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 3089, in spawn
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure=True)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5614, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] destroy_disks_on_failure)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5583, in _create_domain_and_network
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] post_xml_callback=post_xml_callback)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5495, in _create_domain
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = libvirt_guest.Guest.create(xml, self._host)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 129, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] encodeutils.safe_decode(xml))
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] self.force_reraise()
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(self.type_, self.value, self.tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 125, in create
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] guest = host.write_instance_config(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 829, in write_instance_config
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] domain = self.get_connection().defineXML(xml)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] result = proxy_call(self._autowrap, f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = execute(f, *args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] six.reraise(c, e, tb)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] rv = meth(*args, **kwargs)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3676, in defineXML
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'
2018-10-02 17:24:14.189 17390 ERROR nova.compute.manager [instance: 6717d471-2092-48c8-8a4f-463ff8afc5bb]
Environment
===========
Openstack release: Queens (All-in-one Single machine)
root@cldsrv02 ~]# rpm -qa | grep nova
openstack-nova-api-17.0.5-1.el7.noarch
openstack-nova-placement-api-17.0.5-1.el7.noarch
openstack-nova-common-17.0.5-1.el7.noarch
openstack-nova-conductor-17.0.5-1.el7.noarch
python2-novaclient-10.1.0-1.el7.noarch
openstack-nova-compute-17.0.5-1.el7.noarch
python-nova-17.0.5-1.el7.noarch
openstack-nova-console-17.0.5-1.el7.noarch
openstack-nova-novncproxy-17.0.5-1.el7.noarch
openstack-nova-scheduler-17.0.5-1.el7.noarch
[root@cldsrv02 ~]#
Hypervisor: Libvirt + KVM:
[root@cldsrv02 ~]# rpm -qa | grep -iE 'kvm|virt'
qemu-kvm-common-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-daemon-driver-storage-scsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-interface-3.9.0-14.el7_5.8.x86_64
libvirt-client-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-core-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-rbd-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-network-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-disk-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-logical-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-secret-3.9.0-14.el7_5.8.x86_64
qemu-kvm-ev-2.10.0-21.el7_5.4.1.x86_64
libvirt-libs-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-qemu-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-iscsi-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nwfilter-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-kvm-3.9.0-14.el7_5.8.x86_64
libvirt-python-3.9.0-1.el7.x86_64
libvirt-daemon-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-gluster-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-storage-mpath-3.9.0-14.el7_5.8.x86_64
libvirt-daemon-driver-nodedev-3.9.0-14.el7_5.8.x86_64
centos-release-virt-common-1-1.el7.centos.noarch
virt-what-1.18-4.el7.x86_64
Storage type: LVM:
[root@cldsrv02 ~]# rpm -qa | grep lvm
lvm2-libs-2.02.177-4.el7.x86_64
lvm2-2.02.177-4.el7.x86_64
Networking: Neutron
root@cldsrv02 ~]# rpm -qa | grep neutron
openstack-neutron-linuxbridge-12.0.3-1.el7.noarch
openstack-neutron-common-12.0.3-1.el7.noarch
python2-neutron-lib-1.13.0-1.el7.noarch
openstack-neutron-12.0.3-1.el7.noarch
openstack-neutron-ml2-12.0.3-1.el7.noarch
python-neutron-12.0.3-1.el7.noarch
python2-neutronclient-6.7.0-1.el7.noarch
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1795747/+subscriptions
Follow ups