Remove useless logging from unit tests

It has been discussed that there really isn't much point in having
unit tests making any kind of logger calls. Some usage has already
been cleaned up. This patch removes the remaining instances of log
calls under the cinder/tests directory.

Also cleaned up a lot of cases where the source files would import
oslo_logging and declare a LOG variable which was never actually
used.

Leaving logging in the cinder/tests/unit/integrated tree for now
until a plan is decided as to what to do with all of these type of
tests.

Added hacking check to prevent new instances from slipping by code
reviews.

Change-Id: If177394486d5c92fa5466cd3825b15d30cf5fb18
changes/23/197723/6
Sean McGinnis 8 years ago committed by Walter A. Boring IV (hemna)
parent 409bc28183
commit 46e1f1741d

@ -25,6 +25,7 @@ Cinder Specific Commandments
- [C306] timeutils.strtime() must not be used (deprecated).
- [C307] LOG.warn is deprecated. Enforce use of LOG.warning.
- [C308] timeutils.isotime() must not be used (deprecated).
- [C309] Unit tests should not perform logging.
General
-------

@ -57,6 +57,8 @@ log_translation_LE = re.compile(
r"(.)*LOG\.(exception|error)\(\s*(_\(|'|\")")
log_translation_LW = re.compile(
r"(.)*LOG\.(warning|warn)\(\s*(_\(|'|\")")
logging_instance = re.compile(
r"(.)*LOG\.(warning|info|debug|error|exception)\(")
class BaseASTChecker(ast.NodeVisitor):
@ -307,6 +309,17 @@ def check_timeutils_isotime(logical_line):
yield(0, msg)
def no_test_log(logical_line, filename, noqa):
if "cinder/tests" not in filename or noqa:
return
# Skip the "integrated" tests for now
if "cinder/tests/unit/integrated" in filename:
return
msg = "C309: Unit tests should not perform logging."
if logging_instance.match(logical_line):
yield (0, msg)
def factory(register):
register(no_vi_headers)
register(no_translate_debug_logs)
@ -324,3 +337,4 @@ def factory(register):
register(check_no_contextlib_nested)
register(no_log_warn)
register(dict_constructor_with_list_copy)
register(no_test_log)

@ -21,7 +21,6 @@ import json
from xml.dom import minidom
import mock
from oslo_log import log as logging
import webob
from cinder.consistencygroup import api as consistencygroupAPI
@ -34,9 +33,6 @@ from cinder.tests.unit import utils
import cinder.volume
LOG = logging.getLogger(__name__)
class CgsnapshotsAPITestCase(test.TestCase):
"""Test Case for cgsnapshots API."""
@ -76,7 +72,6 @@ class CgsnapshotsAPITestCase(test.TestCase):
consistencygroup_id)['id']
cgsnapshot_id = self._create_cgsnapshot(
consistencygroup_id=consistencygroup_id)
LOG.debug('Created cgsnapshot with id %s' % cgsnapshot_id)
req = webob.Request.blank('/v2/fake/cgsnapshots/%s' %
cgsnapshot_id)
req.method = 'GET'
@ -364,7 +359,6 @@ class CgsnapshotsAPITestCase(test.TestCase):
res = req.get_response(fakes.wsgi_app())
res_dict = json.loads(res.body)
LOG.info(res_dict)
self.assertEqual(res.status_int, 202)
self.assertIn('id', res_dict['cgsnapshot'])

@ -16,7 +16,6 @@
import datetime
from lxml import etree
from oslo_log import log as logging
from oslo_utils import timeutils
import webob.exc
@ -26,7 +25,6 @@ from cinder import db
from cinder import test
LOG = logging.getLogger(__name__)
created_time = datetime.datetime(2012, 11, 14, 1, 20, 41, 95099)
curr_time = datetime.datetime(2013, 7, 3, 0, 0, 1)

