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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp