commit 57f46c1c28a2e3ba1f12ec8f883cf99ccd9979db
Author: Matt Riedemann <email address hidden>
Date: Tue Nov 8 11:22:42 2016 -0500
libvirt: handle os-brick InvalidConnectorProtocol on init
On init the LibvirtDriver imports it's volume drivers into
a registry for later access during volume operations. Several
of the libvirt volume drivers are using os-brick for the connector.
os-brick can raise an exception when loading a connector class
under certain conditions, e.g. s390x + ISER is not a supported
mapping in os-brick. This in turn causes the LibvirtDriver to
fail to load which causes nova-compute to crash.
This change handles the os-brick specific InvalidConnectorProtocol
exception when importing volume drivers, logs a debug message but
doesn't fail to init the LibvirtDriver.
As part of this change the driver_dict_from_config helper method
is integrated with the _get_volume_drivers method as that was
the only thing using it, and it's cleaner if those are just a
single method.
Reviewed: https:/ /review. openstack. org/395067 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=57f46c1c28a 2e3ba1f12ec8f88 3cf99ccd9979db
Committed: https:/
Submitter: Jenkins
Branch: master
commit 57f46c1c28a2e3b a1f12ec8f883cf9 9ccd9979db
Author: Matt Riedemann <email address hidden>
Date: Tue Nov 8 11:22:42 2016 -0500
libvirt: handle os-brick InvalidConnecto rProtocol on init
On init the LibvirtDriver imports it's volume drivers into
a registry for later access during volume operations. Several
of the libvirt volume drivers are using os-brick for the connector.
os-brick can raise an exception when loading a connector class
under certain conditions, e.g. s390x + ISER is not a supported
mapping in os-brick. This in turn causes the LibvirtDriver to
fail to load which causes nova-compute to crash.
This change handles the os-brick specific InvalidConnecto rProtocol
exception when importing volume drivers, logs a debug message but
doesn't fail to init the LibvirtDriver.
As part of this change the driver_ dict_from_ config helper method
is integrated with the _get_volume_drivers method as that was
the only thing using it, and it's cleaner if those are just a
single method.
Depends-On: I7183a479bc12c4 e5509f52bf7fdd0 fa7ccaa7247
Change-Id: I61376469a409dc 5475886e6c79486 b815129392a
Closes-Bug: #1639239