@ -20,7 +20,6 @@ Tests for volume transfer code.
import json
from xml.dom import minidom
from oslo_log import log as logging
import webob
from cinder.api.contrib import volume_transfer
@ -32,9 +31,6 @@ from cinder.tests.unit.api import fakes
import cinder.transfer
LOG = logging.getLogger(__name__)
class VolumeTransferAPITestCase(test.TestCase):
"""Test Case for transfers API."""
@ -71,7 +67,6 @@ class VolumeTransferAPITestCase(test.TestCase):
def test_show_transfer(self):
volume_id = self._create_volume(size=5)
transfer = self._create_transfer(volume_id)
LOG.debug('Created transfer with id %s' % transfer)
req = webob.Request.blank('/v2/fake/os-volume-transfer/%s' %
transfer['id'])
req.method = 'GET'
@ -269,7 +264,6 @@ class VolumeTransferAPITestCase(test.TestCase):
res = req.get_response(fakes.wsgi_app())
res_dict = json.loads(res.body)
LOG.info(res_dict)
self.assertEqual(res.status_int, 202)
self.assertIn('id', res_dict['transfer'])

@ -13,8 +13,6 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log as logging
from cinder.api.openstack import wsgi
from cinder.api.v1 import router
from cinder.api.v1 import snapshots
@ -24,9 +22,6 @@ from cinder import test
from cinder.tests.unit.api import fakes
LOG = logging.getLogger(__name__)
class FakeController(object):
def __init__(self, ext_mgr=None):
self.ext_mgr = ext_mgr

@ -15,7 +15,6 @@
from lxml import etree
import mock
from oslo_log import log as logging
from oslo_utils import timeutils
import webob
@ -32,8 +31,6 @@ from cinder.tests.unit import fake_volume
from cinder import volume
LOG = logging.getLogger(__name__)
UUID = '00000000-0000-0000-0000-000000000001'
INVALID_UUID = '00000000-0000-0000-0000-000000000002'

@ -15,7 +15,6 @@
from lxml import etree
import mock
from oslo_log import log as logging
from oslo_utils import timeutils
import webob
@ -32,8 +31,6 @@ from cinder.tests.unit import fake_volume
from cinder import volume
LOG = logging.getLogger(__name__)
UUID = '00000000-0000-0000-0000-000000000001'
INVALID_UUID = '00000000-0000-0000-0000-000000000002'

@ -10,11 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log as logging
LOG = logging.getLogger(__name__)
class FakeBrickLVM(object):
"""Logs and records calls, for unit tests."""

@ -14,15 +14,12 @@
# under the License.
from mox3 import mox
from oslo_concurrency import processutils
from oslo_log import log as logging
from cinder.brick.local_dev import lvm as brick
from cinder import exception
from cinder import test
from cinder.volume import configuration as conf
LOG = logging.getLogger(__name__)
def create_configuration():
configuration = mox.MockObject(conf.Configuration)

@ -18,7 +18,6 @@
import datetime
import uuid
from oslo_log import log as logging
from oslo_utils import timeutils
from cinder import context
@ -30,9 +29,6 @@ from cinder import test
from oslo_db.sqlalchemy import utils as sqlalchemyutils
LOG = logging.getLogger(__name__)
class PurgeDeletedTest(test.TestCase):
def setUp(self):

@ -19,8 +19,6 @@
import time
from oslo_log import log as logging
from cinder import context
from cinder import db
from cinder import exception
@ -28,9 +26,6 @@ from cinder import test
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
def fake_qos_specs_get_by_name(context, name, session=None, inactive=False):
pass

@ -15,8 +15,6 @@
"""Tests for transfers table."""
from oslo_log import log as logging
from cinder import context
from cinder import db
from cinder import exception
@ -24,9 +22,6 @@ from cinder import test
from cinder.tests.unit import utils
LOG = logging.getLogger(__name__)
class TransfersTableTestCase(test.TestCase):
"""Test case for transfers model."""

