VMAX driver - rename and restructure driver
Rename and restructure VMAX driver to replace EMC with Dell EMC. Change-Id: Ic5c7a62015750151878a15e97f7e31e9b8bc7098 Implements: blueprint vmax-rename-dell-emc
This commit is contained in:
parent
d7f93d527c
commit
e569188aa8
@ -78,6 +78,8 @@ from cinder.volume.drivers.dell_emc.scaleio import driver as \
|
|||||||
cinder_volume_drivers_dell_emc_scaleio_driver
|
cinder_volume_drivers_dell_emc_scaleio_driver
|
||||||
from cinder.volume.drivers.dell_emc.unity import driver as \
|
from cinder.volume.drivers.dell_emc.unity import driver as \
|
||||||
cinder_volume_drivers_dell_emc_unity_driver
|
cinder_volume_drivers_dell_emc_unity_driver
|
||||||
|
from cinder.volume.drivers.dell_emc.vmax import common as \
|
||||||
|
cinder_volume_drivers_dell_emc_vmax_common
|
||||||
from cinder.volume.drivers.dell_emc.vnx import common as \
|
from cinder.volume.drivers.dell_emc.vnx import common as \
|
||||||
cinder_volume_drivers_dell_emc_vnx_common
|
cinder_volume_drivers_dell_emc_vnx_common
|
||||||
from cinder.volume.drivers.dell_emc import xtremio as \
|
from cinder.volume.drivers.dell_emc import xtremio as \
|
||||||
@ -88,8 +90,6 @@ from cinder.volume.drivers.dothill import dothill_common as \
|
|||||||
cinder_volume_drivers_dothill_dothillcommon
|
cinder_volume_drivers_dothill_dothillcommon
|
||||||
from cinder.volume.drivers import drbdmanagedrv as \
|
from cinder.volume.drivers import drbdmanagedrv as \
|
||||||
cinder_volume_drivers_drbdmanagedrv
|
cinder_volume_drivers_drbdmanagedrv
|
||||||
from cinder.volume.drivers.emc import emc_vmax_common as \
|
|
||||||
cinder_volume_drivers_emc_emcvmaxcommon
|
|
||||||
from cinder.volume.drivers import eqlx as cinder_volume_drivers_eqlx
|
from cinder.volume.drivers import eqlx as cinder_volume_drivers_eqlx
|
||||||
from cinder.volume.drivers.falconstor import fss_common as \
|
from cinder.volume.drivers.falconstor import fss_common as \
|
||||||
cinder_volume_drivers_falconstor_fsscommon
|
cinder_volume_drivers_falconstor_fsscommon
|
||||||
@ -275,13 +275,13 @@ def list_opts():
|
|||||||
common_opts,
|
common_opts,
|
||||||
cinder_volume_drivers_dell_emc_scaleio_driver.scaleio_opts,
|
cinder_volume_drivers_dell_emc_scaleio_driver.scaleio_opts,
|
||||||
cinder_volume_drivers_dell_emc_unity_driver.UNITY_OPTS,
|
cinder_volume_drivers_dell_emc_unity_driver.UNITY_OPTS,
|
||||||
|
cinder_volume_drivers_dell_emc_vmax_common.emc_opts,
|
||||||
cinder_volume_drivers_dell_emc_vnx_common.VNX_OPTS,
|
cinder_volume_drivers_dell_emc_vnx_common.VNX_OPTS,
|
||||||
cinder_volume_drivers_dell_emc_xtremio.XTREMIO_OPTS,
|
cinder_volume_drivers_dell_emc_xtremio.XTREMIO_OPTS,
|
||||||
cinder_volume_drivers_disco_disco.disco_opts,
|
cinder_volume_drivers_disco_disco.disco_opts,
|
||||||
cinder_volume_drivers_dothill_dothillcommon.common_opts,
|
cinder_volume_drivers_dothill_dothillcommon.common_opts,
|
||||||
cinder_volume_drivers_dothill_dothillcommon.iscsi_opts,
|
cinder_volume_drivers_dothill_dothillcommon.iscsi_opts,
|
||||||
cinder_volume_drivers_drbdmanagedrv.drbd_opts,
|
cinder_volume_drivers_drbdmanagedrv.drbd_opts,
|
||||||
cinder_volume_drivers_emc_emcvmaxcommon.emc_opts,
|
|
||||||
cinder_volume_drivers_eqlx.eqlx_opts,
|
cinder_volume_drivers_eqlx.eqlx_opts,
|
||||||
cinder_volume_drivers_falconstor_fsscommon.FSS_OPTS,
|
cinder_volume_drivers_falconstor_fsscommon.FSS_OPTS,
|
||||||
cinder_volume_drivers_fujitsu_eternusdxcommon.
|
cinder_volume_drivers_fujitsu_eternusdxcommon.
|
||||||
|
File diff suppressed because it is too large
Load Diff
0
cinder/volume/drivers/dell_emc/vmax/__init__.py
Normal file
0
cinder/volume/drivers/dell_emc/vmax/__init__.py
Normal file
@ -27,12 +27,12 @@ from cinder import exception
|
|||||||
from cinder import utils as cinder_utils
|
from cinder import utils as cinder_utils
|
||||||
from cinder.i18n import _, _LE, _LI, _LW
|
from cinder.i18n import _, _LE, _LI, _LW
|
||||||
from cinder.objects import fields
|
from cinder.objects import fields
|
||||||
from cinder.volume.drivers.emc import emc_vmax_fast
|
from cinder.volume.drivers.dell_emc.vmax import fast
|
||||||
from cinder.volume.drivers.emc import emc_vmax_https
|
from cinder.volume.drivers.dell_emc.vmax import https
|
||||||
from cinder.volume.drivers.emc import emc_vmax_masking
|
from cinder.volume.drivers.dell_emc.vmax import masking
|
||||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||||
from cinder.volume.drivers.emc import emc_vmax_provision_v3
|
from cinder.volume.drivers.dell_emc.vmax import provision_v3
|
||||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||||
from cinder.volume import utils as volume_utils
|
from cinder.volume import utils as volume_utils
|
||||||
|
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ emc_opts = [
|
|||||||
CONF.register_opts(emc_opts)
|
CONF.register_opts(emc_opts)
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXCommon(object):
|
class VMAXCommon(object):
|
||||||
"""Common class for SMI-S based EMC volume drivers.
|
"""Common class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
This common class is for EMC volume drivers based on SMI-S.
|
This common class is for EMC volume drivers based on SMI-S.
|
||||||
@ -142,11 +142,11 @@ class EMCVMAXCommon(object):
|
|||||||
self.url = None
|
self.url = None
|
||||||
self.user = None
|
self.user = None
|
||||||
self.passwd = None
|
self.passwd = None
|
||||||
self.masking = emc_vmax_masking.EMCVMAXMasking(prtcl)
|
self.masking = masking.VMAXMasking(prtcl)
|
||||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
self.utils = utils.VMAXUtils(prtcl)
|
||||||
self.fast = emc_vmax_fast.EMCVMAXFast(prtcl)
|
self.fast = fast.VMAXFast(prtcl)
|
||||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
self.provision = provision.VMAXProvision(prtcl)
|
||||||
self.provisionv3 = emc_vmax_provision_v3.EMCVMAXProvisionV3(prtcl)
|
self.provisionv3 = provision_v3.VMAXProvisionV3(prtcl)
|
||||||
self.version = version
|
self.version = version
|
||||||
# replication
|
# replication
|
||||||
self.replication_enabled = False
|
self.replication_enabled = False
|
||||||
@ -1659,7 +1659,7 @@ class EMCVMAXCommon(object):
|
|||||||
"cert_file":
|
"cert_file":
|
||||||
self.configuration.safe_get(
|
self.configuration.safe_get(
|
||||||
'driver_client_cert')}
|
'driver_client_cert')}
|
||||||
pywbem.cim_http.wbem_request = emc_vmax_https.wbem_request
|
pywbem.cim_http.wbem_request = https.wbem_request
|
||||||
conn = pywbem.WBEMConnection(
|
conn = pywbem.WBEMConnection(
|
||||||
self.url,
|
self.url,
|
||||||
(self.user, self.passwd),
|
(self.user, self.passwd),
|
@ -17,8 +17,8 @@ from oslo_log import log as logging
|
|||||||
|
|
||||||
from cinder import exception
|
from cinder import exception
|
||||||
from cinder.i18n import _, _LE, _LI, _LW
|
from cinder.i18n import _, _LE, _LI, _LW
|
||||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ DEFAULT_SG_PREFIX = 'OS_default_'
|
|||||||
DEFAULT_SG_POSTFIX = '_SG'
|
DEFAULT_SG_POSTFIX = '_SG'
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXFast(object):
|
class VMAXFast(object):
|
||||||
"""FAST Class for SMI-S based EMC volume drivers.
|
"""FAST Class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
This FAST class is for EMC volume drivers based on SMI-S.
|
This FAST class is for EMC volume drivers based on SMI-S.
|
||||||
@ -34,8 +34,8 @@ class EMCVMAXFast(object):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, prtcl):
|
def __init__(self, prtcl):
|
||||||
self.protocol = prtcl
|
self.protocol = prtcl
|
||||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
self.utils = utils.VMAXUtils(prtcl)
|
||||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
self.provision = provision.VMAXProvision(prtcl)
|
||||||
|
|
||||||
def _check_if_fast_supported(self, conn, storageSystemInstanceName):
|
def _check_if_fast_supported(self, conn, storageSystemInstanceName):
|
||||||
"""Check to see if fast is supported on the array.
|
"""Check to see if fast is supported on the array.
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2015 EMC Corporation.
|
# Copyright (c) 2012 - 2015 EMC Corporation.
|
||||||
# All Rights Reserved.
|
# All Rights Reserved.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
@ -21,14 +21,14 @@ import six
|
|||||||
from cinder.i18n import _LW
|
from cinder.i18n import _LW
|
||||||
from cinder import interface
|
from cinder import interface
|
||||||
from cinder.volume import driver
|
from cinder.volume import driver
|
||||||
from cinder.volume.drivers.emc import emc_vmax_common
|
from cinder.volume.drivers.dell_emc.vmax import common
|
||||||
from cinder.zonemanager import utils as fczm_utils
|
from cinder.zonemanager import utils as fczm_utils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@interface.volumedriver
|
@interface.volumedriver
|
||||||
class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
class VMAXFCDriver(driver.FibreChannelDriver):
|
||||||
"""EMC FC Drivers for VMAX using SMI-S.
|
"""EMC FC Drivers for VMAX using SMI-S.
|
||||||
|
|
||||||
Version history:
|
Version history:
|
||||||
@ -76,6 +76,7 @@ class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
|||||||
(bp vmax-volume-migration)
|
(bp vmax-volume-migration)
|
||||||
- Support for compression on All Flash
|
- Support for compression on All Flash
|
||||||
- Volume replication 2.1 (bp add-vmax-replication)
|
- Volume replication 2.1 (bp add-vmax-replication)
|
||||||
|
- rename and restructure driver (bp vmax-rename-dell-emc)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -86,9 +87,9 @@ class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
|||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
||||||
super(EMCVMAXFCDriver, self).__init__(*args, **kwargs)
|
super(VMAXFCDriver, self).__init__(*args, **kwargs)
|
||||||
self.active_backend_id = kwargs.get('active_backend_id', None)
|
self.active_backend_id = kwargs.get('active_backend_id', None)
|
||||||
self.common = emc_vmax_common.EMCVMAXCommon(
|
self.common = common.VMAXCommon(
|
||||||
'FC',
|
'FC',
|
||||||
self.VERSION,
|
self.VERSION,
|
||||||
configuration=self.configuration,
|
configuration=self.configuration,
|
@ -23,7 +23,7 @@ from cinder import exception
|
|||||||
from cinder.i18n import _, _LE, _LI
|
from cinder.i18n import _, _LE, _LI
|
||||||
from cinder import interface
|
from cinder import interface
|
||||||
from cinder.volume import driver
|
from cinder.volume import driver
|
||||||
from cinder.volume.drivers.emc import emc_vmax_common
|
from cinder.volume.drivers.dell_emc.vmax import common
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -32,7 +32,7 @@ CINDER_CONF = '/etc/cinder/cinder.conf'
|
|||||||
|
|
||||||
|
|
||||||
@interface.volumedriver
|
@interface.volumedriver
|
||||||
class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
class VMAXISCSIDriver(driver.ISCSIDriver):
|
||||||
"""EMC ISCSI Drivers for VMAX using SMI-S.
|
"""EMC ISCSI Drivers for VMAX using SMI-S.
|
||||||
|
|
||||||
Version history:
|
Version history:
|
||||||
@ -82,6 +82,7 @@ class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
|||||||
(bp vmax-volume-migration)
|
(bp vmax-volume-migration)
|
||||||
- Support for compression on All Flash
|
- Support for compression on All Flash
|
||||||
- Volume replication 2.1 (bp add-vmax-replication)
|
- Volume replication 2.1 (bp add-vmax-replication)
|
||||||
|
- rename and restructure driver (bp vmax-rename-dell-emc)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -92,10 +93,10 @@ class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
|||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
||||||
super(EMCVMAXISCSIDriver, self).__init__(*args, **kwargs)
|
super(VMAXISCSIDriver, self).__init__(*args, **kwargs)
|
||||||
self.active_backend_id = kwargs.get('active_backend_id', None)
|
self.active_backend_id = kwargs.get('active_backend_id', None)
|
||||||
self.common = (
|
self.common = (
|
||||||
emc_vmax_common.EMCVMAXCommon(
|
common.VMAXCommon(
|
||||||
'iSCSI',
|
'iSCSI',
|
||||||
self.VERSION,
|
self.VERSION,
|
||||||
configuration=self.configuration,
|
configuration=self.configuration,
|
@ -19,10 +19,10 @@ import six
|
|||||||
|
|
||||||
from cinder import exception
|
from cinder import exception
|
||||||
from cinder.i18n import _, _LE, _LI, _LW
|
from cinder.i18n import _, _LE, _LI, _LW
|
||||||
from cinder.volume.drivers.emc import emc_vmax_fast
|
from cinder.volume.drivers.dell_emc.vmax import fast
|
||||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||||
from cinder.volume.drivers.emc import emc_vmax_provision_v3
|
from cinder.volume.drivers.dell_emc.vmax import provision_v3
|
||||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ FASTPOLICY = 'storagetype:fastpolicy'
|
|||||||
ISV3 = 'isV3'
|
ISV3 = 'isV3'
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXMasking(object):
|
class VMAXMasking(object):
|
||||||
"""Masking class for SMI-S based EMC volume drivers.
|
"""Masking class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
Masking code to dynamically create a masking view
|
Masking code to dynamically create a masking view
|
||||||
@ -47,10 +47,10 @@ class EMCVMAXMasking(object):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, prtcl):
|
def __init__(self, prtcl):
|
||||||
self.protocol = prtcl
|
self.protocol = prtcl
|
||||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
self.utils = utils.VMAXUtils(prtcl)
|
||||||
self.fast = emc_vmax_fast.EMCVMAXFast(prtcl)
|
self.fast = fast.VMAXFast(prtcl)
|
||||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
self.provision = provision.VMAXProvision(prtcl)
|
||||||
self.provisionv3 = emc_vmax_provision_v3.EMCVMAXProvisionV3(prtcl)
|
self.provisionv3 = provision_v3.VMAXProvisionV3(prtcl)
|
||||||
|
|
||||||
def setup_masking_view(self, conn, maskingViewDict, extraSpecs):
|
def setup_masking_view(self, conn, maskingViewDict, extraSpecs):
|
||||||
|
|
@ -20,7 +20,7 @@ import six
|
|||||||
|
|
||||||
from cinder import exception
|
from cinder import exception
|
||||||
from cinder.i18n import _
|
from cinder.i18n import _
|
||||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -36,7 +36,7 @@ COPY_ON_WRITE = 6
|
|||||||
TF_CLONE = 8
|
TF_CLONE = 8
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXProvision(object):
|
class VMAXProvision(object):
|
||||||
"""Provisioning Class for SMI-S based EMC volume drivers.
|
"""Provisioning Class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
This Provisioning class is for EMC volume drivers based on SMI-S.
|
This Provisioning class is for EMC volume drivers based on SMI-S.
|
||||||
@ -44,7 +44,7 @@ class EMCVMAXProvision(object):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, prtcl):
|
def __init__(self, prtcl):
|
||||||
self.protocol = prtcl
|
self.protocol = prtcl
|
||||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
self.utils = utils.VMAXUtils(prtcl)
|
||||||
|
|
||||||
def delete_volume_from_pool(
|
def delete_volume_from_pool(
|
||||||
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
@ -21,7 +21,7 @@ import six
|
|||||||
|
|
||||||
from cinder import exception
|
from cinder import exception
|
||||||
from cinder.i18n import _, _LE, _LW
|
from cinder.i18n import _, _LE, _LW
|
||||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ RDF_SYNCHRONIZED = 6
|
|||||||
RDF_FAILEDOVER = 12
|
RDF_FAILEDOVER = 12
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXProvisionV3(object):
|
class VMAXProvisionV3(object):
|
||||||
"""Provisioning Class for SMI-S based EMC volume drivers.
|
"""Provisioning Class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
This Provisioning class is for EMC volume drivers based on SMI-S.
|
This Provisioning class is for EMC volume drivers based on SMI-S.
|
||||||
@ -51,7 +51,7 @@ class EMCVMAXProvisionV3(object):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, prtcl):
|
def __init__(self, prtcl):
|
||||||
self.protocol = prtcl
|
self.protocol = prtcl
|
||||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
self.utils = utils.VMAXUtils(prtcl)
|
||||||
|
|
||||||
def delete_volume_from_pool(
|
def delete_volume_from_pool(
|
||||||
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
@ -70,7 +70,7 @@ IS_RE = 'replication_enabled'
|
|||||||
REPLICATION_FAILOVER = fields.ReplicationStatus.FAILED_OVER
|
REPLICATION_FAILOVER = fields.ReplicationStatus.FAILED_OVER
|
||||||
|
|
||||||
|
|
||||||
class EMCVMAXUtils(object):
|
class VMAXUtils(object):
|
||||||
"""Utility class for SMI-S based EMC volume drivers.
|
"""Utility class for SMI-S based EMC volume drivers.
|
||||||
|
|
||||||
This Utility class is for EMC volume drivers based on SMI-S.
|
This Utility class is for EMC volume drivers based on SMI-S.
|
||||||
@ -2048,9 +2048,9 @@ class EMCVMAXUtils(object):
|
|||||||
portGroupName = portGroupElement.childNodes[0].nodeValue
|
portGroupName = portGroupElement.childNodes[0].nodeValue
|
||||||
if portGroupName:
|
if portGroupName:
|
||||||
portGroupNames.append(portGroupName.strip())
|
portGroupNames.append(portGroupName.strip())
|
||||||
portGroupNames = EMCVMAXUtils._filter_list(portGroupNames)
|
portGroupNames = VMAXUtils._filter_list(portGroupNames)
|
||||||
if len(portGroupNames) > 0:
|
if len(portGroupNames) > 0:
|
||||||
return EMCVMAXUtils.get_random_pg_from_list(portGroupNames)
|
return VMAXUtils.get_random_pg_from_list(portGroupNames)
|
||||||
|
|
||||||
exception_message = (_("No Port Group elements found in config file."))
|
exception_message = (_("No Port Group elements found in config file."))
|
||||||
LOG.error(exception_message)
|
LOG.error(exception_message)
|
@ -165,6 +165,10 @@ MAPPING = {
|
|||||||
'cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver',
|
'cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver',
|
||||||
'cinder.volume.drivers.datera.DateraDriver':
|
'cinder.volume.drivers.datera.DateraDriver':
|
||||||
'cinder.volume.drivers.datera.datera_iscsi.DateraDriver',
|
'cinder.volume.drivers.datera.datera_iscsi.DateraDriver',
|
||||||
|
'cinder.volume.drivers.emc.emc_vmax_iscsi.EMCVMAXISCSIDriver':
|
||||||
|
'cinder.volume.drivers.dell_emc.vmax.iscsi.VMAXISCSIDriver',
|
||||||
|
'cinder.volume.drivers.emc.emc_vmax_fc.EMCVMAXFCDriver':
|
||||||
|
'cinder.volume.drivers.dell_emc.vmax.fc.VMAXFCDriver',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- The VMAX driver is moved to the dell_emc directory.
|
||||||
|
volume_driver entry in cinder.conf needs to be changed to
|
||||||
|
cinder.volume.drivers.dell_emc.vmax.iscsi.VMAXISCSIDriver or
|
||||||
|
cinder.volume.drivers.dell_emc.vmax.fc.VMAXFCDriver.
|
Loading…
x
Reference in New Issue
Block a user