CI: Add CI_WIKI_NAME to all drivers
This patch adds a CI_WIKI_NAME to each driver object. The value is the exact name of the ThirdPartySystems wiki page. This allows us to create an automated tool to associated jobs to drivers and track their CI reporting status correctly. This patch also updates the generate_driver_list.py script to output the driver list as a python list of dicts that can be directly consumed. Change-Id: I0ec5f705e91f680a731648cf50738ea219565f70
This commit is contained in:
parent
4559058147
commit
1a5de5d4bd
@ -67,6 +67,7 @@ class DriverInfo(object):
|
||||
self.class_fqn = '{}.{}'.format(inspect.getmodule(cls).__name__,
|
||||
self.class_name)
|
||||
self.version = getattr(cls, 'VERSION', None)
|
||||
self.ci_wiki_name = getattr(cls, 'CI_WIKI_NAME', None)
|
||||
|
||||
def __str__(self):
|
||||
return self.class_name
|
||||
|
@ -48,6 +48,9 @@ class BlockDeviceDriver(driver.BaseVD, driver.LocalVD,
|
||||
driver.CloneableImageVD, driver.TransferVD):
|
||||
VERSION = '2.3.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BlockDeviceDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(volume_opts)
|
||||
|
@ -175,6 +175,9 @@ class BlockbridgeISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = '1.3.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Blockbridge_EPS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BlockbridgeISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
||||
|
@ -48,6 +48,7 @@ class CloudByteISCSIDriver(san.SanISCSIDriver):
|
||||
"""
|
||||
|
||||
VERSION = '1.2.0'
|
||||
CI_WIKI_NAME = "CloudByte_CI"
|
||||
volume_stats = {}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
@ -327,6 +327,9 @@ class CohoDriver(nfs.NfsDriver):
|
||||
|
||||
COHO_QOS_KEYS = ['maxIOPS', 'maxMBS']
|
||||
|
||||
# ThirdPartySystems wiki page name
|
||||
CI_WIKI_NAME = "Coho_Data_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CohoDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(coho_opts)
|
||||
|
@ -33,6 +33,9 @@ class EMCCoprHDFCDriver(driver.FibreChannelDriver):
|
||||
"""CoprHD FC Driver."""
|
||||
VERSION = "3.0.0.0"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "EMC_CoprHD_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EMCCoprHDFCDriver, self).__init__(*args, **kwargs)
|
||||
self.common = self._get_common_driver()
|
||||
|
@ -31,6 +31,9 @@ class EMCCoprHDISCSIDriver(driver.ISCSIDriver):
|
||||
"""CoprHD iSCSI Driver."""
|
||||
VERSION = "3.0.0.0"
|
||||
|
||||
# ThirdPartySystems wiki page name
|
||||
CI_WIKI_NAME = "EMC_CoprHD_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EMCCoprHDISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.common = self._get_common_driver()
|
||||
|
@ -64,6 +64,9 @@ class EMCCoprHDScaleIODriver(driver.VolumeDriver):
|
||||
VERSION = "3.0.0.0"
|
||||
server_token = None
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "EMC_CoprHD_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EMCCoprHDScaleIODriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(scaleio_opts)
|
||||
|
@ -126,6 +126,8 @@ class DateraDriver(san.SanISCSIDriver):
|
||||
"""
|
||||
VERSION = '2.1'
|
||||
|
||||
CI_WIKI_NAME = "datera-ci"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DateraDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(d_opts)
|
||||
|
@ -60,6 +60,8 @@ class DellStorageCenterFCDriver(dell_storagecenter_common.DellCommonDriver,
|
||||
|
||||
VERSION = '3.2.0'
|
||||
|
||||
CI_WIKI_NAME = "Dell_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DellStorageCenterFCDriver, self).__init__(*args, **kwargs)
|
||||
self.backend_name =\
|
||||
|
@ -58,6 +58,7 @@ class DellStorageCenterISCSIDriver(dell_storagecenter_common.DellCommonDriver,
|
||||
"""
|
||||
|
||||
VERSION = '3.2.0'
|
||||
CI_WIKI_NAME = "Dell_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DellStorageCenterISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -88,6 +88,7 @@ class DiscoDriver(driver.VolumeDriver):
|
||||
"""Execute commands related to DISCO Volumes."""
|
||||
|
||||
VERSION = "1.0"
|
||||
CI_WIKI_NAME = "ITRI_DISCO_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""Init Disco driver : get configuration, create client."""
|
||||
|
@ -41,6 +41,9 @@ class DotHillFCDriver(cinder.volume.driver.FibreChannelDriver):
|
||||
|
||||
VERSION = "1.0"
|
||||
|
||||
# ThirdPartySystems CI wiki
|
||||
CI_WIKI_NAME = "Vedams_DotHillDriver_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DotHillFCDriver, self).__init__(*args, **kwargs)
|
||||
self.common = None
|
||||
|
@ -50,6 +50,9 @@ class DotHillISCSIDriver(cinder.volume.driver.ISCSIDriver):
|
||||
|
||||
VERSION = "1.0"
|
||||
|
||||
# ThirdPartySystems CI wiki
|
||||
CI_WIKI_NAME = "Vedams_DotHillDriver_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DotHillISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.common = None
|
||||
|
@ -130,6 +130,9 @@ class DrbdManageBaseDriver(driver.VolumeDriver):
|
||||
drbdmanage_dbus_name = 'org.drbd.drbdmanaged'
|
||||
drbdmanage_dbus_interface = '/interface'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.empty_list = dbus.Array([], signature="a(s)")
|
||||
self.empty_dict = dbus.Array([], signature="a(ss)")
|
||||
|
@ -74,6 +74,9 @@ class EMCVMAXFCDriver(driver.FibreChannelDriver):
|
||||
|
||||
VERSION = "2.4.0"
|
||||
|
||||
# ThirdPartySystems wiki
|
||||
CI_WIKI_NAME = "EMC_VMAX_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
super(EMCVMAXFCDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -80,6 +80,9 @@ class EMCVMAXISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = "2.4.0"
|
||||
|
||||
# ThirdPartySystems wiki
|
||||
CI_WIKI_NAME = "EMC_VMAX_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
super(EMCVMAXISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -100,6 +100,10 @@ class ScaleIODriver(driver.VolumeDriver):
|
||||
"""EMC ScaleIO Driver."""
|
||||
|
||||
VERSION = "2.0"
|
||||
|
||||
# ThirdPartySystems wiki
|
||||
CI_WIKI_NAME = "EMC_ScaleIO_CI"
|
||||
|
||||
scaleio_qos_keys = (QOS_IOPS_LIMIT_KEY, QOS_BANDWIDTH_LIMIT,
|
||||
QOS_IOPS_PER_GB, QOS_BANDWIDTH_PER_GB)
|
||||
|
||||
|
@ -77,6 +77,8 @@ class EMCVNXDriver(driver.TransferVD,
|
||||
|
||||
VERSION = '08.00.00'
|
||||
VENDOR = 'EMC'
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "EMC_VNX_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(EMCVNXDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -361,6 +361,10 @@ class XtremIOVolumeDriver(san.SanDriver):
|
||||
"""Executes commands relating to Volumes."""
|
||||
|
||||
VERSION = '1.0.7'
|
||||
|
||||
# ThirdPartySystems wiki
|
||||
CI_WIKI_NAME = "EMC_XIO_CI"
|
||||
|
||||
driver_name = 'XtremIO'
|
||||
MIN_XMS_VERSION = [3, 0, 0]
|
||||
|
||||
|
@ -162,6 +162,9 @@ class DellEQLSanISCSIDriver(san.SanISCSIDriver):
|
||||
|
||||
VERSION = "1.3.0"
|
||||
|
||||
# ThirdPartySytems wiki page
|
||||
CI_WIKI_NAME = "Dell_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DellEQLSanISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(eqlx_opts)
|
||||
|
@ -44,6 +44,9 @@ class FSSFCDriver(fss_common.FalconstorBaseDriver,
|
||||
|
||||
VERSION = '1.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "FalconStor_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FSSFCDriver, self).__init__(*args, **kwargs)
|
||||
self.gateway_fc_wwns = []
|
||||
|
@ -51,6 +51,9 @@ class FSSISCSIDriver(fss_common.FalconstorBaseDriver,
|
||||
|
||||
VERSION = '3.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "FalconStor_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FSSISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self._storage_protocol = "iSCSI"
|
||||
|
@ -34,6 +34,9 @@ LOG = logging.getLogger(__name__)
|
||||
class FJDXFCDriver(driver.FibreChannelDriver):
|
||||
"""FC Cinder Volume Driver for Fujitsu ETERNUS DX S3 series."""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Fujitsu_ETERNUS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
super(FJDXFCDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -34,6 +34,9 @@ LOG = logging.getLogger(__name__)
|
||||
class FJDXISCSIDriver(driver.ISCSIDriver):
|
||||
"""iSCSI Cinder Volume Driver for Fujitsu ETERNUS DX S3 series."""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Fujitsu_ETERNUS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
super(FJDXISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -69,6 +69,9 @@ class DSWAREDriver(driver.VolumeDriver):
|
||||
"""Huawei FusionStorage Driver."""
|
||||
VERSION = '1.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Huawei_volume_CI"
|
||||
|
||||
DSWARE_VOLUME_CREATE_SUCCESS_STATUS = 0
|
||||
DSWARE_VOLUME_DUPLICATE_VOLUME = 6
|
||||
DSWARE_VOLUME_CREATING_STATUS = 7
|
||||
|
@ -66,6 +66,9 @@ class GlusterfsDriver(remotefs_drv.RemoteFSSnapDriverDistributed,
|
||||
volume_backend_name = 'GlusterFS'
|
||||
VERSION = '1.3.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, execute=processutils.execute, *args, **kwargs):
|
||||
self._remotefsclient = None
|
||||
super(GlusterfsDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -85,6 +85,10 @@ class HGSTDriver(driver.VolumeDriver):
|
||||
"""
|
||||
|
||||
VERSION = '1.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "HGST_Solutions_CI"
|
||||
|
||||
VGCCLUSTER = 'vgc-cluster'
|
||||
SPACEGB = units.G - 16 * units.M # Workaround for shrinkage Bug 28320
|
||||
BLOCKED = "BLOCKED" # Exit code when a command is blocked
|
||||
|
@ -49,6 +49,9 @@ CONF.register_opts(volume_opts)
|
||||
class HBSDFCDriver(cinder.volume.driver.FibreChannelDriver):
|
||||
VERSION = common.VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = ["Hitachi_HBSD_CI", "Hitachi_HBSD2_CI"]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
os.environ['LANG'] = 'C'
|
||||
super(HBSDFCDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -57,6 +57,9 @@ CONF.register_opts(volume_opts)
|
||||
class HBSDISCSIDriver(cinder.volume.driver.ISCSIDriver):
|
||||
VERSION = common.VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = ["Hitachi_HBSD_CI", "Hitachi_HBSD2_CI"]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
os.environ['LANG'] = 'C'
|
||||
super(HBSDISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -77,6 +77,9 @@ class HNASISCSIDriver(driver.ISCSIDriver):
|
||||
Changed the class name to HNASISCSIDriver
|
||||
"""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Hitachi_HNAS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""Initializes and reads different config parameters."""
|
||||
self.configuration = kwargs.get('configuration', None)
|
||||
|
@ -75,6 +75,8 @@ class HNASNFSDriver(nfs.NfsDriver):
|
||||
Updated to use versioned objects
|
||||
Changed the class name to HNASNFSDriver
|
||||
"""
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Hitachi_HNAS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self._execute = None
|
||||
|
@ -116,6 +116,9 @@ class HPE3PARFCDriver(driver.TransferVD,
|
||||
|
||||
VERSION = "3.0.9"
|
||||
|
||||
# The name of the CI wiki page.
|
||||
CI_WIKI_NAME = "HPE_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(HPE3PARFCDriver, self).__init__(*args, **kwargs)
|
||||
self._active_backend_id = kwargs.get('active_backend_id', None)
|
||||
|
@ -122,6 +122,9 @@ class HPE3PARISCSIDriver(driver.TransferVD,
|
||||
|
||||
VERSION = "3.0.11"
|
||||
|
||||
# The name of the CI wiki page.
|
||||
CI_WIKI_NAME = "HPE_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(HPE3PARISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self._active_backend_id = kwargs.get('active_backend_id', None)
|
||||
|
@ -162,6 +162,8 @@ class HPELeftHandISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = "2.0.9"
|
||||
|
||||
CI_WIKI_NAME = "HPE_Storage_CI"
|
||||
|
||||
device_stats = {}
|
||||
|
||||
# v2 replication constants
|
||||
|
@ -31,6 +31,9 @@ _DRIVER_CLASS = 'hpe_xp_horcm_fc.HPEXPHORCMFC'
|
||||
class HPEXPFCDriver(driver.FibreChannelDriver):
|
||||
"""OpenStack Fibre Channel driver to enable HPE XP storage."""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "XP_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""Initialize the driver."""
|
||||
super(HPEXPFCDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -80,6 +80,9 @@ Volume = collections.namedtuple('Volume', vol_attrs)
|
||||
|
||||
class HuaweiBaseDriver(driver.VolumeDriver):
|
||||
|
||||
# ThirdPartySytems wiki page
|
||||
CI_WIKI_NAME = "Huawei_volume_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(HuaweiBaseDriver, self).__init__(*args, **kwargs)
|
||||
|
||||
|
@ -83,6 +83,9 @@ class FlashSystemFCDriver(fscommon.FlashSystemDriver):
|
||||
|
||||
VERSION = "1.0.11"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_FlashSystem_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FlashSystemFCDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(fscommon.flashsystem_opts)
|
||||
|
@ -81,6 +81,9 @@ class FlashSystemISCSIDriver(fscommon.FlashSystemDriver):
|
||||
|
||||
VERSION = "1.0.11"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_FlashSystem_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FlashSystemISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(fscommon.flashsystem_opts)
|
||||
|
@ -124,6 +124,9 @@ class GPFSDriver(driver.ConsistencyGroupVD, driver.ExtendVD,
|
||||
|
||||
VERSION = "1.3.1"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_GPFS_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(GPFSDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(gpfs_opts)
|
||||
|
@ -74,6 +74,9 @@ class IBMStorageDriver(san.SanDriver,
|
||||
systems.
|
||||
"""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_XIV-DS8K_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""Initialize the driver."""
|
||||
|
||||
|
@ -92,6 +92,9 @@ class StorwizeSVCFCDriver(storwize_common.StorwizeSVCCommonDriver):
|
||||
|
||||
VERSION = "2.1.1"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_STORWIZE_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(StorwizeSVCFCDriver, self).__init__(*args, **kwargs)
|
||||
self.protocol = 'FC'
|
||||
|
@ -92,6 +92,9 @@ class StorwizeSVCISCSIDriver(storwize_common.StorwizeSVCCommonDriver):
|
||||
|
||||
VERSION = "2.1.1"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "IBM_STORWIZE_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(StorwizeSVCISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.protocol = 'iSCSI'
|
||||
|
@ -37,6 +37,9 @@ class InfortrendCLIFCDriver(driver.FibreChannelDriver):
|
||||
1.0.1 - Support DS4000
|
||||
"""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Infortrend_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(InfortrendCLIFCDriver, self).__init__(*args, **kwargs)
|
||||
self.common = common_cli.InfortrendCommon(
|
||||
|
@ -35,6 +35,9 @@ class InfortrendCLIISCSIDriver(driver.ISCSIDriver):
|
||||
1.0.1 - Support DS4000
|
||||
"""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Infortrend_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(InfortrendCLIISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.common = common_cli.InfortrendCommon(
|
||||
|
@ -39,6 +39,9 @@ class KaminarioFCDriver(common.KaminarioCinderDriver):
|
||||
|
||||
VERSION = '1.3'
|
||||
|
||||
# ThirdPartySystems wiki page name
|
||||
CI_WIKI_NAME = "Kaminario_K2_CI"
|
||||
|
||||
@kaminario_logger
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(KaminarioFCDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -41,6 +41,9 @@ class KaminarioISCSIDriver(common.KaminarioCinderDriver):
|
||||
|
||||
VERSION = '1.3'
|
||||
|
||||
# ThirdPartySystems wiki page name
|
||||
CI_WIKI_NAME = "Kaminario_K2_CI"
|
||||
|
||||
@kaminario_logger
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(KaminarioISCSIDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -30,6 +30,9 @@ class LenovoFCDriver(dothill_fc.DotHillFCDriver):
|
||||
|
||||
VERSION = "1.0"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Vedams-LenovoStorage_FCISCSI_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LenovoFCDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(lenovo_common.common_opts)
|
||||
|
@ -30,6 +30,9 @@ class LenovoISCSIDriver(dothill_iscsi.DotHillISCSIDriver):
|
||||
|
||||
VERSION = "1.0"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Vedams-LenovoStorage_FCISCSI_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LenovoISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(lenovo_common.common_opts)
|
||||
|
@ -82,6 +82,9 @@ class LVMVolumeDriver(driver.VolumeDriver):
|
||||
|
||||
VERSION = '3.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, vg_obj=None, *args, **kwargs):
|
||||
# Parent sets db, host, _execute and base config
|
||||
super(LVMVolumeDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -33,6 +33,9 @@ class NetApp7modeFibreChannelDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_FibreChannel_7mode_direct'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetApp7modeFibreChannelDriver, self).__init__(*args, **kwargs)
|
||||
self.library = block_7mode.NetAppBlockStorage7modeLibrary(
|
||||
|
@ -33,6 +33,9 @@ class NetAppCmodeFibreChannelDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_FibreChannel_Cluster_direct'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetAppCmodeFibreChannelDriver, self).__init__(*args, **kwargs)
|
||||
self.library = block_cmode.NetAppBlockStorageCmodeLibrary(
|
||||
|
@ -32,6 +32,9 @@ class NetApp7modeISCSIDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_iSCSI_7mode_direct'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetApp7modeISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.library = block_7mode.NetAppBlockStorage7modeLibrary(
|
||||
|
@ -32,6 +32,9 @@ class NetAppCmodeISCSIDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_iSCSI_Cluster_direct'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetAppCmodeISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.library = block_cmode.NetAppBlockStorageCmodeLibrary(
|
||||
|
@ -45,6 +45,9 @@ LOG = logging.getLogger(__name__)
|
||||
class NetApp7modeNfsDriver(nfs_base.NetAppNfsDriver):
|
||||
"""NetApp NFS driver for Data ONTAP (7-mode)."""
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetApp7modeNfsDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(na_opts.netapp_7mode_opts)
|
||||
|
@ -60,6 +60,10 @@ class NetAppNfsDriver(driver.ManageableVD,
|
||||
|
||||
# do not increment this as it may be used in volume type definitions
|
||||
VERSION = "1.0.0"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
REQUIRED_FLAGS = ['netapp_login', 'netapp_password',
|
||||
'netapp_server_hostname']
|
||||
DEFAULT_FILTER_FUNCTION = 'capabilities.utilization < 70'
|
||||
|
@ -34,6 +34,9 @@ class NetAppEseriesFibreChannelDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_FibreChannel_ESeries'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetAppEseriesFibreChannelDriver, self).__init__(*args, **kwargs)
|
||||
na_utils.validate_instantiation(**kwargs)
|
||||
|
@ -35,6 +35,9 @@ class NetAppEseriesISCSIDriver(driver.BaseVD,
|
||||
|
||||
DRIVER_NAME = 'NetApp_iSCSI_ESeries'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "NetApp_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NetAppEseriesISCSIDriver, self).__init__(*args, **kwargs)
|
||||
na_utils.validate_instantiation(**kwargs)
|
||||
|
@ -56,6 +56,9 @@ class NexentaISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NexentaISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.nms = None
|
||||
|
@ -43,6 +43,9 @@ class NexentaEdgeISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = '1.0.2'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_Edge_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NexentaEdgeISCSIDriver, self).__init__(*args, **kwargs)
|
||||
if self.configuration:
|
||||
|
@ -46,6 +46,9 @@ class NexentaEdgeNBDDriver(driver.VolumeDriver):
|
||||
|
||||
VERSION = '1.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_Edge_CI"
|
||||
|
||||
def __init__(self, vg_obj=None, *args, **kwargs):
|
||||
LOG.debug('NexentaEdgeNBDDriver. Trying to initialize.')
|
||||
super(NexentaEdgeNBDDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -60,6 +60,9 @@ class NexentaNfsDriver(nfs.NfsDriver): # pylint: disable=R0921
|
||||
VERSION = VERSION
|
||||
VOLUME_FILE_NAME = 'volume'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NexentaNfsDriver, self).__init__(*args, **kwargs)
|
||||
if self.configuration:
|
||||
|
@ -40,6 +40,9 @@ class NexentaISCSIDriver(driver.ISCSIDriver): # pylint: disable=R0921
|
||||
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NexentaISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.nef = None
|
||||
|
@ -44,6 +44,9 @@ class NexentaNfsDriver(nfs.NfsDriver): # pylint: disable=R0921
|
||||
volume_backend_name = 'NexentaNfsDriver'
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nexenta_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NexentaNfsDriver, self).__init__(*args, **kwargs)
|
||||
if self.configuration:
|
||||
|
@ -76,6 +76,9 @@ class NfsDriver(driver.ExtendVD, remotefs.RemoteFSDriver):
|
||||
volume_backend_name = 'Generic_NFS'
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, execute=putils.execute, *args, **kwargs):
|
||||
self._remotefsclient = None
|
||||
super(NfsDriver, self).__init__(*args, **kwargs)
|
||||
|
@ -107,6 +107,9 @@ class NimbleISCSIDriver(san.SanISCSIDriver):
|
||||
|
||||
VERSION = DRIVER_VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Nimble_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(NimbleISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.APIExecutor = None
|
||||
|
@ -703,6 +703,9 @@ class DPLCOMMONDriver(driver.ConsistencyGroupVD, driver.ExtendVD,
|
||||
"""Class of dpl storage adapter."""
|
||||
VERSION = '2.0.4'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "ProphetStor_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DPLCOMMONDriver, self).__init__(*args, **kwargs)
|
||||
if self.configuration:
|
||||
|
@ -146,6 +146,9 @@ class PureBaseVolumeDriver(san.SanDriver):
|
||||
|
||||
SUPPORTED_REST_API_VERSIONS = ['1.2', '1.3', '1.4', '1.5']
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Pure_Storage_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
execute = kwargs.pop("execute", utils.execute)
|
||||
super(PureBaseVolumeDriver, self).__init__(execute=execute, *args,
|
||||
|
@ -86,6 +86,9 @@ class QuobyteDriver(remotefs_drv.RemoteFSSnapDriver):
|
||||
volume_backend_name = 'Quobyte'
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Quobyte_CI"
|
||||
|
||||
def __init__(self, execute=processutils.execute, *args, **kwargs):
|
||||
super(QuobyteDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(volume_opts)
|
||||
|
@ -270,6 +270,9 @@ class RBDDriver(driver.TransferVD, driver.ExtendVD,
|
||||
|
||||
VERSION = '1.2.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(RBDDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(RBD_OPTS)
|
||||
|
@ -67,6 +67,9 @@ class ScalityDriver(remotefs_drv.RemoteFSSnapDriver):
|
||||
volume_backend_name = 'Scality_SOFS'
|
||||
VERSION = '2.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Scality_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ScalityDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(volume_opts)
|
||||
|
@ -439,6 +439,9 @@ class SheepdogDriver(driver.VolumeDriver):
|
||||
|
||||
VERSION = "1.0.0"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SheepdogDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(sheepdog_opts)
|
||||
|
@ -108,6 +108,9 @@ class SmbfsDriver(remotefs_drv.RemoteFSSnapDriver):
|
||||
SHARE_FORMAT_REGEX = r'//.+/.+'
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Cinder_Jenkins"
|
||||
|
||||
_MINIMUM_QEMU_IMG_VERSION = '1.7'
|
||||
|
||||
_DISK_FORMAT_VHD = 'vhd'
|
||||
|
@ -157,6 +157,10 @@ class SolidFireDriver(san.SanISCSIDriver):
|
||||
"""
|
||||
|
||||
VERSION = '2.0.6'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "SolidFire_CI"
|
||||
|
||||
driver_prefix = 'solidfire'
|
||||
|
||||
sf_qos_dict = {'slow': {'minIOPS': 100,
|
||||
|
@ -86,6 +86,9 @@ class TintriDriver(driver.ManageableVD,
|
||||
|
||||
VENDOR = 'Tintri'
|
||||
VERSION = '2.2.0.1'
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Tintri_CI"
|
||||
|
||||
REQUIRED_OPTIONS = ['tintri_server_hostname', 'tintri_server_username',
|
||||
'tintri_server_password']
|
||||
|
||||
|
@ -61,6 +61,9 @@ class V7000FCPDriver(driver.FibreChannelDriver):
|
||||
|
||||
VERSION = '1.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Violin_Memory_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(V7000FCPDriver, self).__init__(*args, **kwargs)
|
||||
self.gateway_fc_wwns = []
|
||||
|
@ -54,6 +54,9 @@ class V7000ISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = '1.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Violin_Memory_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(V7000ISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.stats = {}
|
||||
|
@ -221,6 +221,9 @@ class VMwareVcVmdkDriver(driver.VolumeDriver):
|
||||
# 1.6.0 - support for manage existing
|
||||
VERSION = '1.6.0'
|
||||
|
||||
# ThirdaPartySystems wiki page
|
||||
CI_WIKI_NAME = "VMware_CI"
|
||||
|
||||
# Minimum supported vCenter version.
|
||||
MIN_SUPPORTED_VC_VERSION = dist_version.LooseVersion('5.1')
|
||||
|
||||
|
@ -133,6 +133,9 @@ class VZStorageDriver(remotefs_drv.RemoteFSSnapDriver):
|
||||
driver_prefix = 'vzstorage'
|
||||
volume_backend_name = 'Virtuozzo_Storage'
|
||||
VERSION = VERSION
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Virtuozzo_Storage_CI"
|
||||
|
||||
SHARE_FORMAT_REGEX = r'(?:(\S+):\/)?([a-zA-Z0-9_-]+)(?::(\S+))?'
|
||||
|
||||
def __init__(self, execute=putils.execute, *args, **kwargs):
|
||||
|
@ -46,6 +46,10 @@ CONF.set_default('smbfs_default_volume_format', 'vhd')
|
||||
@interface.volumedriver
|
||||
class WindowsSmbfsDriver(smbfs.SmbfsDriver):
|
||||
VERSION = VERSION
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Microsoft_iSCSI_CI"
|
||||
|
||||
_MINIMUM_QEMU_IMG_VERSION = '1.6'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
@ -50,6 +50,9 @@ class WindowsDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = '1.0.0'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Microsoft_iSCSI_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(WindowsDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration = kwargs.get('configuration', None)
|
||||
|
@ -74,6 +74,9 @@ class XIOISEDriver(object):
|
||||
# 1.1.3 Wait for volume/snapshot to be deleted.
|
||||
# 1.1.4 Force target_lun to be int (Bug 1549048)
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "X-IO_technologies_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(XIOISEDriver, self).__init__()
|
||||
LOG.debug("XIOISEDriver __init__ called.")
|
||||
|
@ -267,6 +267,9 @@ class ZadaraVPSAISCSIDriver(driver.ISCSIDriver):
|
||||
|
||||
VERSION = '15.07'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "ZadaraStorage_VPSA_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ZadaraVPSAISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(zadara_opts)
|
||||
|
@ -123,6 +123,9 @@ class ZFSSAISCSIDriver(driver.ISCSIDriver):
|
||||
VERSION = '1.0.2'
|
||||
protocol = 'iSCSI'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Oracle_ZFSSA_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ZFSSAISCSIDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(ZFSSA_OPTS)
|
||||
|
@ -95,6 +95,9 @@ class ZFSSANFSDriver(nfs.NfsDriver):
|
||||
volume_backend_name = 'ZFSSA_NFS'
|
||||
protocol = driver_prefix = driver_volume_type = 'nfs'
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Oracle_ZFSSA_CI"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ZFSSANFSDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(ZFSSA_OPTS)
|
||||
|
@ -85,6 +85,7 @@ CONF.register_opts(zte_opts)
|
||||
|
||||
@interface.volumedriver
|
||||
class ZTEVolumeDriver(driver.VolumeDriver):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ZTEVolumeDriver, self).__init__(*args, **kwargs)
|
||||
self.configuration.append_config_values(zte_opts)
|
||||
|
@ -76,6 +76,9 @@ class BrcdFCZoneDriver(fc_zone_driver.FCZoneDriver):
|
||||
|
||||
VERSION = "1.5"
|
||||
|
||||
# ThirdPartySystems wiki page
|
||||
CI_WIKI_NAME = "Brocade_OpenStack_CI"
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(BrcdFCZoneDriver, self).__init__(**kwargs)
|
||||
self.sb_conn_map = {}
|
||||
|
@ -71,6 +71,9 @@ class CiscoFCZoneDriver(fc_zone_driver.FCZoneDriver):
|
||||
|
||||
VERSION = "1.1.0"
|
||||
|
||||
# ThirdPartySystems wiki name
|
||||
CI_WIKI_NAME = "Cisco_ZM_CI"
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(CiscoFCZoneDriver, self).__init__(**kwargs)
|
||||
self.configuration = kwargs.get('configuration', None)
|
||||
|
@ -14,19 +14,29 @@
|
||||
|
||||
"""Generate list of cinder drivers"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
from cinder.interface import util
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(prog="generate_driver_list")
|
||||
|
||||
parser.add_argument("--format", default='str', choices=['str', 'dict'],
|
||||
help="Output format type")
|
||||
|
||||
# Keep backwards compatibilty with the gate-docs test
|
||||
# The tests pass ['docs'] on the cmdln, but it's never been used.
|
||||
parser.add_argument("output_list", default=None, nargs='?')
|
||||
|
||||
|
||||
class Output(object):
|
||||
|
||||
def __init__(self, base_dir):
|
||||
def __init__(self, base_dir, output_list):
|
||||
# At this point we don't care what was passed in, just a trigger
|
||||
# to write this out to the doc tree for now
|
||||
self.driver_file = None
|
||||
if len(sys.argv) > 1:
|
||||
if output_list:
|
||||
self.driver_file = open(
|
||||
'%s/doc/source/drivers.rst' % base_dir, 'w+')
|
||||
self.driver_file.write('===================\n')
|
||||
@ -67,25 +77,57 @@ def print_drivers(drivers, config_name, output):
|
||||
output.write('')
|
||||
|
||||
|
||||
def output_str(cinder_root, args):
|
||||
with Output(cinder_root, args.output_list) as output:
|
||||
output.write('Volume Drivers')
|
||||
output.write('==============')
|
||||
print_drivers(util.get_volume_drivers(), 'volume_driver', output)
|
||||
|
||||
output.write('Backup Drivers')
|
||||
output.write('==============')
|
||||
print_drivers(util.get_backup_drivers(), 'backup_driver', output)
|
||||
|
||||
output.write('FC Zone Manager Drivers')
|
||||
output.write('=======================')
|
||||
print_drivers(util.get_fczm_drivers(), 'zone_driver', output)
|
||||
|
||||
|
||||
def collect_driver_info(driver):
|
||||
"""Build the dictionary that describes this driver."""
|
||||
|
||||
info = {'name': driver.class_name,
|
||||
'version': driver.version,
|
||||
'fqn': driver.class_fqn,
|
||||
'description': driver.desc,
|
||||
'ci_wiki_name': driver.ci_wiki_name}
|
||||
|
||||
return info
|
||||
|
||||
|
||||
def output_dict():
|
||||
|
||||
import pprint
|
||||
driver_list = []
|
||||
drivers = util.get_volume_drivers()
|
||||
for driver in drivers:
|
||||
driver_list.append(collect_driver_info(driver))
|
||||
|
||||
pprint.pprint(driver_list)
|
||||
|
||||
|
||||
def main():
|
||||
tools_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
cinder_root = os.path.dirname(tools_dir)
|
||||
cur_dir = os.getcwd()
|
||||
os.chdir(cinder_root)
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
with Output(cinder_root) as output:
|
||||
output.write('Volume Drivers')
|
||||
output.write('==============')
|
||||
print_drivers(util.get_volume_drivers(), 'volume_driver', output)
|
||||
if args.format == 'str':
|
||||
output_str(cinder_root, args)
|
||||
elif args.format == 'dict':
|
||||
output_dict()
|
||||
|
||||
output.write('Backup Drivers')
|
||||
output.write('==============')
|
||||
print_drivers(util.get_backup_drivers(), 'backup_driver', output)
|
||||
|
||||
output.write('FC Zone Manager Drivers')
|
||||
output.write('=======================')
|
||||
print_drivers(util.get_fczm_drivers(), 'zone_driver', output)
|
||||
finally:
|
||||
os.chdir(cur_dir)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user