@ -12,18 +12,12 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log as logging
from cinder.i18n import _LE
from cinder.tests.unit.brick import fake_lvm
from cinder.volume import driver
from cinder.volume.drivers import lvm
from cinder.zonemanager import utils as fczm_utils
LOG = logging.getLogger(__name__)
class FakeISCSIDriver(lvm.LVMISCSIDriver):
"""Logs calls instead of executing."""
def __init__(self, *args, **kwargs):
@ -58,7 +52,6 @@ class FakeISCSIDriver(lvm.LVMISCSIDriver):
@staticmethod
def fake_execute(cmd, *_args, **_kwargs):
"""Execute that simply logs the command."""
LOG.debug("FAKE ISCSI: %s", cmd)
return (None, None)
@ -77,7 +70,6 @@ class FakeISERDriver(FakeISCSIDriver):
@staticmethod
def fake_execute(cmd, *_args, **_kwargs):
"""Execute that simply logs the command."""
LOG.debug("FAKE ISER: %s", cmd)
return (None, None)
@ -134,7 +126,6 @@ class LoggingVolumeDriver(driver.VolumeDriver):
self.log_action('clear_volume', volume)
def local_path(self, volume):
LOG.error(_LE("local_path not implemented"))
raise NotImplementedError()
def ensure_export(self, context, volume):
@ -161,12 +152,10 @@ class LoggingVolumeDriver(driver.VolumeDriver):
@staticmethod
def log_action(action, parameters):
"""Logs the command."""
LOG.debug("LoggingVolumeDriver: %s" % (action))
log_dictionary = {}
if parameters:
log_dictionary = dict(parameters)
log_dictionary['action'] = action
LOG.debug("LoggingVolumeDriver: %s" % (log_dictionary))
LoggingVolumeDriver._LOGS.append(log_dictionary)
@staticmethod

@ -17,14 +17,10 @@
import re
from eventlet import greenthread
from oslo_concurrency import processutils
from oslo_log import log as logging
import six
from cinder import utils
LOG = logging.getLogger(__name__)
_fake_execute_repliers = []
_fake_execute_log = []
@ -68,7 +64,6 @@ def fake_execute(*cmd_parts, **kwargs):
run_as_root = kwargs.get('run_as_root', False)
cmd_str = ' '.join(str(part) for part in cmd_parts)
LOG.debug("Faking execution of cmd (subprocess): %s", cmd_str)
_fake_execute_log.append(cmd_str)
reply_handler = fake_execute_default_reply_handler
@ -76,28 +71,19 @@ def fake_execute(*cmd_parts, **kwargs):
for fake_replier in _fake_execute_repliers:
if re.match(fake_replier[0], cmd_str):
reply_handler = fake_replier[1]
LOG.debug('Faked command matched %s' % fake_replier[0])
break
if isinstance(reply_handler, six.string_types):
# If the reply handler is a string, return it as stdout
reply = reply_handler, ''
else:
try:
# Alternative is a function, so call it
reply = reply_handler(cmd_parts,
process_input=process_input,
delay_on_retry=delay_on_retry,
attempts=attempts,
run_as_root=run_as_root,
check_exit_code=check_exit_code)
except processutils.ProcessExecutionError as e:
LOG.debug('Faked command raised an exception %s', e)
raise
LOG.debug("Reply to faked command is stdout='%(stdout)s' "
"stderr='%(stderr)s'" % {'stdout': reply[0],
'stderr': reply[1]})
# Alternative is a function, so call it
reply = reply_handler(cmd_parts,
process_input=process_input,
delay_on_retry=delay_on_retry,
attempts=attempts,
run_as_root=run_as_root,
check_exit_code=check_exit_code)
# Replicate the sleep call in the real function
greenthread.sleep(0)

@ -20,15 +20,10 @@ import copy
import datetime
import uuid
from oslo_log import log as logging
from cinder import exception
import cinder.image.glance
LOG = logging.getLogger(__name__)
class _FakeImageService(object):
"""Mock (fake) image service for unit testing."""
@ -163,8 +158,6 @@ class _FakeImageService(object):
image = self.images.get(str(image_id))
if image:
return copy.deepcopy(image)
LOG.warning('Unable to find image id %s. Have images: %s',
image_id, self.images)
raise exception.ImageNotFound(image_id=image_id)
def create(self, context, metadata, data=None):

