From 3ee75e73938a8ca069674269bc21f13720e4b6d5 Mon Sep 17 00:00:00 2001 From: Mike Perez Date: Thu, 19 Mar 2015 13:02:10 -0700 Subject: [PATCH] Removing Netapp FC drivers for no reported CI CI deadlines were set and pushed since last year. An email about this requirement and the deadline of March 19th 2015 has been sent to each individual driver maintainer, as well as the mailing list [1]. This driver is being removed because the maintainer does not have a CI reporting to ensure their driver integration is successful. Therfore, we can not validate the driver is working in Cinder today in a continuous way. DocImpact [1]- http://lists.openstack.org/pipermail/openstack-dev/2015-January/054614.html Change-Id: I85ed137ddb1929509f9930cd1de91671dde3db42 --- .../volume/drivers/netapp/test_common.py | 13 +-- cinder/volume/drivers/netapp/common.py | 2 - .../drivers/netapp/dataontap/fc_7mode.py | 86 ------------------- .../drivers/netapp/dataontap/fc_cmode.py | 86 ------------------- 4 files changed, 1 insertion(+), 186 deletions(-) delete mode 100644 cinder/volume/drivers/netapp/dataontap/fc_7mode.py delete mode 100644 cinder/volume/drivers/netapp/dataontap/fc_cmode.py diff --git a/cinder/tests/volume/drivers/netapp/test_common.py b/cinder/tests/volume/drivers/netapp/test_common.py index 347333f3b..71157af1a 100644 --- a/cinder/tests/volume/drivers/netapp/test_common.py +++ b/cinder/tests/volume/drivers/netapp/test_common.py @@ -19,7 +19,6 @@ from cinder import exception from cinder import test import cinder.tests.volume.drivers.netapp.fakes as na_fakes import cinder.volume.drivers.netapp.common as na_common -import cinder.volume.drivers.netapp.dataontap.fc_cmode as fc_cmode import cinder.volume.drivers.netapp.utils as na_utils @@ -98,16 +97,6 @@ class NetAppDriverFactoryTestCase(test.TestCase): family, protocol, **kwargs) self.assertEqual(full_class_name, get_full_class_name(driver)) - def test_create_driver_case_insensitive(self): - - kwargs = {'configuration': na_fakes.create_configuration(), - 'app_version': 'fake_info'} - - driver = na_common.NetAppDriver.create_driver('ONTAP_CLUSTER', 'FC', - **kwargs) - - self.assertIsInstance(driver, fc_cmode.NetAppCmodeFibreChannelDriver) - def test_create_driver_invalid_family(self): kwargs = {'configuration': na_fakes.create_configuration(), @@ -124,4 +113,4 @@ class NetAppDriverFactoryTestCase(test.TestCase): self.assertRaises(exception.InvalidInput, na_common.NetAppDriver.create_driver, - 'ontap_7mode', 'carrier_pigeon', **kwargs) \ No newline at end of file + 'ontap_7mode', 'carrier_pigeon', **kwargs) diff --git a/cinder/volume/drivers/netapp/common.py b/cinder/volume/drivers/netapp/common.py index d20a0e5e8..b5334dce0 100644 --- a/cinder/volume/drivers/netapp/common.py +++ b/cinder/volume/drivers/netapp/common.py @@ -39,13 +39,11 @@ NETAPP_UNIFIED_DRIVER_REGISTRY = { { 'iscsi': DATAONTAP_PATH + '.iscsi_cmode.NetAppCmodeISCSIDriver', 'nfs': DATAONTAP_PATH + '.nfs_cmode.NetAppCmodeNfsDriver', - 'fc': DATAONTAP_PATH + '.fc_cmode.NetAppCmodeFibreChannelDriver' }, 'ontap_7mode': { 'iscsi': DATAONTAP_PATH + '.iscsi_7mode.NetApp7modeISCSIDriver', 'nfs': DATAONTAP_PATH + '.nfs_7mode.NetApp7modeNfsDriver', - 'fc': DATAONTAP_PATH + '.fc_7mode.NetApp7modeFibreChannelDriver' }, 'eseries': { diff --git a/cinder/volume/drivers/netapp/dataontap/fc_7mode.py b/cinder/volume/drivers/netapp/dataontap/fc_7mode.py deleted file mode 100644 index 4bf2f8409..000000000 --- a/cinder/volume/drivers/netapp/dataontap/fc_7mode.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) - 2014, Clinton Knight. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -""" -Volume driver for NetApp Data ONTAP (7-mode) FibreChannel storage systems. -""" - -from oslo_log import log as logging - -from cinder.volume import driver -from cinder.volume.drivers.netapp.dataontap import block_7mode -from cinder.zonemanager import utils as fczm_utils - -LOG = logging.getLogger(__name__) - - -class NetApp7modeFibreChannelDriver(driver.FibreChannelDriver): - """NetApp 7-mode FibreChannel volume driver.""" - - DRIVER_NAME = 'NetApp_FibreChannel_7mode_direct' - - def __init__(self, *args, **kwargs): - super(NetApp7modeFibreChannelDriver, self).__init__(*args, **kwargs) - self.library = block_7mode.NetAppBlockStorage7modeLibrary( - self.DRIVER_NAME, 'FC', **kwargs) - - def do_setup(self, context): - self.library.do_setup(context) - - def check_for_setup_error(self): - self.library.check_for_setup_error() - - def create_volume(self, volume): - self.library.create_volume(volume) - - def create_volume_from_snapshot(self, volume, snapshot): - self.library.create_volume_from_snapshot(volume, snapshot) - - def create_cloned_volume(self, volume, src_vref): - self.library.create_cloned_volume(volume, src_vref) - - def delete_volume(self, volume): - self.library.delete_volume(volume) - - def create_snapshot(self, snapshot): - self.library.create_snapshot(snapshot) - - def delete_snapshot(self, snapshot): - self.library.delete_snapshot(snapshot) - - def get_volume_stats(self, refresh=False): - return self.library.get_volume_stats(refresh) - - def extend_volume(self, volume, new_size): - self.library.extend_volume(volume, new_size) - - def ensure_export(self, context, volume): - return self.library.ensure_export(context, volume) - - def create_export(self, context, volume): - return self.library.create_export(context, volume) - - def remove_export(self, context, volume): - self.library.remove_export(context, volume) - - @fczm_utils.AddFCZone - def initialize_connection(self, volume, connector): - return self.library.initialize_connection_fc(volume, connector) - - @fczm_utils.RemoveFCZone - def terminate_connection(self, volume, connector, **kwargs): - return self.library.terminate_connection_fc(volume, connector, - **kwargs) - - def get_pool(self, volume): - return self.library.get_pool(volume) diff --git a/cinder/volume/drivers/netapp/dataontap/fc_cmode.py b/cinder/volume/drivers/netapp/dataontap/fc_cmode.py deleted file mode 100644 index b7ef1dc82..000000000 --- a/cinder/volume/drivers/netapp/dataontap/fc_cmode.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) - 2014, Clinton Knight. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -""" -Volume driver for NetApp Data ONTAP (C-mode) FibreChannel storage systems. -""" - -from oslo_log import log as logging - -from cinder.volume import driver -from cinder.volume.drivers.netapp.dataontap import block_cmode -from cinder.zonemanager import utils as fczm_utils - -LOG = logging.getLogger(__name__) - - -class NetAppCmodeFibreChannelDriver(driver.FibreChannelDriver): - """NetApp C-mode FibreChannel volume driver.""" - - DRIVER_NAME = 'NetApp_FibreChannel_Cluster_direct' - - def __init__(self, *args, **kwargs): - super(NetAppCmodeFibreChannelDriver, self).__init__(*args, **kwargs) - self.library = block_cmode.NetAppBlockStorageCmodeLibrary( - self.DRIVER_NAME, 'FC', **kwargs) - - def do_setup(self, context): - self.library.do_setup(context) - - def check_for_setup_error(self): - self.library.check_for_setup_error() - - def create_volume(self, volume): - self.library.create_volume(volume) - - def create_volume_from_snapshot(self, volume, snapshot): - self.library.create_volume_from_snapshot(volume, snapshot) - - def create_cloned_volume(self, volume, src_vref): - self.library.create_cloned_volume(volume, src_vref) - - def delete_volume(self, volume): - self.library.delete_volume(volume) - - def create_snapshot(self, snapshot): - self.library.create_snapshot(snapshot) - - def delete_snapshot(self, snapshot): - self.library.delete_snapshot(snapshot) - - def get_volume_stats(self, refresh=False): - return self.library.get_volume_stats(refresh) - - def extend_volume(self, volume, new_size): - self.library.extend_volume(volume, new_size) - - def ensure_export(self, context, volume): - return self.library.ensure_export(context, volume) - - def create_export(self, context, volume): - return self.library.create_export(context, volume) - - def remove_export(self, context, volume): - self.library.remove_export(context, volume) - - @fczm_utils.AddFCZone - def initialize_connection(self, volume, connector): - return self.library.initialize_connection_fc(volume, connector) - - @fczm_utils.RemoveFCZone - def terminate_connection(self, volume, connector, **kwargs): - return self.library.terminate_connection_fc(volume, connector, - **kwargs) - - def get_pool(self, volume): - return self.library.get_pool(volume) \ No newline at end of file -- 2.45.2