diff --git a/cinder/interface/util.py b/cinder/interface/util.py index 32adb0222..8bab173b8 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 37dd293b2..c41e3792f 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 08ff40d0f..3098a6f23 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 93c0ce4d2..ac46bd377 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 aadac25ff..0d25e1b01 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 837392751..bd16e0186 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 1380d4eba..0575b4da0 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 24d790bbf..f1630ac95 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 dc3e26409..967f6bb6c 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 12432915c..f4923c3e1 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 fe87d5a72..20693bbe0 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 6788b90d3..a9d352a77 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 bc5da70d1..0b368b14a 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 b92a71b01..bfd25542d 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 f2e6b3d6a..fc9e251ab 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 29a3fce8d..a34aa8b18 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 29538003a..dc19486e6 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 4ee88363b..ea5555d6f 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 f8cc2abff..e738da3d5 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 6c5ec1eea..d4c053ea1 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 b3760af65..cdf456d00 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 1bc6a8e7d..e79cb32c9 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 436121222..4f96c2713 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 2d9c3ebba..a3f9bb845 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 45626960b..1cabd4e7e 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 b7fcc5bec..bd08f6723 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 21b31c4c2..68826f1a4 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 19865346d..d96396282 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 afd2e0e6d..14eedd88e 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 904290a81..263cf6732 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 066bcd039..041bb5280 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 951c522ff..e0edb0210 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 e106d69c5..1b8f3ead8 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 43c3414d9..19715af05 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 f423c11c8..217f7396d 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 21acd703e..5b3e3fd43 100644 --- a/cinder/volume/drivers/hpe/hpe_xp_fc.py +++ b/cinder/volume/drivers/hpe/hpe_xp_fc.py @@ -32,6 +32,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 c4047ab7a..6fd23dddb 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 461d275dd..fc66bd0b2 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 a59e0f22f..64c4f69b6 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 55f1fe7f0..2b7942b1a 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 dc15282bb..daad160bc 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 f13d831f1..95e6befa0 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 5cc7c0691..819f07159 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 6fda5dfca..81bbcbf3d 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 461776cef..5cdf4341a 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 dcbf1f0ca..4ebe4996b 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 6c0df6cfc..6c718ac89 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 ba24af36c..7e8bc42de 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 77b7cbec4..647dabd9b 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 f10ca6fb6..3fa806004 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 9691e3849..0355f38b9 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 fa610d673..e2ec26cb9 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 442d329ca..840bf18a6 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 2076caca5..ec619aa5e 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 b43a53a88..5686211f1 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 365334813..85ff9b5c7 100644 --- a/cinder/volume/drivers/netapp/dataontap/nfs_base.py +++ b/cinder/volume/drivers/netapp/dataontap/nfs_base.py @@ -62,6 +62,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 e06864b25..d65559201 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 5bee8da68..5055e83d3 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 52e5440ea..c29656e32 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 76a52270a..e0b10af24 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 518b4ea57..e699c2195 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 71cfbb46f..64cd20344 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 bf26ef4c6..f4a49fa2a 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 5db46a250..1d9d0f71d 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 cdd7a0e9f..b8eacd4ef 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 923babcc6..e69fbda6c 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 4c5c9ca5c..042bf9663 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 29c663e67..66bee72d4 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 62d68b5c4..07a9c5553 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 8ecff13d5..356e2fed1 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 fd25df843..eb1c6b763 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 9d7d6fa57..1f3e7e0f9 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 37668592a..16728e9e6 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 3d61aefb3..796fc2c47 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 23906f1a0..8654df184 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 618d112cd..7a8fa3a0f 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 2a5ec47c1..57d3f07a0 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 df79f31d4..289882419 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 1216587d4..91ed37025 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 0841f5f2b..d1c7f3023 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 a6a7229c8..3b2db9949 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 1e69a91ac..505e39c1f 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 e25884258..5eff0224e 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 315189e6c..07d4cdbf6 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 04594054f..ca51a034e 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 2c667d15e..abb44ccb9 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 fb1bf8073..64bb4f249 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 289fd7f0e..a52fd5a60 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 c2ed176de..de4958f08 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)