From 1a5de5d4bd3fddcce7a4ba80aaca765935d47300 Mon Sep 17 00:00:00 2001 From: "Walter A. Boring IV" Date: Wed, 27 Jul 2016 05:04:58 -0700 Subject: [PATCH] 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 --- cinder/interface/util.py | 1 + cinder/volume/drivers/block_device.py | 3 + cinder/volume/drivers/blockbridge.py | 3 + cinder/volume/drivers/cloudbyte/cloudbyte.py | 1 + cinder/volume/drivers/coho.py | 3 + cinder/volume/drivers/coprhd/fc.py | 3 + cinder/volume/drivers/coprhd/iscsi.py | 3 + cinder/volume/drivers/coprhd/scaleio.py | 3 + cinder/volume/drivers/datera.py | 2 + .../drivers/dell/dell_storagecenter_fc.py | 2 + .../drivers/dell/dell_storagecenter_iscsi.py | 1 + cinder/volume/drivers/disco/disco.py | 1 + cinder/volume/drivers/dothill/dothill_fc.py | 3 + .../volume/drivers/dothill/dothill_iscsi.py | 3 + cinder/volume/drivers/drbdmanagedrv.py | 3 + cinder/volume/drivers/emc/emc_vmax_fc.py | 3 + cinder/volume/drivers/emc/emc_vmax_iscsi.py | 3 + cinder/volume/drivers/emc/scaleio.py | 4 ++ cinder/volume/drivers/emc/vnx/driver.py | 2 + cinder/volume/drivers/emc/xtremio.py | 4 ++ cinder/volume/drivers/eqlx.py | 3 + cinder/volume/drivers/falconstor/fc.py | 3 + cinder/volume/drivers/falconstor/iscsi.py | 3 + .../volume/drivers/fujitsu/eternus_dx_fc.py | 3 + .../drivers/fujitsu/eternus_dx_iscsi.py | 3 + cinder/volume/drivers/fusionstorage/dsware.py | 3 + cinder/volume/drivers/glusterfs.py | 3 + cinder/volume/drivers/hgst.py | 4 ++ cinder/volume/drivers/hitachi/hbsd_fc.py | 3 + cinder/volume/drivers/hitachi/hbsd_iscsi.py | 3 + cinder/volume/drivers/hitachi/hnas_iscsi.py | 3 + cinder/volume/drivers/hitachi/hnas_nfs.py | 2 + cinder/volume/drivers/hpe/hpe_3par_fc.py | 3 + cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 3 + .../volume/drivers/hpe/hpe_lefthand_iscsi.py | 2 + cinder/volume/drivers/hpe/hpe_xp_fc.py | 3 + cinder/volume/drivers/huawei/huawei_driver.py | 3 + cinder/volume/drivers/ibm/flashsystem_fc.py | 3 + .../volume/drivers/ibm/flashsystem_iscsi.py | 3 + cinder/volume/drivers/ibm/gpfs.py | 3 + cinder/volume/drivers/ibm/ibm_storage.py | 3 + .../ibm/storwize_svc/storwize_svc_fc.py | 3 + .../ibm/storwize_svc/storwize_svc_iscsi.py | 3 + .../drivers/infortrend/infortrend_fc_cli.py | 3 + .../infortrend/infortrend_iscsi_cli.py | 3 + .../volume/drivers/kaminario/kaminario_fc.py | 3 + .../drivers/kaminario/kaminario_iscsi.py | 3 + cinder/volume/drivers/lenovo/lenovo_fc.py | 3 + cinder/volume/drivers/lenovo/lenovo_iscsi.py | 3 + cinder/volume/drivers/lvm.py | 3 + .../drivers/netapp/dataontap/fc_7mode.py | 3 + .../drivers/netapp/dataontap/fc_cmode.py | 3 + .../drivers/netapp/dataontap/iscsi_7mode.py | 3 + .../drivers/netapp/dataontap/iscsi_cmode.py | 3 + .../drivers/netapp/dataontap/nfs_7mode.py | 3 + .../drivers/netapp/dataontap/nfs_base.py | 4 ++ .../drivers/netapp/eseries/fc_driver.py | 3 + .../drivers/netapp/eseries/iscsi_driver.py | 3 + cinder/volume/drivers/nexenta/iscsi.py | 3 + .../drivers/nexenta/nexentaedge/iscsi.py | 3 + .../volume/drivers/nexenta/nexentaedge/nbd.py | 3 + cinder/volume/drivers/nexenta/nfs.py | 3 + cinder/volume/drivers/nexenta/ns5/iscsi.py | 3 + cinder/volume/drivers/nexenta/ns5/nfs.py | 3 + cinder/volume/drivers/nfs.py | 3 + cinder/volume/drivers/nimble.py | 3 + .../volume/drivers/prophetstor/dplcommon.py | 3 + cinder/volume/drivers/pure.py | 3 + cinder/volume/drivers/quobyte.py | 3 + cinder/volume/drivers/rbd.py | 3 + cinder/volume/drivers/scality.py | 3 + cinder/volume/drivers/sheepdog.py | 3 + cinder/volume/drivers/smbfs.py | 3 + cinder/volume/drivers/solidfire.py | 4 ++ cinder/volume/drivers/tintri.py | 3 + cinder/volume/drivers/violin/v7000_fcp.py | 3 + cinder/volume/drivers/violin/v7000_iscsi.py | 3 + cinder/volume/drivers/vmware/vmdk.py | 3 + cinder/volume/drivers/vzstorage.py | 3 + cinder/volume/drivers/windows/smbfs.py | 4 ++ cinder/volume/drivers/windows/windows.py | 3 + cinder/volume/drivers/xio.py | 3 + cinder/volume/drivers/zadara.py | 3 + cinder/volume/drivers/zfssa/zfssaiscsi.py | 3 + cinder/volume/drivers/zfssa/zfssanfs.py | 3 + cinder/volume/drivers/zte/zte_ks.py | 1 + .../drivers/brocade/brcd_fc_zone_driver.py | 3 + .../drivers/cisco/cisco_fc_zone_driver.py | 3 + tools/generate_driver_list.py | 70 +++++++++++++++---- 89 files changed, 311 insertions(+), 14 deletions(-) diff --git a/cinder/interface/util.py b/cinder/interface/util.py index 32adb022286..8bab173b867 100644 --- a/cinder/interface/util.py +++ b/cinder/interface/util.py @@ -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 diff --git a/cinder/volume/drivers/block_device.py b/cinder/volume/drivers/block_device.py index 37dd293b2e6..c41e3792f4e 100644 --- a/cinder/volume/drivers/block_device.py +++ b/cinder/volume/drivers/block_device.py @@ -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) diff --git a/cinder/volume/drivers/blockbridge.py b/cinder/volume/drivers/blockbridge.py index 08ff40d0fcc..3098a6f230a 100644 --- a/cinder/volume/drivers/blockbridge.py +++ b/cinder/volume/drivers/blockbridge.py @@ -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) diff --git a/cinder/volume/drivers/cloudbyte/cloudbyte.py b/cinder/volume/drivers/cloudbyte/cloudbyte.py index 93c0ce4d2e2..ac46bd37776 100644 --- a/cinder/volume/drivers/cloudbyte/cloudbyte.py +++ b/cinder/volume/drivers/cloudbyte/cloudbyte.py @@ -48,6 +48,7 @@ class CloudByteISCSIDriver(san.SanISCSIDriver): """ VERSION = '1.2.0' + CI_WIKI_NAME = "CloudByte_CI" volume_stats = {} def __init__(self, *args, **kwargs): diff --git a/cinder/volume/drivers/coho.py b/cinder/volume/drivers/coho.py index aadac25ffbb..0d25e1b010a 100644 --- a/cinder/volume/drivers/coho.py +++ b/cinder/volume/drivers/coho.py @@ -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) diff --git a/cinder/volume/drivers/coprhd/fc.py b/cinder/volume/drivers/coprhd/fc.py index 83739275188..bd16e018676 100644 --- a/cinder/volume/drivers/coprhd/fc.py +++ b/cinder/volume/drivers/coprhd/fc.py @@ -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() diff --git a/cinder/volume/drivers/coprhd/iscsi.py b/cinder/volume/drivers/coprhd/iscsi.py index 1380d4eba16..0575b4da0f6 100644 --- a/cinder/volume/drivers/coprhd/iscsi.py +++ b/cinder/volume/drivers/coprhd/iscsi.py @@ -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() diff --git a/cinder/volume/drivers/coprhd/scaleio.py b/cinder/volume/drivers/coprhd/scaleio.py index 24d790bbf2a..f1630ac9584 100644 --- a/cinder/volume/drivers/coprhd/scaleio.py +++ b/cinder/volume/drivers/coprhd/scaleio.py @@ -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) diff --git a/cinder/volume/drivers/datera.py b/cinder/volume/drivers/datera.py index dc3e2640918..967f6bb6c92 100644 --- a/cinder/volume/drivers/datera.py +++ b/cinder/volume/drivers/datera.py @@ -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) diff --git a/cinder/volume/drivers/dell/dell_storagecenter_fc.py b/cinder/volume/drivers/dell/dell_storagecenter_fc.py index 12432915cfb..f4923c3e1bf 100644 --- a/cinder/volume/drivers/dell/dell_storagecenter_fc.py +++ b/cinder/volume/drivers/dell/dell_storagecenter_fc.py @@ -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 =\ diff --git a/cinder/volume/drivers/dell/dell_storagecenter_iscsi.py b/cinder/volume/drivers/dell/dell_storagecenter_iscsi.py index fe87d5a72a9..20693bbe03f 100644 --- a/cinder/volume/drivers/dell/dell_storagecenter_iscsi.py +++ b/cinder/volume/drivers/dell/dell_storagecenter_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/disco/disco.py b/cinder/volume/drivers/disco/disco.py index 6788b90d319..a9d352a7762 100644 --- a/cinder/volume/drivers/disco/disco.py +++ b/cinder/volume/drivers/disco/disco.py @@ -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.""" diff --git a/cinder/volume/drivers/dothill/dothill_fc.py b/cinder/volume/drivers/dothill/dothill_fc.py index bc5da70d136..0b368b14a32 100644 --- a/cinder/volume/drivers/dothill/dothill_fc.py +++ b/cinder/volume/drivers/dothill/dothill_fc.py @@ -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 diff --git a/cinder/volume/drivers/dothill/dothill_iscsi.py b/cinder/volume/drivers/dothill/dothill_iscsi.py index b92a71b01b6..bfd25542dd1 100644 --- a/cinder/volume/drivers/dothill/dothill_iscsi.py +++ b/cinder/volume/drivers/dothill/dothill_iscsi.py @@ -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 diff --git a/cinder/volume/drivers/drbdmanagedrv.py b/cinder/volume/drivers/drbdmanagedrv.py index f2e6b3d6ad2..fc9e251abc2 100644 --- a/cinder/volume/drivers/drbdmanagedrv.py +++ b/cinder/volume/drivers/drbdmanagedrv.py @@ -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)") diff --git a/cinder/volume/drivers/emc/emc_vmax_fc.py b/cinder/volume/drivers/emc/emc_vmax_fc.py index 29a3fce8d07..a34aa8b18c4 100644 --- a/cinder/volume/drivers/emc/emc_vmax_fc.py +++ b/cinder/volume/drivers/emc/emc_vmax_fc.py @@ -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) diff --git a/cinder/volume/drivers/emc/emc_vmax_iscsi.py b/cinder/volume/drivers/emc/emc_vmax_iscsi.py index 29538003a0a..dc19486e692 100644 --- a/cinder/volume/drivers/emc/emc_vmax_iscsi.py +++ b/cinder/volume/drivers/emc/emc_vmax_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/emc/scaleio.py b/cinder/volume/drivers/emc/scaleio.py index 4ee88363be9..ea5555d6f9c 100644 --- a/cinder/volume/drivers/emc/scaleio.py +++ b/cinder/volume/drivers/emc/scaleio.py @@ -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) diff --git a/cinder/volume/drivers/emc/vnx/driver.py b/cinder/volume/drivers/emc/vnx/driver.py index f8cc2abff98..e738da3d53a 100644 --- a/cinder/volume/drivers/emc/vnx/driver.py +++ b/cinder/volume/drivers/emc/vnx/driver.py @@ -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) diff --git a/cinder/volume/drivers/emc/xtremio.py b/cinder/volume/drivers/emc/xtremio.py index 6c5ec1eeafe..d4c053ea113 100644 --- a/cinder/volume/drivers/emc/xtremio.py +++ b/cinder/volume/drivers/emc/xtremio.py @@ -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] diff --git a/cinder/volume/drivers/eqlx.py b/cinder/volume/drivers/eqlx.py index b3760af65c9..cdf456d00f8 100644 --- a/cinder/volume/drivers/eqlx.py +++ b/cinder/volume/drivers/eqlx.py @@ -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) diff --git a/cinder/volume/drivers/falconstor/fc.py b/cinder/volume/drivers/falconstor/fc.py index 1bc6a8e7d5d..e79cb32c99d 100644 --- a/cinder/volume/drivers/falconstor/fc.py +++ b/cinder/volume/drivers/falconstor/fc.py @@ -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 = [] diff --git a/cinder/volume/drivers/falconstor/iscsi.py b/cinder/volume/drivers/falconstor/iscsi.py index 43612122204..4f96c27132a 100644 --- a/cinder/volume/drivers/falconstor/iscsi.py +++ b/cinder/volume/drivers/falconstor/iscsi.py @@ -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" diff --git a/cinder/volume/drivers/fujitsu/eternus_dx_fc.py b/cinder/volume/drivers/fujitsu/eternus_dx_fc.py index 2d9c3ebba10..a3f9bb845fc 100644 --- a/cinder/volume/drivers/fujitsu/eternus_dx_fc.py +++ b/cinder/volume/drivers/fujitsu/eternus_dx_fc.py @@ -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) diff --git a/cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py b/cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py index 45626960bba..1cabd4e7e41 100644 --- a/cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py +++ b/cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/fusionstorage/dsware.py b/cinder/volume/drivers/fusionstorage/dsware.py index b7fcc5bec98..bd08f67230d 100644 --- a/cinder/volume/drivers/fusionstorage/dsware.py +++ b/cinder/volume/drivers/fusionstorage/dsware.py @@ -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 diff --git a/cinder/volume/drivers/glusterfs.py b/cinder/volume/drivers/glusterfs.py index 21b31c4c25e..68826f1a43d 100644 --- a/cinder/volume/drivers/glusterfs.py +++ b/cinder/volume/drivers/glusterfs.py @@ -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) diff --git a/cinder/volume/drivers/hgst.py b/cinder/volume/drivers/hgst.py index 19865346da2..d9639628281 100644 --- a/cinder/volume/drivers/hgst.py +++ b/cinder/volume/drivers/hgst.py @@ -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 diff --git a/cinder/volume/drivers/hitachi/hbsd_fc.py b/cinder/volume/drivers/hitachi/hbsd_fc.py index afd2e0e6db8..14eedd88e52 100644 --- a/cinder/volume/drivers/hitachi/hbsd_fc.py +++ b/cinder/volume/drivers/hitachi/hbsd_fc.py @@ -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) diff --git a/cinder/volume/drivers/hitachi/hbsd_iscsi.py b/cinder/volume/drivers/hitachi/hbsd_iscsi.py index 904290a81b9..263cf6732c5 100644 --- a/cinder/volume/drivers/hitachi/hbsd_iscsi.py +++ b/cinder/volume/drivers/hitachi/hbsd_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/hitachi/hnas_iscsi.py b/cinder/volume/drivers/hitachi/hnas_iscsi.py index 066bcd03913..041bb528095 100644 --- a/cinder/volume/drivers/hitachi/hnas_iscsi.py +++ b/cinder/volume/drivers/hitachi/hnas_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/hitachi/hnas_nfs.py b/cinder/volume/drivers/hitachi/hnas_nfs.py index 951c522ffc8..e0edb0210c7 100644 --- a/cinder/volume/drivers/hitachi/hnas_nfs.py +++ b/cinder/volume/drivers/hitachi/hnas_nfs.py @@ -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 diff --git a/cinder/volume/drivers/hpe/hpe_3par_fc.py b/cinder/volume/drivers/hpe/hpe_3par_fc.py index e106d69c512..1b8f3ead861 100644 --- a/cinder/volume/drivers/hpe/hpe_3par_fc.py +++ b/cinder/volume/drivers/hpe/hpe_3par_fc.py @@ -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) diff --git a/cinder/volume/drivers/hpe/hpe_3par_iscsi.py b/cinder/volume/drivers/hpe/hpe_3par_iscsi.py index 43c3414d9a6..19715af05a8 100644 --- a/cinder/volume/drivers/hpe/hpe_3par_iscsi.py +++ b/cinder/volume/drivers/hpe/hpe_3par_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py b/cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py index f423c11c849..217f7396d7e 100644 --- a/cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py +++ b/cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py @@ -162,6 +162,8 @@ class HPELeftHandISCSIDriver(driver.ISCSIDriver): VERSION = "2.0.9" + CI_WIKI_NAME = "HPE_Storage_CI" + device_stats = {} # v2 replication constants diff --git a/cinder/volume/drivers/hpe/hpe_xp_fc.py b/cinder/volume/drivers/hpe/hpe_xp_fc.py index d0e76f9f348..38715956918 100644 --- a/cinder/volume/drivers/hpe/hpe_xp_fc.py +++ b/cinder/volume/drivers/hpe/hpe_xp_fc.py @@ -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) diff --git a/cinder/volume/drivers/huawei/huawei_driver.py b/cinder/volume/drivers/huawei/huawei_driver.py index 8648822cd8a..3a1faee3a56 100644 --- a/cinder/volume/drivers/huawei/huawei_driver.py +++ b/cinder/volume/drivers/huawei/huawei_driver.py @@ -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) diff --git a/cinder/volume/drivers/ibm/flashsystem_fc.py b/cinder/volume/drivers/ibm/flashsystem_fc.py index 461d275dd91..fc66bd0b271 100644 --- a/cinder/volume/drivers/ibm/flashsystem_fc.py +++ b/cinder/volume/drivers/ibm/flashsystem_fc.py @@ -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) diff --git a/cinder/volume/drivers/ibm/flashsystem_iscsi.py b/cinder/volume/drivers/ibm/flashsystem_iscsi.py index a59e0f22fca..64c4f69b6c5 100644 --- a/cinder/volume/drivers/ibm/flashsystem_iscsi.py +++ b/cinder/volume/drivers/ibm/flashsystem_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/ibm/gpfs.py b/cinder/volume/drivers/ibm/gpfs.py index 55f1fe7f0ba..2b7942b1a97 100644 --- a/cinder/volume/drivers/ibm/gpfs.py +++ b/cinder/volume/drivers/ibm/gpfs.py @@ -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) diff --git a/cinder/volume/drivers/ibm/ibm_storage.py b/cinder/volume/drivers/ibm/ibm_storage.py index dc15282bbc0..daad160bc98 100644 --- a/cinder/volume/drivers/ibm/ibm_storage.py +++ b/cinder/volume/drivers/ibm/ibm_storage.py @@ -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.""" diff --git a/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py b/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py index f13d831f1e9..95e6befa0a6 100644 --- a/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py +++ b/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py @@ -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' diff --git a/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py b/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py index 5cc7c0691b7..819f071590c 100644 --- a/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py +++ b/cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py @@ -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' diff --git a/cinder/volume/drivers/infortrend/infortrend_fc_cli.py b/cinder/volume/drivers/infortrend/infortrend_fc_cli.py index 6fda5dfcaa3..81bbcbf3dc4 100644 --- a/cinder/volume/drivers/infortrend/infortrend_fc_cli.py +++ b/cinder/volume/drivers/infortrend/infortrend_fc_cli.py @@ -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( diff --git a/cinder/volume/drivers/infortrend/infortrend_iscsi_cli.py b/cinder/volume/drivers/infortrend/infortrend_iscsi_cli.py index 461776cefe2..5cdf4341ab2 100644 --- a/cinder/volume/drivers/infortrend/infortrend_iscsi_cli.py +++ b/cinder/volume/drivers/infortrend/infortrend_iscsi_cli.py @@ -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( diff --git a/cinder/volume/drivers/kaminario/kaminario_fc.py b/cinder/volume/drivers/kaminario/kaminario_fc.py index dcbf1f0ca7a..4ebe4996b2e 100644 --- a/cinder/volume/drivers/kaminario/kaminario_fc.py +++ b/cinder/volume/drivers/kaminario/kaminario_fc.py @@ -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) diff --git a/cinder/volume/drivers/kaminario/kaminario_iscsi.py b/cinder/volume/drivers/kaminario/kaminario_iscsi.py index 6c0df6cfca2..6c718ac89ca 100644 --- a/cinder/volume/drivers/kaminario/kaminario_iscsi.py +++ b/cinder/volume/drivers/kaminario/kaminario_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/lenovo/lenovo_fc.py b/cinder/volume/drivers/lenovo/lenovo_fc.py index ba24af36cd6..7e8bc42dee2 100644 --- a/cinder/volume/drivers/lenovo/lenovo_fc.py +++ b/cinder/volume/drivers/lenovo/lenovo_fc.py @@ -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) diff --git a/cinder/volume/drivers/lenovo/lenovo_iscsi.py b/cinder/volume/drivers/lenovo/lenovo_iscsi.py index 77b7cbec43e..647dabd9b01 100644 --- a/cinder/volume/drivers/lenovo/lenovo_iscsi.py +++ b/cinder/volume/drivers/lenovo/lenovo_iscsi.py @@ -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) diff --git a/cinder/volume/drivers/lvm.py b/cinder/volume/drivers/lvm.py index f10ca6fb66c..3fa80600470 100644 --- a/cinder/volume/drivers/lvm.py +++ b/cinder/volume/drivers/lvm.py @@ -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) diff --git a/cinder/volume/drivers/netapp/dataontap/fc_7mode.py b/cinder/volume/drivers/netapp/dataontap/fc_7mode.py index bd5113c8624..7b5716ba1f2 100644 --- a/cinder/volume/drivers/netapp/dataontap/fc_7mode.py +++ b/cinder/volume/drivers/netapp/dataontap/fc_7mode.py @@ -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( diff --git a/cinder/volume/drivers/netapp/dataontap/fc_cmode.py b/cinder/volume/drivers/netapp/dataontap/fc_cmode.py index 391f4222339..e5419ea670c 100644 --- a/cinder/volume/drivers/netapp/dataontap/fc_cmode.py +++ b/cinder/volume/drivers/netapp/dataontap/fc_cmode.py @@ -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( diff --git a/cinder/volume/drivers/netapp/dataontap/iscsi_7mode.py b/cinder/volume/drivers/netapp/dataontap/iscsi_7mode.py index f523cb5fe1d..eb245bf448b 100644 --- a/cinder/volume/drivers/netapp/dataontap/iscsi_7mode.py +++ b/cinder/volume/drivers/netapp/dataontap/iscsi_7mode.py @@ -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( diff --git a/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py b/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py index 29e8d25d9df..04d582a85b5 100644 --- a/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py +++ b/cinder/volume/drivers/netapp/dataontap/iscsi_cmode.py @@ -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( diff --git a/cinder/volume/drivers/netapp/dataontap/nfs_7mode.py b/cinder/volume/drivers/netapp/dataontap/nfs_7mode.py index b43a53a88ff..5686211f1d8 100644 --- a/cinder/volume/drivers/netapp/dataontap/nfs_7mode.py +++ b/cinder/volume/drivers/netapp/dataontap/nfs_7mode.py @@ -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) diff --git a/cinder/volume/drivers/netapp/dataontap/nfs_base.py b/cinder/volume/drivers/netapp/dataontap/nfs_base.py index 6d4c361791e..590a6bc2e0f 100644 --- a/cinder/volume/drivers/netapp/dataontap/nfs_base.py +++ b/cinder/volume/drivers/netapp/dataontap/nfs_base.py @@ -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' diff --git a/cinder/volume/drivers/netapp/eseries/fc_driver.py b/cinder/volume/drivers/netapp/eseries/fc_driver.py index e06864b256a..d6555920136 100644 --- a/cinder/volume/drivers/netapp/eseries/fc_driver.py +++ b/cinder/volume/drivers/netapp/eseries/fc_driver.py @@ -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) diff --git a/cinder/volume/drivers/netapp/eseries/iscsi_driver.py b/cinder/volume/drivers/netapp/eseries/iscsi_driver.py index 5bee8da68e6..5055e83d3b1 100644 --- a/cinder/volume/drivers/netapp/eseries/iscsi_driver.py +++ b/cinder/volume/drivers/netapp/eseries/iscsi_driver.py @@ -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) diff --git a/cinder/volume/drivers/nexenta/iscsi.py b/cinder/volume/drivers/nexenta/iscsi.py index 52e5440ea39..c29656e32c2 100644 --- a/cinder/volume/drivers/nexenta/iscsi.py +++ b/cinder/volume/drivers/nexenta/iscsi.py @@ -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 diff --git a/cinder/volume/drivers/nexenta/nexentaedge/iscsi.py b/cinder/volume/drivers/nexenta/nexentaedge/iscsi.py index 76a52270a89..e0b10af24e4 100644 --- a/cinder/volume/drivers/nexenta/nexentaedge/iscsi.py +++ b/cinder/volume/drivers/nexenta/nexentaedge/iscsi.py @@ -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: diff --git a/cinder/volume/drivers/nexenta/nexentaedge/nbd.py b/cinder/volume/drivers/nexenta/nexentaedge/nbd.py index 518b4ea57a6..e699c219507 100644 --- a/cinder/volume/drivers/nexenta/nexentaedge/nbd.py +++ b/cinder/volume/drivers/nexenta/nexentaedge/nbd.py @@ -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) diff --git a/cinder/volume/drivers/nexenta/nfs.py b/cinder/volume/drivers/nexenta/nfs.py index 71cfbb46fdb..64cd2034477 100644 --- a/cinder/volume/drivers/nexenta/nfs.py +++ b/cinder/volume/drivers/nexenta/nfs.py @@ -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: diff --git a/cinder/volume/drivers/nexenta/ns5/iscsi.py b/cinder/volume/drivers/nexenta/ns5/iscsi.py index bf26ef4c6cf..f4a49fa2a85 100644 --- a/cinder/volume/drivers/nexenta/ns5/iscsi.py +++ b/cinder/volume/drivers/nexenta/ns5/iscsi.py @@ -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 diff --git a/cinder/volume/drivers/nexenta/ns5/nfs.py b/cinder/volume/drivers/nexenta/ns5/nfs.py index 5db46a250ef..1d9d0f71d56 100644 --- a/cinder/volume/drivers/nexenta/ns5/nfs.py +++ b/cinder/volume/drivers/nexenta/ns5/nfs.py @@ -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: diff --git a/cinder/volume/drivers/nfs.py b/cinder/volume/drivers/nfs.py index cdd7a0e9f11..b8eacd4ef92 100644 --- a/cinder/volume/drivers/nfs.py +++ b/cinder/volume/drivers/nfs.py @@ -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) diff --git a/cinder/volume/drivers/nimble.py b/cinder/volume/drivers/nimble.py index 923babcc63d..e69fbda6c4c 100644 --- a/cinder/volume/drivers/nimble.py +++ b/cinder/volume/drivers/nimble.py @@ -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 diff --git a/cinder/volume/drivers/prophetstor/dplcommon.py b/cinder/volume/drivers/prophetstor/dplcommon.py index 4c5c9ca5c63..042bf966395 100644 --- a/cinder/volume/drivers/prophetstor/dplcommon.py +++ b/cinder/volume/drivers/prophetstor/dplcommon.py @@ -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: diff --git a/cinder/volume/drivers/pure.py b/cinder/volume/drivers/pure.py index 29c663e67b7..66bee72d498 100644 --- a/cinder/volume/drivers/pure.py +++ b/cinder/volume/drivers/pure.py @@ -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, diff --git a/cinder/volume/drivers/quobyte.py b/cinder/volume/drivers/quobyte.py index 62d68b5c472..07a9c555347 100644 --- a/cinder/volume/drivers/quobyte.py +++ b/cinder/volume/drivers/quobyte.py @@ -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) diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py index 8ecff13d508..356e2fed115 100644 --- a/cinder/volume/drivers/rbd.py +++ b/cinder/volume/drivers/rbd.py @@ -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) diff --git a/cinder/volume/drivers/scality.py b/cinder/volume/drivers/scality.py index fd25df84371..eb1c6b76313 100644 --- a/cinder/volume/drivers/scality.py +++ b/cinder/volume/drivers/scality.py @@ -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) diff --git a/cinder/volume/drivers/sheepdog.py b/cinder/volume/drivers/sheepdog.py index 9d7d6fa577e..1f3e7e0f93d 100644 --- a/cinder/volume/drivers/sheepdog.py +++ b/cinder/volume/drivers/sheepdog.py @@ -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) diff --git a/cinder/volume/drivers/smbfs.py b/cinder/volume/drivers/smbfs.py index 37668592abd..16728e9e649 100644 --- a/cinder/volume/drivers/smbfs.py +++ b/cinder/volume/drivers/smbfs.py @@ -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' diff --git a/cinder/volume/drivers/solidfire.py b/cinder/volume/drivers/solidfire.py index 3d61aefb36a..796fc2c478f 100644 --- a/cinder/volume/drivers/solidfire.py +++ b/cinder/volume/drivers/solidfire.py @@ -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, diff --git a/cinder/volume/drivers/tintri.py b/cinder/volume/drivers/tintri.py index 23906f1a0c0..8654df18467 100644 --- a/cinder/volume/drivers/tintri.py +++ b/cinder/volume/drivers/tintri.py @@ -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'] diff --git a/cinder/volume/drivers/violin/v7000_fcp.py b/cinder/volume/drivers/violin/v7000_fcp.py index 618d112cd82..7a8fa3a0f7b 100644 --- a/cinder/volume/drivers/violin/v7000_fcp.py +++ b/cinder/volume/drivers/violin/v7000_fcp.py @@ -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 = [] diff --git a/cinder/volume/drivers/violin/v7000_iscsi.py b/cinder/volume/drivers/violin/v7000_iscsi.py index 2a5ec47c1e6..57d3f07a0cb 100644 --- a/cinder/volume/drivers/violin/v7000_iscsi.py +++ b/cinder/volume/drivers/violin/v7000_iscsi.py @@ -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 = {} diff --git a/cinder/volume/drivers/vmware/vmdk.py b/cinder/volume/drivers/vmware/vmdk.py index df79f31d410..28988241980 100644 --- a/cinder/volume/drivers/vmware/vmdk.py +++ b/cinder/volume/drivers/vmware/vmdk.py @@ -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') diff --git a/cinder/volume/drivers/vzstorage.py b/cinder/volume/drivers/vzstorage.py index 1216587d4b9..91ed3702521 100644 --- a/cinder/volume/drivers/vzstorage.py +++ b/cinder/volume/drivers/vzstorage.py @@ -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): diff --git a/cinder/volume/drivers/windows/smbfs.py b/cinder/volume/drivers/windows/smbfs.py index 0841f5f2bfa..d1c7f3023cb 100644 --- a/cinder/volume/drivers/windows/smbfs.py +++ b/cinder/volume/drivers/windows/smbfs.py @@ -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): diff --git a/cinder/volume/drivers/windows/windows.py b/cinder/volume/drivers/windows/windows.py index a6a7229c899..3b2db9949f6 100644 --- a/cinder/volume/drivers/windows/windows.py +++ b/cinder/volume/drivers/windows/windows.py @@ -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) diff --git a/cinder/volume/drivers/xio.py b/cinder/volume/drivers/xio.py index 1e69a91acab..505e39c1fd1 100644 --- a/cinder/volume/drivers/xio.py +++ b/cinder/volume/drivers/xio.py @@ -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.") diff --git a/cinder/volume/drivers/zadara.py b/cinder/volume/drivers/zadara.py index e25884258a1..5eff0224ee2 100644 --- a/cinder/volume/drivers/zadara.py +++ b/cinder/volume/drivers/zadara.py @@ -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) diff --git a/cinder/volume/drivers/zfssa/zfssaiscsi.py b/cinder/volume/drivers/zfssa/zfssaiscsi.py index 315189e6cdd..07d4cdbf6f8 100644 --- a/cinder/volume/drivers/zfssa/zfssaiscsi.py +++ b/cinder/volume/drivers/zfssa/zfssaiscsi.py @@ -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) diff --git a/cinder/volume/drivers/zfssa/zfssanfs.py b/cinder/volume/drivers/zfssa/zfssanfs.py index 04594054f01..ca51a034e12 100644 --- a/cinder/volume/drivers/zfssa/zfssanfs.py +++ b/cinder/volume/drivers/zfssa/zfssanfs.py @@ -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) diff --git a/cinder/volume/drivers/zte/zte_ks.py b/cinder/volume/drivers/zte/zte_ks.py index 2c667d15e85..abb44ccb986 100644 --- a/cinder/volume/drivers/zte/zte_ks.py +++ b/cinder/volume/drivers/zte/zte_ks.py @@ -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) diff --git a/cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py b/cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py index fb1bf8073ed..64bb4f24959 100644 --- a/cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py +++ b/cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py @@ -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 = {} diff --git a/cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py b/cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py index 289fd7f0e73..a52fd5a6015 100644 --- a/cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py +++ b/cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py @@ -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) diff --git a/tools/generate_driver_list.py b/tools/generate_driver_list.py index c2ed176de3a..de4958f0811 100755 --- a/tools/generate_driver_list.py +++ b/tools/generate_driver_list.py @@ -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)