diff --git a/cinder/exception.py b/cinder/exception.py index ad322b151f0..5fa23003631 100644 --- a/cinder/exception.py +++ b/cinder/exception.py @@ -1293,6 +1293,10 @@ class DotHillNotTargetPortal(VolumeDriverException): message = _("No active iSCSI portals with supplied iSCSI IPs") +class DotHillDriverNotSupported(VolumeDriverException): + message = _("The Dot Hill driver is no longer supported.") + + # Sheepdog class SheepdogError(VolumeBackendAPIException): message = _("An error has occurred in SheepdogDriver. " diff --git a/cinder/volume/drivers/dothill/dothill_client.py b/cinder/volume/drivers/dothill/dothill_client.py index 340c865b00a..c9ba1b97d69 100644 --- a/cinder/volume/drivers/dothill/dothill_client.py +++ b/cinder/volume/drivers/dothill/dothill_client.py @@ -98,7 +98,7 @@ class DotHillClient(object): raise exception.DotHillConnectionError( message=_("Failed to log in to management controller")) - @utils.synchronized(__name__, external = True) + @utils.synchronized(__name__, external=True) def _get_session_key(self): """Retrieve a session key from the array.""" diff --git a/cinder/volume/drivers/dothill/dothill_fc.py b/cinder/volume/drivers/dothill/dothill_fc.py index 48961ad8332..631a48b8a1e 100644 --- a/cinder/volume/drivers/dothill/dothill_fc.py +++ b/cinder/volume/drivers/dothill/dothill_fc.py @@ -15,6 +15,7 @@ # under the License. # +from cinder import exception from cinder import interface import cinder.volume.driver from cinder.volume.drivers.dothill import dothill_common @@ -22,6 +23,9 @@ from cinder.volume.drivers.san import san from cinder.zonemanager import utils as fczm_utils +# As of Pike, the DotHill driver is no longer considered supported, +# but the code remains as it is still subclassed by other drivers. +# The __init__() function prevents any direct instantiation. @interface.volumedriver class DotHillFCDriver(cinder.volume.driver.FibreChannelDriver): """OpenStack Fibre Channel cinder drivers for DotHill Arrays. @@ -39,18 +43,13 @@ class DotHillFCDriver(cinder.volume.driver.FibreChannelDriver): - added https support 1.6 - Add management path redundancy and reduce load placed on management controller. + 1.7 - Modified so it can't be invoked except as a superclass """ - VERSION = "1.6" - - # ThirdPartySystems CI wiki - CI_WIKI_NAME = "Vedams_DotHillDriver_CI" - - # TODO(smcginnis) Either remove this if CI requirements are met, or - # remove this driver in the Pike release per normal deprecation - SUPPORTED = False - def __init__(self, *args, **kwargs): + # Make sure we're not invoked directly + if type(self) == DotHillFCDriver: + raise exception.DotHillDriverNotSupported super(DotHillFCDriver, self).__init__(*args, **kwargs) self.common = None self.configuration.append_config_values(dothill_common.common_opts) diff --git a/cinder/volume/drivers/dothill/dothill_iscsi.py b/cinder/volume/drivers/dothill/dothill_iscsi.py index 0e07cdb96de..03cdb50b247 100644 --- a/cinder/volume/drivers/dothill/dothill_iscsi.py +++ b/cinder/volume/drivers/dothill/dothill_iscsi.py @@ -29,6 +29,9 @@ DEFAULT_ISCSI_PORT = "3260" LOG = logging.getLogger(__name__) +# As of Pike, the DotHill driver is no longer considered supported, +# but the code remains as it is still subclassed by other drivers. +# The __init__() function prevents any direct instantiation. @interface.volumedriver class DotHillISCSIDriver(cinder.volume.driver.ISCSIDriver): """OpenStack iSCSI cinder drivers for DotHill Arrays. @@ -48,18 +51,13 @@ class DotHillISCSIDriver(cinder.volume.driver.ISCSIDriver): - added https support 1.6 - Add management path redundancy and reduce load placed on management controller. + 1.7 - Modified so it can't be invoked except as a superclass """ - VERSION = "1.6" - - # ThirdPartySystems CI wiki - CI_WIKI_NAME = "Vedams_DotHillDriver_CI" - - # TODO(smcginnis) Either remove this if CI requirements are met, or - # remove this driver in the Pike release per normal deprecation - SUPPORTED = False - def __init__(self, *args, **kwargs): + # Make sure we're not invoked directly + if type(self) == DotHillISCSIDriver: + raise exception.DotHillDriverNotSupported super(DotHillISCSIDriver, self).__init__(*args, **kwargs) self.common = None self.configuration.append_config_values(dothillcommon.common_opts) diff --git a/releasenotes/notes/dothill-drivers-removed-da00a6b83865271a.yaml b/releasenotes/notes/dothill-drivers-removed-da00a6b83865271a.yaml new file mode 100644 index 00000000000..079929e8f8c --- /dev/null +++ b/releasenotes/notes/dothill-drivers-removed-da00a6b83865271a.yaml @@ -0,0 +1,3 @@ +--- +upgrade: + - Support for Dot Hill AssuredSAN arrays has been removed.