@ -1,4 +1,3 @@
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
@ -20,7 +19,6 @@ Tests For Scheduler
import mock
from oslo_config import cfg
from oslo_log import log as logging
from cinder import context
from cinder import db
@ -266,9 +264,7 @@ class SchedulerManagerTestCase(test.TestCase):
'schedule_create_consistencygroup') as mock_cg:
original_driver = self.manager.driver
self.manager.driver = filter_scheduler.FilterScheduler
LOG = logging.getLogger('cinder.scheduler.manager')
self.stubs.Set(LOG, 'error', mock.Mock())
self.stubs.Set(LOG, 'exception', mock.Mock())
LOG = self.mock_object(manager, 'LOG')
self.stubs.Set(db, 'consistencygroup_update', mock.Mock())
ex = exception.CinderException('test')

@ -21,7 +21,6 @@ try:
from unittest import mock
except ImportError:
import mock
from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import units
import six
@ -34,8 +33,6 @@ from cinder import test
from cinder.volume import configuration as conf
import cinder.volume.drivers.blockbridge as bb
LOG = logging.getLogger(__name__)
DEFAULT_POOL_NAME = "OpenStack"
DEFAULT_POOL_QUERY = "+openstack"

@ -13,7 +13,6 @@
# under the License.
import mock
from oslo_log import log as logging
from cinder import context
from cinder import exception
@ -22,12 +21,8 @@ from cinder.volume.drivers.dell import dell_storagecenter_api
from cinder.volume.drivers.dell import dell_storagecenter_fc
LOG = logging.getLogger(__name__)
# We patch these here as they are used by every test to keep
# from trying to contact a Dell Storage Center.
@mock.patch.object(dell_storagecenter_api.StorageCenterApi,
'__init__',
return_value=None)

@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log as logging
import uuid
import mock
from cinder import context
from cinder import exception
@ -21,17 +23,9 @@ from cinder.volume.drivers.dell import dell_storagecenter_api
from cinder.volume.drivers.dell import dell_storagecenter_iscsi
from cinder.volume import volume_types
import mock
import uuid
LOG = logging.getLogger(__name__)
# We patch these here as they are used by every test to keep
# from trying to contact a Dell Storage Center.
@mock.patch.object(dell_storagecenter_api.StorageCenterApi,
'__init__',
return_value=None)

