libvirt: Remove workaround for unsupported libvirt version
We haven't supported libvirt < 3.3.0 since 21.0.0 (Ussuri). Remove this workaround for a bug found in these versions. Change-Id: I903a920bf44e149b4c9f3808c1fe3e35c80898cb Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
parent
b72980960e
commit
49788b7633
|
@ -8925,50 +8925,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
bus='virtio', should_log=False)
|
||||
|
||||
@mock.patch('nova.virt.libvirt.blockinfo.get_info_from_bdm')
|
||||
def test_attach_volume_with_libvirt_bug_breadcrumb(self, mock_get_info):
|
||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
|
||||
instance = objects.Instance(**self.test_instance)
|
||||
connection_info = {"driver_volume_type": "fake",
|
||||
"data": {"device_path": "/fake",
|
||||
"access_mode": "rw"}}
|
||||
bdm = {'device_name': 'vdb',
|
||||
'disk_bus': 'fake-bus',
|
||||
'device_type': 'fake-type'}
|
||||
disk_info = {'bus': bdm['disk_bus'], 'type': bdm['device_type'],
|
||||
'dev': 'vdb'}
|
||||
libvirt_exc = fakelibvirt.make_libvirtError(fakelibvirt.libvirtError,
|
||||
"unable to execute QEMU command 'object-add': Incorrect number"
|
||||
" of padding bytes (56) found on decrypted data",
|
||||
error_code=fakelibvirt.VIR_ERR_INTERNAL_ERROR)
|
||||
|
||||
with test.nested(
|
||||
mock.patch.object(drvr._host, 'get_guest'),
|
||||
mock.patch('nova.virt.libvirt.driver.LOG'),
|
||||
mock.patch.object(drvr, '_connect_volume'),
|
||||
mock.patch.object(drvr, '_disconnect_volume'),
|
||||
mock.patch.object(drvr, '_get_volume_config'),
|
||||
mock.patch.object(drvr, '_check_discard_for_attach_volume'),
|
||||
mock.patch.object(drvr, '_build_device_metadata'),
|
||||
) as (mock_get_guest, mock_log, mock_connect_volume,
|
||||
mock_disconnect_volume, mock_get_volume_config,
|
||||
mock_check_discard, mock_build_metadata):
|
||||
|
||||
mock_conf = mock.MagicMock()
|
||||
mock_guest = mock.MagicMock()
|
||||
mock_guest.attach_device.side_effect = libvirt_exc
|
||||
mock_get_volume_config.return_value = mock_conf
|
||||
mock_get_guest.return_value = mock_guest
|
||||
mock_get_info.return_value = disk_info
|
||||
mock_build_metadata.return_value = objects.InstanceDeviceMetadata()
|
||||
|
||||
self.assertRaises(fakelibvirt.libvirtError, drvr.attach_volume,
|
||||
self.context, connection_info, instance, "/dev/vdb",
|
||||
disk_bus=bdm['disk_bus'], device_type=bdm['device_type'])
|
||||
mock_log.warning.assert_called_once()
|
||||
mock_disconnect_volume.assert_called_once()
|
||||
|
||||
@mock.patch('nova.virt.libvirt.blockinfo.get_info_from_bdm')
|
||||
def test_attach_volume_with_libvirt_exception(self, mock_get_info):
|
||||
def test_attach_volume_with_exception(self, mock_get_info):
|
||||
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
|
||||
instance = objects.Instance(**self.test_instance)
|
||||
connection_info = {"driver_volume_type": "fake",
|
||||
|
|
|
@ -1790,23 +1790,6 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||
instance.device_metadata = self._build_device_metadata(
|
||||
context, instance)
|
||||
instance.save()
|
||||
|
||||
# TODO(lyarwood) Remove the following breadcrumb once all supported
|
||||
# distributions provide Libvirt 3.3.0 or earlier with
|
||||
# https://libvirt.org/git/?p=libvirt.git;a=commit;h=7189099 applied.
|
||||
except libvirt.libvirtError as ex:
|
||||
with excutils.save_and_reraise_exception():
|
||||
if 'Incorrect number of padding bytes' in six.text_type(ex):
|
||||
LOG.warning(
|
||||
'Failed to attach encrypted volume due to a known '
|
||||
'Libvirt issue, see the following bug for details: '
|
||||
'https://bugzilla.redhat.com/1447297'
|
||||
)
|
||||
else:
|
||||
LOG.exception('Failed to attach volume at mountpoint: %s',
|
||||
mountpoint, instance=instance)
|
||||
self._disconnect_volume(context, connection_info, instance,
|
||||
encryption=encryption)
|
||||
except Exception:
|
||||
LOG.exception('Failed to attach volume at mountpoint: %s',
|
||||
mountpoint, instance=instance)
|
||||
|
|
Loading…
Reference in New Issue