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
|
||||
from cinder.volume.drivers.dell_emc.unity import driver as \
|
||||
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 \
|
||||
cinder_volume_drivers_dell_emc_vnx_common
|
||||
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
|
||||
from cinder.volume.drivers import drbdmanagedrv as \
|
||||
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.falconstor import fss_common as \
|
||||
cinder_volume_drivers_falconstor_fsscommon
|
||||
@ -275,13 +275,13 @@ def list_opts():
|
||||
common_opts,
|
||||
cinder_volume_drivers_dell_emc_scaleio_driver.scaleio_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_xtremio.XTREMIO_OPTS,
|
||||
cinder_volume_drivers_disco_disco.disco_opts,
|
||||
cinder_volume_drivers_dothill_dothillcommon.common_opts,
|
||||
cinder_volume_drivers_dothill_dothillcommon.iscsi_opts,
|
||||
cinder_volume_drivers_drbdmanagedrv.drbd_opts,
|
||||
cinder_volume_drivers_emc_emcvmaxcommon.emc_opts,
|
||||
cinder_volume_drivers_eqlx.eqlx_opts,
|
||||
cinder_volume_drivers_falconstor_fsscommon.FSS_OPTS,
|
||||
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.i18n import _, _LE, _LI, _LW
|
||||
from cinder.objects import fields
|
||||
from cinder.volume.drivers.emc import emc_vmax_fast
|
||||
from cinder.volume.drivers.emc import emc_vmax_https
|
||||
from cinder.volume.drivers.emc import emc_vmax_masking
|
||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
||||
from cinder.volume.drivers.emc import emc_vmax_provision_v3
|
||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
||||
from cinder.volume.drivers.dell_emc.vmax import fast
|
||||
from cinder.volume.drivers.dell_emc.vmax import https
|
||||
from cinder.volume.drivers.dell_emc.vmax import masking
|
||||
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||
from cinder.volume.drivers.dell_emc.vmax import provision_v3
|
||||
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||
from cinder.volume import utils as volume_utils
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ emc_opts = [
|
||||
CONF.register_opts(emc_opts)
|
||||
|
||||
|
||||
class EMCVMAXCommon(object):
|
||||
class VMAXCommon(object):
|
||||
"""Common class for SMI-S based EMC volume drivers.
|
||||
|
||||
This common class is for EMC volume drivers based on SMI-S.
|
||||
@ -142,11 +142,11 @@ class EMCVMAXCommon(object):
|
||||
self.url = None
|
||||
self.user = None
|
||||
self.passwd = None
|
||||
self.masking = emc_vmax_masking.EMCVMAXMasking(prtcl)
|
||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
||||
self.fast = emc_vmax_fast.EMCVMAXFast(prtcl)
|
||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
||||
self.provisionv3 = emc_vmax_provision_v3.EMCVMAXProvisionV3(prtcl)
|
||||
self.masking = masking.VMAXMasking(prtcl)
|
||||
self.utils = utils.VMAXUtils(prtcl)
|
||||
self.fast = fast.VMAXFast(prtcl)
|
||||
self.provision = provision.VMAXProvision(prtcl)
|
||||
self.provisionv3 = provision_v3.VMAXProvisionV3(prtcl)
|
||||
self.version = version
|
||||
# replication
|
||||
self.replication_enabled = False
|
||||
@ -1659,7 +1659,7 @@ class EMCVMAXCommon(object):
|
||||
"cert_file":
|
||||
self.configuration.safe_get(
|
||||
'driver_client_cert')}
|
||||
pywbem.cim_http.wbem_request = emc_vmax_https.wbem_request
|
||||
pywbem.cim_http.wbem_request = https.wbem_request
|
||||
conn = pywbem.WBEMConnection(
|
||||
self.url,
|
||||
(self.user, self.passwd),
|
@ -17,8 +17,8 @@ from oslo_log import log as logging
|
||||
|
||||
from cinder import exception
|
||||
from cinder.i18n import _, _LE, _LI, _LW
|
||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
||||
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@ -26,7 +26,7 @@ DEFAULT_SG_PREFIX = 'OS_default_'
|
||||
DEFAULT_SG_POSTFIX = '_SG'
|
||||
|
||||
|
||||
class EMCVMAXFast(object):
|
||||
class VMAXFast(object):
|
||||
"""FAST Class for SMI-S based EMC volume drivers.
|
||||
|
||||
This FAST class is for EMC volume drivers based on SMI-S.
|
||||
@ -34,8 +34,8 @@ class EMCVMAXFast(object):
|
||||
"""
|
||||
def __init__(self, prtcl):
|
||||
self.protocol = prtcl
|
||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
||||
self.utils = utils.VMAXUtils(prtcl)
|
||||
self.provision = provision.VMAXProvision(prtcl)
|
||||
|
||||
def _check_if_fast_supported(self, conn, storageSystemInstanceName):
|
||||
"""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.
|
||||
#
|
||||
# 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 import interface
|
||||
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
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@interface.volumedriver
|
||||
class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
||||
class VMAXFCDriver(driver.FibreChannelDriver):
|
||||
"""EMC FC Drivers for VMAX using SMI-S.
|
||||
|
||||
Version history:
|
||||
@ -76,6 +76,7 @@ class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
||||
(bp vmax-volume-migration)
|
||||
- Support for compression on All Flash
|
||||
- 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):
|
||||
|
||||
super(EMCVMAXFCDriver, self).__init__(*args, **kwargs)
|
||||
super(VMAXFCDriver, self).__init__(*args, **kwargs)
|
||||
self.active_backend_id = kwargs.get('active_backend_id', None)
|
||||
self.common = emc_vmax_common.EMCVMAXCommon(
|
||||
self.common = common.VMAXCommon(
|
||||
'FC',
|
||||
self.VERSION,
|
||||
configuration=self.configuration,
|
@ -23,7 +23,7 @@ from cinder import exception
|
||||
from cinder.i18n import _, _LE, _LI
|
||||
from cinder import interface
|
||||
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__)
|
||||
@ -32,7 +32,7 @@ CINDER_CONF = '/etc/cinder/cinder.conf'
|
||||
|
||||
|
||||
@interface.volumedriver
|
||||
class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
||||
class VMAXISCSIDriver(driver.ISCSIDriver):
|
||||
"""EMC ISCSI Drivers for VMAX using SMI-S.
|
||||
|
||||
Version history:
|
||||
@ -82,6 +82,7 @@ class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
||||
(bp vmax-volume-migration)
|
||||
- Support for compression on All Flash
|
||||
- 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):
|
||||
|
||||
super(EMCVMAXISCSIDriver, self).__init__(*args, **kwargs)
|
||||
super(VMAXISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.active_backend_id = kwargs.get('active_backend_id', None)
|
||||
self.common = (
|
||||
emc_vmax_common.EMCVMAXCommon(
|
||||
common.VMAXCommon(
|
||||
'iSCSI',
|
||||
self.VERSION,
|
||||
configuration=self.configuration,
|
@ -19,10 +19,10 @@ import six
|
||||
|
||||
from cinder import exception
|
||||
from cinder.i18n import _, _LE, _LI, _LW
|
||||
from cinder.volume.drivers.emc import emc_vmax_fast
|
||||
from cinder.volume.drivers.emc import emc_vmax_provision
|
||||
from cinder.volume.drivers.emc import emc_vmax_provision_v3
|
||||
from cinder.volume.drivers.emc import emc_vmax_utils
|
||||
from cinder.volume.drivers.dell_emc.vmax import fast
|
||||
from cinder.volume.drivers.dell_emc.vmax import provision
|
||||
from cinder.volume.drivers.dell_emc.vmax import provision_v3
|
||||
from cinder.volume.drivers.dell_emc.vmax import utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
@ -38,7 +38,7 @@ FASTPOLICY = 'storagetype:fastpolicy'
|
||||
ISV3 = 'isV3'
|
||||
|
||||
|
||||
class EMCVMAXMasking(object):
|
||||
class VMAXMasking(object):
|
||||
"""Masking class for SMI-S based EMC volume drivers.
|
||||
|
||||
Masking code to dynamically create a masking view
|
||||
@ -47,10 +47,10 @@ class EMCVMAXMasking(object):
|
||||
"""
|
||||
def __init__(self, prtcl):
|
||||
self.protocol = prtcl
|
||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
||||
self.fast = emc_vmax_fast.EMCVMAXFast(prtcl)
|
||||
self.provision = emc_vmax_provision.EMCVMAXProvision(prtcl)
|
||||
self.provisionv3 = emc_vmax_provision_v3.EMCVMAXProvisionV3(prtcl)
|
||||
self.utils = utils.VMAXUtils(prtcl)
|
||||
self.fast = fast.VMAXFast(prtcl)
|
||||
self.provision = provision.VMAXProvision(prtcl)
|
||||
self.provisionv3 = provision_v3.VMAXProvisionV3(prtcl)
|
||||
|
||||
def setup_masking_view(self, conn, maskingViewDict, extraSpecs):
|
||||
|
@ -20,7 +20,7 @@ import six
|
||||
|
||||
from cinder import exception
|
||||
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__)
|
||||
@ -36,7 +36,7 @@ COPY_ON_WRITE = 6
|
||||
TF_CLONE = 8
|
||||
|
||||
|
||||
class EMCVMAXProvision(object):
|
||||
class VMAXProvision(object):
|
||||
"""Provisioning Class for SMI-S based EMC volume drivers.
|
||||
|
||||
This Provisioning class is for EMC volume drivers based on SMI-S.
|
||||
@ -44,7 +44,7 @@ class EMCVMAXProvision(object):
|
||||
"""
|
||||
def __init__(self, prtcl):
|
||||
self.protocol = prtcl
|
||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
||||
self.utils = utils.VMAXUtils(prtcl)
|
||||
|
||||
def delete_volume_from_pool(
|
||||
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
@ -21,7 +21,7 @@ import six
|
||||
|
||||
from cinder import exception
|
||||
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__)
|
||||
|
||||
@ -43,7 +43,7 @@ RDF_SYNCHRONIZED = 6
|
||||
RDF_FAILEDOVER = 12
|
||||
|
||||
|
||||
class EMCVMAXProvisionV3(object):
|
||||
class VMAXProvisionV3(object):
|
||||
"""Provisioning Class for SMI-S based EMC volume drivers.
|
||||
|
||||
This Provisioning class is for EMC volume drivers based on SMI-S.
|
||||
@ -51,7 +51,7 @@ class EMCVMAXProvisionV3(object):
|
||||
"""
|
||||
def __init__(self, prtcl):
|
||||
self.protocol = prtcl
|
||||
self.utils = emc_vmax_utils.EMCVMAXUtils(prtcl)
|
||||
self.utils = utils.VMAXUtils(prtcl)
|
||||
|
||||
def delete_volume_from_pool(
|
||||
self, conn, storageConfigservice, volumeInstanceName, volumeName,
|
@ -70,7 +70,7 @@ IS_RE = 'replication_enabled'
|
||||
REPLICATION_FAILOVER = fields.ReplicationStatus.FAILED_OVER
|
||||
|
||||
|
||||
class EMCVMAXUtils(object):
|
||||
class VMAXUtils(object):
|
||||
"""Utility class for SMI-S based EMC volume drivers.
|
||||
|
||||
This Utility class is for EMC volume drivers based on SMI-S.
|
||||
@ -2048,9 +2048,9 @@ class EMCVMAXUtils(object):
|
||||
portGroupName = portGroupElement.childNodes[0].nodeValue
|
||||
if portGroupName:
|
||||
portGroupNames.append(portGroupName.strip())
|
||||
portGroupNames = EMCVMAXUtils._filter_list(portGroupNames)
|
||||
portGroupNames = VMAXUtils._filter_list(portGroupNames)
|
||||
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."))
|
||||
LOG.error(exception_message)
|
@ -165,6 +165,10 @@ MAPPING = {
|
||||
'cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver',
|
||||
'cinder.volume.drivers.datera.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