@ -13,24 +13,18 @@
# under the License.
import ddt
from oslo_log import log as logging
import mock
from requests import models
import uuid
from cinder import context
from cinder import exception
from cinder import test
from cinder.volume.drivers.dell import dell_storagecenter_api
import mock
from requests import models
import uuid
LOG = logging.getLogger(__name__)
# We patch these here as they are used by every test to keep
# from trying to contact a Dell Storage Center.
@ddt.ddt
@mock.patch.object(dell_storagecenter_api.StorageCenterApi,
'__init__',

@ -16,7 +16,6 @@
import collections
import mock
from oslo_log import log as logging
from oslo_utils import importutils
from oslo_utils import timeutils
@ -71,9 +70,6 @@ sys.modules['drbdmanage.exceptions'] = collections.namedtuple(
from cinder.volume.drivers import drbdmanagedrv
LOG = logging.getLogger(__name__)
def create_configuration(object):
configuration = mock.MockObject(conf.Configuration)
configuration.san_is_local = False

@ -20,7 +20,6 @@ import time
from xml.dom import minidom
import mock
from oslo_log import log as logging
from oslo_service import loopingcall
from oslo_utils import units
import six
@ -39,7 +38,6 @@ from cinder.volume.drivers.emc import emc_vmax_utils
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
CINDER_EMC_CONFIG_DIR = '/etc/cinder/'

@ -15,16 +15,12 @@
import mock
from oslo_log import log as logging
import six
from cinder import exception
from cinder import test
from cinder.volume.drivers.emc import xtremio
LOG = logging.getLogger(__name__)
typ2id = {'volumes': 'vol-id',
'snapshots': 'vol-id',
'initiators': 'initiator-id',
@ -149,8 +145,6 @@ def xms_request(object_type='volumes', request_typ='GET', data=None,
del xms_data[object_type][data['index']]
del xms_data[object_type][data[typ2id[object_type]][1]]
else:
LOG.error('Trying to delete a missing object %s',
six.text_type(obj_key))
raise exception.NotFound()
elif request_typ == 'PUT':
if obj_key in xms_data[object_type]:
@ -160,8 +154,6 @@ def xms_request(object_type='volumes', request_typ='GET', data=None,
if key:
xms_data[object_type][data[key]] = obj
else:
LOG.error('Trying to update a missing object %s',
six.text_type(obj_key))
raise exception.NotFound()

@ -18,7 +18,6 @@ import time
from eventlet import greenthread
import mock
from oslo_concurrency import processutils
from oslo_log import log as logging
import paramiko
import six
@ -30,8 +29,6 @@ from cinder import utils
from cinder.volume import configuration as conf
from cinder.volume.drivers import eqlx
LOG = logging.getLogger(__name__)
class DellEQLSanISCSIDriverTestCase(test.TestCase):

@ -19,7 +19,6 @@ import tempfile
import mock
from oslo_concurrency import processutils
from oslo_config import cfg
from oslo_log import log as logging
from oslo_utils import units
from cinder import context
@ -31,8 +30,6 @@ from cinder.volume.drivers.ibm import gpfs
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
CONF = cfg.CONF

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import ddt
import textwrap
import mock
@ -21,6 +22,7 @@ from cinder.hacking import checks
from cinder import test
@ddt.ddt
class HackingTestCase(test.TestCase):
"""This class tests the hacking checks in cinder.hacking.checks
@ -346,3 +348,18 @@ class HackingTestCase(test.TestCase):
self.assertEqual(0, len(list(checks.dict_constructor_with_list_copy(
" self._render_dict(xml, data_el, data.__dict__)"))))
@ddt.unpack
@ddt.data(
(1, 'LOG.info', "cinder/tests/unit/fake.py", False),
(1, 'LOG.warning', "cinder/tests/fake.py", False),
(1, 'LOG.error', "cinder/tests/fake.py", False),
(1, 'LOG.exception', "cinder/tests/fake.py", False),
(1, 'LOG.debug', "cinder/tests/fake.py", False),
(0, 'LOG.info.assert_called_once_with', "cinder/tests/fake.py", False),
(0, 'some.LOG.error.call', "cinder/tests/fake.py", False),
(0, 'LOG.warning', "cinder/tests/unit/fake.py", True),
(0, 'LOG.warning', "cinder/tests/unit/integrated/fake.py", False))
def test_no_test_log(self, first, second, third, fourth):
self.assertEqual(first, len(list(checks.no_test_log(
"%s('arg')" % second, third, fourth))))

@ -17,7 +17,6 @@
import mock
from oslo_concurrency import processutils
from oslo_config import cfg
from oslo_log import log as logging
from cinder import test
from cinder import utils
@ -26,8 +25,6 @@ from cinder.volume.drivers.hitachi import hnas_nfs as nfs
CONF = cfg.CONF
LOG = logging.getLogger(__name__)
HNAS_RESULT1 = "\n\
FS ID FS Label FS Permanent ID EVS ID EVS Label\n\
----- ----------- ------------------ ------ ---------\n\
@ -271,8 +268,6 @@ UTILS_EXEC_OUT = ["output: test_cmd", ""]
def m_run_cmd(*args, **kargs):
LOG.debug(args)
LOG.debug(HNAS_CMDS.get(args))
return HNAS_CMDS.get(args)

@ -22,7 +22,6 @@ import os
import tempfile
import mock
from oslo_log import log as logging
import six
from cinder import exception
@ -31,8 +30,6 @@ from cinder.volume import configuration as conf
from cinder.volume.drivers.hitachi import hnas_iscsi as iscsi
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
HNASCONF = """<?xml version="1.0" encoding="UTF-8" ?>
<config>
<hnas_cmd>ssc</hnas_cmd>
@ -104,24 +101,16 @@ class SimulatedHnasBackend(object):
self.connections = []
def deleteVolume(self, name):
LOG.info("delVolume: name %s", name)
volume = self.getVolume(name)
if volume:
LOG.info("deleteVolume: deleted name %s provider %s",
volume['name'], volume['provider_location'])
self.volumes.remove(volume)
return True
else:
return False
def deleteVolumebyProvider(self, provider):
LOG.info("delVolumeP: provider %s", provider)
volume = self.getVolumebyProvider(provider)
if volume:
LOG.info("deleteVolumeP: deleted name %s provider %s",
volume['name'], volume['provider_location'])
self.volumes.remove(volume)
return True
else:
@ -131,39 +120,20 @@ class SimulatedHnasBackend(object):
return self.volumes
def getVolume(self, name):
LOG.info("getVolume: find by name %s", name)
if self.volumes:
for volume in self.volumes:
if str(volume['name']) == name:
LOG.info("getVolume: found name %s provider %s",
volume['name'], volume['provider_location'])
return volume
else:
LOG.info("getVolume: no volumes")
LOG.info("getVolume: not found")
return None
def getVolumebyProvider(self, provider):
LOG.info("getVolumeP: find by provider %s", provider)
if self.volumes:
for volume in self.volumes:
if str(volume['provider_location']) == provider:
LOG.info("getVolumeP: found name %s provider %s",
volume['name'], volume['provider_location'])
return volume
else:
LOG.info("getVolumeP: no volumes")
LOG.info("getVolumeP: not found")
return None
def createVolume(self, name, provider, sizeMiB, comment):
LOG.info("createVolume: name %s provider %s comment %s",
name, provider, comment)
new_vol = {'additionalStates': [],
'adminSpace': {'freeMiB': 0,
'rawReservedMiB': 384,
@ -203,10 +173,8 @@ class SimulatedHnasBackend(object):
def delete_lu(self, cmd, ip0, user, pw, hdp, lun):
_out = ""
id = "myID"
LOG.info("Delete_Lu: check lun %s id %s", lun, id)
if self.deleteVolumebyProvider(id + '.' + str(lun)):
LOG.warning("Delete_Lu: failed to delete lun %s id %s", lun, id)
self.deleteVolumebyProvider(id + '.' + str(lun))
return _out
def create_dup(self, cmd, ip0, user, pw, src_lun, hdp, size, name):
@ -214,7 +182,6 @@ class SimulatedHnasBackend(object):
(self.start_lun, size))
id = name
LOG.info("HNAS Create_Dup: %d", self.start_lun)
self.createVolume(name, id + '.' + str(self.start_lun), size,
"create-dup")
self.start_lun += 1
@ -231,7 +198,6 @@ class SimulatedHnasBackend(object):
self.init_index += 1
self.target_index += 1
self.hlun += 1
LOG.debug("Created connection %d", self.init_index)
self.connections.append(conn)
return _out
@ -246,11 +212,9 @@ class SimulatedHnasBackend(object):
_out = ("LUN: %s successfully extended to %s MB" % (lu, size))
id = name
self.out = _out
LOG.info("extend_vol: lu: %s %d -> %s", lu, int(size), self.out)
v = self.getVolumebyProvider(id + '.' + str(lu))
if v:
v['sizeMiB'] = size
LOG.info("extend_vol: out %s %s", self.out, self)
return _out
def get_luns(self):

@ -18,7 +18,6 @@ import os
import tempfile
import mock
from oslo_log import log as logging
import six
from cinder import exception
@ -27,7 +26,6 @@ from cinder.volume import configuration as conf
from cinder.volume.drivers.hitachi import hnas_nfs as nfs
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
SHARESCONF = """172.17.39.132:/cinder
172.17.39.133:/cinder"""
@ -124,9 +122,7 @@ class SimulatedHnasBackend(object):
def file_clone(self, cmd, ip0, user, pw, fslabel, source_path,
target_path):
_out = ""
LOG.info("Clone: %s -> %s" % (source_path, target_path))
return _out
return ""
def get_version(self, ver, cmd, ip0, user, pw):
self.out = "Array_ID: 18-48-A5-A1-80-13 (3080-G2) " \

@ -20,7 +20,6 @@ import mock
import ast
from oslo_config import cfg
from oslo_log import log as logging
from oslo_utils import units
from cinder import context
@ -36,8 +35,6 @@ from cinder.volume import volume_types
hpexceptions = hp3parclient.hpexceptions
LOG = logging.getLogger(__name__)
CONF = cfg.CONF
HP3PAR_CPG = 'OpenStackCPG'

@ -16,7 +16,6 @@
"""Unit tests for OpenStack Cinder volume drivers."""
import mock
from oslo_log import log as logging
from oslo_utils import units
import six
@ -30,8 +29,6 @@ from cinder.volume import volume_types
hpexceptions = hplefthandclient.hpexceptions
LOG = logging.getLogger(__name__)
GOODNESS_FUNCTION = \
"capabilities.capacity_utilization < 0.6? 100 : 25"
FILTER_FUNCTION = \

@ -21,7 +21,6 @@ import time
from xml.dom import minidom
import mock
from oslo_log import log as logging
from cinder import exception
from cinder import test
@ -29,7 +28,6 @@ from cinder.volume import configuration as conf
from cinder.volume.drivers.huawei import huawei_18000
from cinder.volume.drivers.huawei import rest_common
LOG = logging.getLogger(__name__)
test_volume = {'name': 'volume-21ec7341-9256-497b-97d9-ef48edcf0635',
'size': 2,

@ -21,8 +21,6 @@ Tests for the IBM FlashSystem volume driver.
import mock
from oslo_concurrency import processutils
from oslo_log import log as logging
from oslo_utils import excutils
from oslo_utils import units
import six
@ -38,8 +36,6 @@ from cinder.volume.drivers.ibm import flashsystem_fc
from cinder.volume import utils as volume_utils
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
class FlashSystemManagementSimulator(object):
def __init__(self):
@ -664,19 +660,8 @@ class FlashSystemFakeDriver(flashsystem_fc.FlashSystemFCDriver):
self.fake_storage = fake
def _ssh(self, cmd, check_exit_code=True):
try:
LOG.debug('Run CLI command: %s' % cmd)
utils.check_ssh_injection(cmd)
ret = self.fake_storage.execute_command(cmd, check_exit_code)
(stdout, stderr) = ret
LOG.debug('CLI output:\n stdout: %(stdout)s\n stderr: '
'%(stderr)s' % {'stdout': stdout, 'stderr': stderr})
except processutils.ProcessExecutionError as e:
with excutils.save_and_reraise_exception():
LOG.debug('CLI Exception output:\n stdout: %(out)s\n '
'stderr: %(err)s' % {'out': e.stdout,
'err': e.stderr})
utils.check_ssh_injection(cmd)
ret = self.fake_storage.execute_command(cmd, check_exit_code)
return ret

@ -19,9 +19,6 @@ Tests for the IBM FlashSystem iSCSI volume driver.
"""
import mock
from oslo_concurrency import processutils
from oslo_log import log as logging
from oslo_utils import excutils
import six
import random
@ -35,8 +32,6 @@ from cinder.volume import configuration as conf
from cinder.volume.drivers.ibm import flashsystem_iscsi
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
class FlashSystemManagementSimulator(fscommon.FlashSystemManagementSimulator):
def __init__(self):
@ -66,20 +61,8 @@ class FlashSystemFakeISCSIDriver(flashsystem_iscsi.FlashSystemISCSIDriver):
self.fake_storage = fake
def _ssh(self, cmd, check_exit_code=True):
ret = None
try:
LOG.debug('Run CLI command: %s', cmd)
utils.check_ssh_injection(cmd)
ret = self.fake_storage.execute_command(cmd, check_exit_code)
(stdout, stderr) = ret
LOG.debug('CLI output:\n stdout: %(stdout)s\n stderr: '
'%(stderr)s', {'stdout': stdout, 'stderr': stderr})
except processutils.ProcessExecutionError as e:
with excutils.save_and_reraise_exception():
LOG.debug('CLI Exception output:\n stdout: %(out)s\n '
'stderr: %(err)s', {'out': e.stdout,
'err': e.stderr})
utils.check_ssh_injection(cmd)
ret = self.fake_storage.execute_command(cmd, check_exit_code)
return ret

@ -23,7 +23,6 @@ NAS based IBM GPFS Storage Systems).
import mock
from oslo_config import cfg
from oslo_log import log as logging
from oslo_utils import units
from cinder import context
@ -32,8 +31,6 @@ from cinder import test
from cinder.volume import configuration as conf
from cinder.volume.drivers.ibm import ibmnas
LOG = logging.getLogger(__name__)
CONF = cfg.CONF

@ -19,7 +19,6 @@ Tests for NetApp volume driver
from lxml import etree
import mock
from oslo_log import log as logging
import six
from six.moves import BaseHTTPServer
from six.moves import http_client
@ -35,9 +34,6 @@ from cinder.volume.drivers.netapp import options
from cinder.volume.drivers.netapp import utils
LOG = logging.getLogger("cinder.volume.driver")
def create_configuration():
configuration = conf.Configuration(None)
configuration.append_config_values(options.netapp_connection_opts)

@ -23,7 +23,6 @@ import json
import re
import mock
from oslo_log import log as logging
import requests
from six.moves import urllib
@ -38,9 +37,6 @@ from cinder.volume.drivers.netapp import options
import cinder.volume.drivers.netapp.utils as na_utils
LOG = logging.getLogger(__name__)
def create_configuration():
configuration = conf.Configuration(None)
configuration.append_config_values(options.netapp_basicauth_opts)

@ -22,11 +22,9 @@ import unittest
from lxml import etree
import mock
from mox3 import mox as mox_lib
from oslo_log import log as logging
import six
from cinder import exception
from cinder.i18n import _LW
from cinder.image import image_utils
from cinder import test
from cinder import utils as cinder_utils
@ -48,8 +46,6 @@ from cinder.volume.drivers.netapp import utils
from oslo_config import cfg
CONF = cfg.CONF
LOG = logging.getLogger(__name__)
CONNECTION_INFO = {'hostname': 'fake_host',
'transport_type': 'https',
@ -375,8 +371,6 @@ class NetAppCmodeNfsDriverTestCase(test.TestCase):
if (share == 'testshare' and file_name == 'img-cache-id'):
pass
else:
LOG.warning(_LW("Share %(share)s and file name %(file_name)s")
% {'share': share, 'file_name': file_name})
self.fail('Return result is unexpected')
def test_find_old_cache_files_notexists(self):

@ -15,7 +15,6 @@
import mock
from oslo_config import cfg
from oslo_log import log as logging
from cinder import exception
from cinder import test
@ -26,7 +25,6 @@ CONF = cfg.CONF
NIMBLE_CLIENT = 'cinder.volume.drivers.nimble.client'
NIMBLE_URLLIB2 = 'six.moves.urllib.request'
NIMBLE_RANDOM = 'cinder.volume.drivers.nimble.random'
LOG = logging.getLogger(__name__)
FAKE_ENUM_STRING = """
<simpleType name="SmErrorType">

@ -20,7 +20,6 @@ Unit Tests for qos specs internal API
import time
from oslo_db import exception as db_exc
from oslo_log import log as logging
from cinder import context
from cinder import db
@ -30,9 +29,6 @@ from cinder.volume import qos_specs
from cinder.volume import volume_types
LOG = logging.getLogger(__name__)
def fake_db_qos_specs_create(context, values):
if values['name'] == 'DupQoSName':
raise exception.QoSSpecsExists(specs_id=values['name'])

@ -21,7 +21,6 @@ import os
import tempfile
import mock
from oslo_log import log as logging
from oslo_utils import timeutils
from oslo_utils import units
@ -37,9 +36,6 @@ import cinder.volume.drivers.rbd as driver
from cinder.volume.flows.manager import create_volume
LOG = logging.getLogger(__name__)
# This is used to collect raised exceptions so that tests may check what was
# raised.
# NOTE: this must be initialised in test setUp().

@ -18,7 +18,6 @@ Unit tests for the Scality Rest Block Volume Driver.
import mock
from oslo_concurrency import processutils
from oslo_log import log as logging
from oslo_utils import units
from cinder import context
@ -28,8 +27,6 @@ from cinder.tests.unit.brick import test_brick_lvm
from cinder.volume import configuration as conf
from cinder.volume.drivers import srb
LOG = logging.getLogger(__name__)