From 65fe16ea85c2b989c61deefba51e2172822cc7a0 Mon Sep 17 00:00:00 2001 From: John Griffith Date: Wed, 16 Nov 2016 23:08:33 -0500 Subject: [PATCH] Deprecate the block_device driver The BlockDevice Driver continues to be behind, and not tested very well; and adoption doesn't appear to be that significant. The only argument to having/keeping it in the past has been that it was required for performance, however most recent data analysis using the LIO driver and LVM (standard reference driver) seems to indicate that there in fact may not be a significant performance difference. Additionally, if higher performance is desired, using a striping across multiple disks with the LVM reference drivers will provide higher performance. Closes-Bug: #1642441 DocImpact Change-Id: Ic5f8c49e9c707a812cd0dc1d99b1e46a06c60015 --- cinder/volume/drivers/block_device.py | 9 +++++++++ .../deprecate-block-device-driver-d30232547a31fe1e.yaml | 6 ++++++ 2 files changed, 15 insertions(+) create mode 100644 releasenotes/notes/deprecate-block-device-driver-d30232547a31fe1e.yaml diff --git a/cinder/volume/drivers/block_device.py b/cinder/volume/drivers/block_device.py index c41e3792f4e..bc214b20138 100644 --- a/cinder/volume/drivers/block_device.py +++ b/cinder/volume/drivers/block_device.py @@ -17,6 +17,7 @@ import os from oslo_config import cfg from oslo_log import log as logging +from oslo_log import versionutils from oslo_utils import importutils from oslo_utils import units @@ -50,9 +51,17 @@ class BlockDeviceDriver(driver.BaseVD, driver.LocalVD, # ThirdPartySystems wiki page CI_WIKI_NAME = "Cinder_Jenkins" + SUPPORTED = False def __init__(self, *args, **kwargs): super(BlockDeviceDriver, self).__init__(*args, **kwargs) + # This driver has been marked as deprecated in the Ocata release, as + # per the standard OpenStack deprecation policy it can be removed in + # the Queens release. + msg = _("The block_device driver is deprecated and will be " + "removed in a future release.") + versionutils.report_deprecated_feature(LOG, msg) + self.configuration.append_config_values(volume_opts) self.backend_name = \ self.configuration.safe_get('volume_backend_name') or "BlockDev" diff --git a/releasenotes/notes/deprecate-block-device-driver-d30232547a31fe1e.yaml b/releasenotes/notes/deprecate-block-device-driver-d30232547a31fe1e.yaml new file mode 100644 index 00000000000..dc0f3d9096b --- /dev/null +++ b/releasenotes/notes/deprecate-block-device-driver-d30232547a31fe1e.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - The block_driver is deprecated as of the Ocata release and will be + removed in the Queens release of Cinder. Instead the LVM driver + with the LIO iSCSI target should be used. For those that desire + higher performance, they should use LVM striping.