Bug 1546965 - Launching Instance fails when image property hw_disk_bus=scsi is set
Summary: Launching Instance fails when image property hw_disk_bus=scsi is set
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: z9
: 10.0 (Newton)
Assignee: Artom Lifshitz
QA Contact: OSP DFG:Compute
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-20 08:09 UTC by PURANDHAR SAIRAM MANNIDI
Modified: 2023-03-21 18:45 UTC (History)
18 users (show)

Fixed In Version: openstack-nova-14.1.0-17.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-17 16:50:53 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-4900 0 None None None 2022-07-09 11:39:55 UTC
Red Hat Knowledge Base (Solution) 3376161 0 None None None 2018-03-08 22:55:41 UTC
Red Hat Product Errata RHSA-2018:2714 0 None None None 2018-09-17 16:52:15 UTC

Description PURANDHAR SAIRAM MANNIDI 2018-02-20 08:09:40 UTC
Description of problem:
Launching Instance fails with image property hw_disk_bus=scsi and flavor has ephemeral disk

Version-Release number of selected component (if applicable):
Red Hat OpenStack Platform 10

How reproducible:
Always

Steps to Reproduce:
1. create a image in glance with property hw_disk_bus=scsi
2. create a flavor with ephemeral disk included
3. Launch the instance

Actual results:
Instance fails to spawn with 

Expected results:
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [req-ee8830aa-af24-41b6-bc76-c04660cad606 130dd53f32b64593b37903a5a293bda9 62864afed913420daa7f4d8ccc751a0d - - -] [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa] Instance failed to spawn
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa] Traceback (most recent call last):
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2087, in _build_resources
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     yield resources
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1928, in _build_and_run_instance
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     block_device_info=block_device_info)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2674, in spawn
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     destroy_disks_on_failure=True)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5013, in _create_domain_and_network
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     destroy_disks_on_failure)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     self.force_reraise()
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     six.reraise(self.type_, self.value, self.tb)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4985, in _create_domain_and_network
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     post_xml_callback=post_xml_callback)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4896, in _create_domain
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     guest = libvirt_guest.Guest.create(xml, self._host)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 129, in create
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     encodeutils.safe_decode(xml))
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     self.force_reraise()
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     six.reraise(self.type_, self.value, self.tb)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 125, in create
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     domain = host.write_instance_config(xml)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 906, in write_instance_config
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     return self.get_connection().defineXML(xml)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     result = proxy_call(self._autowrap, f, *args, **kwargs)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     rv = execute(f, *args, **kwargs)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     six.reraise(c, e, tb)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     rv = meth(*args, **kwargs)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3585, in defineXML
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa]     if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
2018-02-20 02:44:31.113 969429 ERROR nova.compute.manager [instance: b7f8d946-496a-49f9-9991-48f2c32cc7fa] libvirtError: unsupported configuration: Found duplicate drive address for disk with target name 'sda' controller='0' bus='0' target='0' unit='0'


Additional info:

Tried 2 cases:

1. VM root disk is a volume
2. VM root disk is local disk.

Comment 1 Martin Schuppert 2018-02-20 08:42:06 UTC
seems we might have to add "hw_scsi_model=virtio-scsi" as well.

Comment 2 Sahid Ferdjaoui 2018-02-20 08:46:53 UTC
(In reply to Martin Schuppert from comment #1)
> seems we might have to add "hw_scsi_model=virtio-scsi" as well.

Yes you made good point.

Can you share the packages versions used? It might be related to bug 1495158 as you have noticed to me on IRC.

Comment 3 PURANDHAR SAIRAM MANNIDI 2018-02-20 08:48:20 UTC
openstack-nova-14.0.8-5.el7ost

Comment 4 PURANDHAR SAIRAM MANNIDI 2018-02-20 08:51:41 UTC
So,Do we need to set hw_scsi_model=virtio-scsi as mandatory for hw_disk_bus=scsi?

Comment 5 Sahid Ferdjaoui 2018-02-20 08:55:13 UTC
Yes, for libvirt driver I think we only support SCSI with a virtio-scsi controller.

Comment 6 PURANDHAR SAIRAM MANNIDI 2018-02-20 09:09:37 UTC
Nova version prior to openstack-nova-14.0.8-2.el7ost (including) works with just setting hw_disk_bus=scsi in the image property. Post openstack-nova-14.0.8-4.el7ost, we have to set both hw_scsi_model=virtio-scsi  and hw_disk_bus=scsi to make sure instance spawns with ephemeral disk.

Note: Using hugepages and CPU pinning can alter the results.

Comment 7 Sahid Ferdjaoui 2018-02-21 08:15:28 UTC
(In reply to PURANDHAR SAIRAM MANNIDI from comment #6)
> Note: Using hugepages and CPU pinning can alter the results.

What do you mean by that? can you provide more information I don't see the relation between HP/pinning and SCSI controller.

Also, can I suggest to decrease the severity since it was a configuration issue?

Comment 8 PURANDHAR SAIRAM MANNIDI 2018-02-21 22:36:44 UTC
Yes, there is no relation to it.

we can close this ticket as we have updated the documentation with a note saying that we need hw_scsi_model=virtio-scsi when hw_disk_bus=scsi is set.

Comment 9 Sahid Ferdjaoui 2018-03-07 07:53:32 UTC
A patch sent upstream is going to address this issue:

  https://review.openstack.org/#/c/538310/

Do you have possibility to make a test?

Comment 15 Lon Hohberger 2018-05-22 10:36:24 UTC
According to our records, this should be resolved by openstack-nova-14.1.0-22.el7ost.  This build is available now.

Comment 19 Alex McLeod 2018-09-03 07:58:45 UTC
Hi there,

If this bug requires doc text for errata release, please set the 'Doc Type' and provide draft text according to the template in the 'Doc Text' field.

The documentation team will review, edit, and approve the text.

If this bug does not require doc text, please set the 'requires_doc_text' flag to -.

Thanks,
Alex

Comment 22 errata-xmlrpc 2018-09-17 16:50:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2714


Note You need to log in before you can comment on or make changes to this bug.