[Bug 1639239] Re: ValueError for Invalid InitiatorConnector in s390
OpenStack Infra
1639239 at bugs.launchpad.net
Tue Mar 14 14:18:22 UTC 2017
Reviewed: https://review.openstack.org/436868
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=ec3f15994476cf36e0ab34c0d3145102e61fece9
Submitter: Jenkins
Branch: stable/newton
commit ec3f15994476cf36e0ab34c0d3145102e61fece9
Author: Arne Recknagel <arecknag at de.ibm.com>
Date: Tue Feb 21 16:56:53 2017 +0100
Fix s390 "connector not found" issue
This patch introduces a try-catch block on a call to the os-brick
library which may throw a ValueError. os_brick will throw it when
a driver is not supported, so ignoring it and skipping its addition
to the driver list should be the expected behavior. This fix is
required for s390, where nova is currently broken without it.
The issue was resolved in Ocata with changes including [1] and [2],
as well as a change to os_brick [3]. The backport to newton [4] was
abandoned as it requires a raise in the os_brick minimum version.
This fix is a revision of [5], which is essentially a lightweight
version of [1] that only addresses the issue at hand.
[1]: https://review.openstack.org/#/c/395067/
[2]: https://review.openstack.org/#/c/394979/
[3]: https://review.openstack.org/#/c/375415/
[4]: https://review.openstack.org/#/c/428386/
[5]: https://review.openstack.org/#/c/394425/
Change-Id: I638f12ce3deab0338a8d2652398c35acb9280f72
Closes-Bug: 1639239
** Changed in: cloud-archive/newton
Status: Confirmed => Fix Committed
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1639239
Title:
ValueError for Invalid InitiatorConnector in s390
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive newton series:
Fix Committed
Status in Ubuntu Cloud Archive ocata series:
Fix Released
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) newton series:
In Progress
Status in os-brick:
Fix Released
Status in Ubuntu on IBM z Systems:
Confirmed
Status in nova package in Ubuntu:
Fix Released
Status in python-os-brick package in Ubuntu:
Fix Released
Status in nova source package in Yakkety:
Confirmed
Status in python-os-brick source package in Yakkety:
Confirmed
Status in nova source package in Zesty:
Fix Released
Status in python-os-brick source package in Zesty:
Fix Released
Bug description:
Description
===========
Calling the InitiatorConnector factory results in a ValueError for unsupported protocols, which goes unhandled and may crash a calling service.
Steps to reproduce
==================
- clone devstack
- make stack
Expected result
===============
The nova compute service should run.
Actual result
=============
A ValueError is thrown, which, in the case of the nova libvirt driver, is not handled appropriately. The compute service crashes.
Environment
===========
os|distro=kvmibm1
os|vendor=kvmibm
os|release=1.1.3-beta4.3
git|cinder|master[f6ab36d]
git|devstack|master[928b3cd]
git|nova|master[56138aa]
pip|os-brick|1.7.0
Logs & Configs
==============
[...]
2016-11-03 17:56:57.204 46141 INFO nova.virt.driver [req-fb30a5af-e87c-4ee0-903c-a5aa7d3ad5e3 - -] Loading compute driver 'libvirt.LibvirtDriver'
2016-11-03 17:56:57.442 46141 DEBUG os_brick.initiator.connector [req-fb30a5af-e87c-4ee0-903c-a5aa7d3ad5e3 - -] Factory for ISCSI on s390x factory /usr/lib/python2.7/site-packages/os_brick/initiator/connector.py:261
2016-11-03 17:56:57.444 46141 DEBUG os_brick.initiator.connector [req-fb30a5af-e87c-4ee0-903c-a5aa7d3ad5e3 - -] Factory for ISCSI on s390x factory /usr/lib/python2.7/site-packages/os_brick/initiator/connector.py:261
2016-11-03 17:56:57.445 46141 DEBUG os_brick.initiator.connector [req-fb30a5af-e87c-4ee0-903c-a5aa7d3ad5e3 - -] Factory for ISER on s390x factory /usr/lib/python2.7/site-packages/os_brick/initiator/connector.py:261
2016-11-03 17:56:57.445 46141 CRITICAL nova [req-fb30a5af-e87c-4ee0-903c-a5aa7d3ad5e3 - -] ValueError: Invalid InitiatorConnector protocol specified ISER
2016-11-03 17:56:57.445 46141 ERROR nova Traceback (most recent call last):
2016-11-03 17:56:57.445 46141 ERROR nova File "/usr/bin/nova-compute", line 10, in <module>
2016-11-03 17:56:57.445 46141 ERROR nova sys.exit(main())
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/cmd/compute.py", line 56, in main
2016-11-03 17:56:57.445 46141 ERROR nova topic=CONF.compute_topic)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/service.py", line 216, in create
2016-11-03 17:56:57.445 46141 ERROR nova periodic_interval_max=periodic_interval_max)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/service.py", line 91, in __init__
2016-11-03 17:56:57.445 46141 ERROR nova self.manager = manager_class(host=self.host, *args, **kwargs)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/compute/manager.py", line 537, in __init__
2016-11-03 17:56:57.445 46141 ERROR nova self.driver = driver.load_compute_driver(self.virtapi, compute_driver)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/virt/driver.py", line 1625, in load_compute_driver
2016-11-03 17:56:57.445 46141 ERROR nova virtapi)
2016-11-03 17:56:57.445 46141 ERROR nova File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 44, in import_object
2016-11-03 17:56:57.445 46141 ERROR nova return import_class(import_str)(*args, **kwargs)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 356, in __init__
2016-11-03 17:56:57.445 46141 ERROR nova self._get_volume_drivers(), self._host)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/virt/driver.py", line 44, in driver_dict_from_config
2016-11-03 17:56:57.445 46141 ERROR nova driver_registry[driver_type] = driver_class(*args, **kwargs)
2016-11-03 17:56:57.445 46141 ERROR nova File "/opt/stack/nova/nova/virt/libvirt/volume/iser.py", line 34, in __init__
2016-11-03 17:56:57.445 46141 ERROR nova transport=self._get_transport())
2016-11-03 17:56:57.445 46141 ERROR nova File "/usr/lib/python2.7/site-packages/os_brick/initiator/connector.py", line 285, in factory
2016-11-03 17:56:57.445 46141 ERROR nova raise ValueError(msg)
2016-11-03 17:56:57.445 46141 ERROR nova ValueError: Invalid InitiatorConnector protocol specified ISER
2016-11-03 17:56:57.445 46141 ERROR nova
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1639239/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list