Flake8: Fix H302
Fix H302 and enable the test: H302 import only modules.'from X import Y' does not import a module Fix also in the touched files the following: E128 continuation line under-indented for visual indent Change-Id: I3116c030a5dc0b5be2b4413beaa460e483215774 Partial-Bug: #1333290
This commit is contained in:
parent
e85bdaca65
commit
ab96ccb1ef
|
@ -25,7 +25,6 @@ from manila.api import xmlutil
|
|||
from manila import db
|
||||
from manila.db.sqlalchemy import api as sqlalchemy_api
|
||||
from manila import exception
|
||||
from manila.openstack.common.gettextutils import _
|
||||
from manila.openstack.common import log as logging
|
||||
from manila.openstack.common import strutils
|
||||
from manila import quota
|
||||
|
@ -103,8 +102,8 @@ class QuotaSetsController(object):
|
|||
user_id = params.get('user_id', [None])[0]
|
||||
try:
|
||||
sqlalchemy_api.authorize_project_context(context, id)
|
||||
return self._format_quota_set(id,
|
||||
self._get_quotas(context, id, user_id=user_id))
|
||||
return self._format_quota_set(
|
||||
id, self._get_quotas(context, id, user_id=user_id))
|
||||
except exception.NotAuthorized:
|
||||
raise webob.exc.HTTPForbidden()
|
||||
|
||||
|
@ -193,8 +192,8 @@ class QuotaSetsController(object):
|
|||
'value': value})
|
||||
if quota_used > value:
|
||||
msg = (_("Quota value %(value)s for %(key)s are "
|
||||
"greater than already used and reserved "
|
||||
"%(quota_used)s") %
|
||||
"greater than already used and reserved "
|
||||
"%(quota_used)s") %
|
||||
{'value': value, 'key': key,
|
||||
'quota_used': quota_used})
|
||||
raise webob.exc.HTTPBadRequest(explanation=msg)
|
||||
|
|
|
@ -239,12 +239,12 @@ class API(base.Base):
|
|||
|
||||
@translate_server_exception
|
||||
def instance_volumes_list(self, context, instance_id):
|
||||
from manila.volume.cinder import cinderclient
|
||||
from manila.volume import cinder
|
||||
|
||||
volumes = novaclient(context).volumes.get_server_volumes(instance_id)
|
||||
|
||||
for volume in volumes:
|
||||
volume_data = cinderclient(context).volumes.get(volume.id)
|
||||
volume_data = cinder.cinderclient(context).volumes.get(volume.id)
|
||||
volume.name = volume_data.display_name
|
||||
|
||||
return volumes
|
||||
|
|
|
@ -22,7 +22,6 @@ from manila import context
|
|||
from manila.db import base
|
||||
from manila import exception
|
||||
from manila.network import neutron
|
||||
from manila.openstack.common.gettextutils import _
|
||||
from manila.openstack.common import log as logging
|
||||
|
||||
neutron_opts = [
|
||||
|
|
|
@ -27,7 +27,7 @@ TODO(rraja): support SMB protocol.
|
|||
|
||||
import errno
|
||||
import os
|
||||
from pipes import quote as shellquote
|
||||
import pipes
|
||||
import re
|
||||
import xml.etree.cElementTree as etree
|
||||
|
||||
|
@ -78,7 +78,7 @@ class GlusterAddress(object):
|
|||
kw = {}
|
||||
if self.remote_user:
|
||||
args = ('ssh', '@'.join([self.remote_user, self.host]),
|
||||
' '.join(shellquote(a) for a in args))
|
||||
' '.join(pipes.quote(a) for a in args))
|
||||
else:
|
||||
kw['run_as_root'] = True
|
||||
return args, kw
|
||||
|
|
|
@ -30,7 +30,7 @@ from manila.openstack.common import lockutils
|
|||
from manila.openstack.common import log as logging
|
||||
from manila.openstack.common import timeutils
|
||||
from manila import quota
|
||||
from manila.share.configuration import Configuration
|
||||
import manila.share.configuration
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
|
@ -57,8 +57,9 @@ class ShareManager(manager.SchedulerDependentManager):
|
|||
|
||||
def __init__(self, share_driver=None, service_name=None, *args, **kwargs):
|
||||
"""Load the driver from args, or from flags."""
|
||||
self.configuration = Configuration(share_manager_opts,
|
||||
config_group=service_name)
|
||||
self.configuration = manila.share.configuration.Configuration(
|
||||
share_manager_opts,
|
||||
config_group=service_name)
|
||||
super(ShareManager, self).__init__(service_name='share',
|
||||
*args, **kwargs)
|
||||
|
||||
|
@ -98,7 +99,7 @@ class ShareManager(manager.SchedulerDependentManager):
|
|||
self.publish_service_capabilities(ctxt)
|
||||
|
||||
def _provide_share_server_for_share(self, context, share_network_id,
|
||||
share_id):
|
||||
share_id):
|
||||
"""Gets or creates share_server and updates share with its id.
|
||||
|
||||
Active share_server can be deleted if there are no dependent shares
|
||||
|
@ -418,7 +419,7 @@ class ShareManager(manager.SchedulerDependentManager):
|
|||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
self.db.share_server_update(context, share_server['id'],
|
||||
{'status': constants.STATUS_ERROR})
|
||||
{'status': constants.STATUS_ERROR})
|
||||
self.network_api.deallocate_network(context, share_network)
|
||||
|
||||
def delete_share_server(self, context, share_server):
|
||||
|
@ -451,7 +452,8 @@ class ShareManager(manager.SchedulerDependentManager):
|
|||
with excutils.save_and_reraise_exception():
|
||||
LOG.error(_("Share server %s failed on deletion.")
|
||||
% share_server['id'])
|
||||
self.db.share_server_update(context, share_server['id'],
|
||||
self.db.share_server_update(
|
||||
context, share_server['id'],
|
||||
{'status': constants.STATUS_ERROR})
|
||||
else:
|
||||
self.db.share_server_delete(context, share_server['id'])
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
# under the License.
|
||||
|
||||
|
||||
from datetime import datetime
|
||||
import datetime
|
||||
|
||||
from manila.api.contrib import services
|
||||
from manila import context
|
||||
|
@ -34,8 +34,8 @@ fake_services_list = [
|
|||
'availability_zone': 'manila1',
|
||||
'id': 1,
|
||||
'disabled': True,
|
||||
'updated_at': datetime(2012, 10, 29, 13, 42, 2),
|
||||
'created_at': datetime(2012, 9, 18, 2, 46, 27),
|
||||
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2),
|
||||
'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27),
|
||||
},
|
||||
{
|
||||
'binary': 'manila-share',
|
||||
|
@ -43,24 +43,24 @@ fake_services_list = [
|
|||
'availability_zone': 'manila1',
|
||||
'id': 2,
|
||||
'disabled': True,
|
||||
'updated_at': datetime(2012, 10, 29, 13, 42, 5),
|
||||
'created_at': datetime(2012, 9, 18, 2, 46, 27)},
|
||||
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
|
||||
'created_at': datetime.datetime(2012, 9, 18, 2, 46, 27)},
|
||||
{
|
||||
'binary': 'manila-scheduler',
|
||||
'host': 'host2',
|
||||
'availability_zone': 'manila2',
|
||||
'id': 3,
|
||||
'disabled': False,
|
||||
'updated_at': datetime(2012, 9, 19, 6, 55, 34),
|
||||
'created_at': datetime(2012, 9, 18, 2, 46, 28)},
|
||||
'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34),
|
||||
'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28)},
|
||||
{
|
||||
'binary': 'manila-share',
|
||||
'host': 'host2',
|
||||
'availability_zone': 'manila2',
|
||||
'id': 4,
|
||||
'disabled': True,
|
||||
'updated_at': datetime(2012, 9, 18, 8, 3, 38),
|
||||
'created_at': datetime(2012, 9, 18, 2, 46, 28),
|
||||
'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38),
|
||||
'created_at': datetime.datetime(2012, 9, 18, 2, 46, 28),
|
||||
},
|
||||
]
|
||||
|
||||
|
@ -71,7 +71,7 @@ fake_response_service_list = {'services': [
|
|||
'host': 'host1',
|
||||
'zone': 'manila1',
|
||||
'status': 'disabled', 'state': 'up',
|
||||
'updated_at': datetime(2012, 10, 29, 13, 42, 2),
|
||||
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 2),
|
||||
},
|
||||
{
|
||||
'binary': 'manila-share',
|
||||
|
@ -79,7 +79,7 @@ fake_response_service_list = {'services': [
|
|||
'zone': 'manila1',
|
||||
'status': 'disabled',
|
||||
'state': 'up',
|
||||
'updated_at': datetime(2012, 10, 29, 13, 42, 5),
|
||||
'updated_at': datetime.datetime(2012, 10, 29, 13, 42, 5),
|
||||
},
|
||||
{
|
||||
'binary': 'manila-scheduler',
|
||||
|
@ -87,7 +87,7 @@ fake_response_service_list = {'services': [
|
|||
'zone': 'manila2',
|
||||
'status': 'enabled',
|
||||
'state': 'down',
|
||||
'updated_at': datetime(2012, 9, 19, 6, 55, 34),
|
||||
'updated_at': datetime.datetime(2012, 9, 19, 6, 55, 34),
|
||||
},
|
||||
{
|
||||
'binary': 'manila-share',
|
||||
|
@ -95,7 +95,7 @@ fake_response_service_list = {'services': [
|
|||
'zone': 'manila2',
|
||||
'status': 'disabled',
|
||||
'state': 'down',
|
||||
'updated_at': datetime(2012, 9, 18, 8, 3, 38),
|
||||
'updated_at': datetime.datetime(2012, 9, 18, 8, 3, 38),
|
||||
},
|
||||
]}
|
||||
|
||||
|
@ -167,7 +167,7 @@ def fake_policy_enforce(context, action, target):
|
|||
|
||||
|
||||
def fake_utcnow():
|
||||
return datetime(2012, 10, 29, 13, 42, 11)
|
||||
return datetime.datetime(2012, 10, 29, 13, 42, 11)
|
||||
|
||||
|
||||
class ServicesTest(test.TestCase):
|
||||
|
|
|
@ -20,8 +20,8 @@ import mock
|
|||
from oslo.config import cfg
|
||||
|
||||
from manila import context
|
||||
from manila.openstack.common.scheduler.weights import HostWeightHandler
|
||||
from manila.scheduler.weights.capacity import CapacityWeigher
|
||||
from manila.openstack.common.scheduler import weights
|
||||
from manila.scheduler.weights import capacity
|
||||
from manila import test
|
||||
from manila.tests.scheduler import fakes
|
||||
|
||||
|
@ -32,14 +32,16 @@ class CapacityWeigherTestCase(test.TestCase):
|
|||
def setUp(self):
|
||||
super(CapacityWeigherTestCase, self).setUp()
|
||||
self.host_manager = fakes.FakeHostManager()
|
||||
self.weight_handler = HostWeightHandler('manila.scheduler.weights')
|
||||
self.weight_handler = weights.HostWeightHandler(
|
||||
'manila.scheduler.weights')
|
||||
|
||||
def _get_weighed_host(self, hosts, weight_properties=None):
|
||||
if weight_properties is None:
|
||||
weight_properties = {}
|
||||
return self.weight_handler.get_weighed_objects([CapacityWeigher],
|
||||
hosts,
|
||||
weight_properties)[0]
|
||||
return self.weight_handler.get_weighed_objects(
|
||||
[capacity.CapacityWeigher],
|
||||
hosts,
|
||||
weight_properties)[0]
|
||||
|
||||
@mock.patch('manila.db.sqlalchemy.api.service_get_all_by_topic')
|
||||
def _get_all_hosts(self, _mock_service_get_all_by_topic, disabled=False):
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
import time
|
||||
|
||||
from manila import exception
|
||||
from manila.share.configuration import Configuration
|
||||
import manila.share.configuration
|
||||
from manila.share import driver
|
||||
from manila import test
|
||||
from manila import utils
|
||||
|
@ -44,6 +44,7 @@ class ShareDriverTestCase(test.TestCase):
|
|||
super(ShareDriverTestCase, self).tearDown()
|
||||
|
||||
def test__try_execute(self):
|
||||
execute_mixin = driver.ExecuteMixin(configuration=Configuration(None))
|
||||
execute_mixin = driver.ExecuteMixin(
|
||||
configuration=manila.share.configuration.Configuration(None))
|
||||
self.assertRaises(exception.ProcessExecutionError,
|
||||
execute_mixin._try_execute)
|
||||
|
|
|
@ -24,7 +24,7 @@ from manila import compute
|
|||
from manila import context
|
||||
from manila import exception
|
||||
from manila.openstack.common import lockutils
|
||||
from manila.share.configuration import Configuration
|
||||
import manila.share.configuration
|
||||
from manila.share.drivers import generic
|
||||
from manila import test
|
||||
from manila.tests.db import fakes as db_fakes
|
||||
|
@ -87,7 +87,7 @@ class GenericShareDriverTestCase(test.TestCase):
|
|||
|
||||
self._helper_cifs = mock.Mock()
|
||||
self._helper_nfs = mock.Mock()
|
||||
self.fake_conf = Configuration(None)
|
||||
self.fake_conf = manila.share.configuration.Configuration(None)
|
||||
self._db = mock.Mock()
|
||||
self._driver = generic.GenericShareDriver(self._db,
|
||||
execute=self._execute,
|
||||
|
@ -598,7 +598,7 @@ class NFSHelperTestCase(test.TestCase):
|
|||
def setUp(self):
|
||||
super(NFSHelperTestCase, self).setUp()
|
||||
fake_utils.stub_out_utils_execute(self.stubs)
|
||||
self.fake_conf = Configuration(None)
|
||||
self.fake_conf = manila.share.configuration.Configuration(None)
|
||||
self._ssh_exec = mock.Mock(return_value=('', ''))
|
||||
self._execute = mock.Mock(return_value=('', ''))
|
||||
self._helper = generic.NFSHelper(self._execute, self._ssh_exec,
|
||||
|
@ -645,7 +645,7 @@ class CIFSHelperTestCase(test.TestCase):
|
|||
super(CIFSHelperTestCase, self).setUp()
|
||||
self.server_details = {'instance_id': 'fake', 'ip': '1.2.3.4', }
|
||||
self.share_name = 'fake_share_name'
|
||||
self.fake_conf = Configuration(None)
|
||||
self.fake_conf = manila.share.configuration.Configuration(None)
|
||||
self._ssh_exec = mock.Mock(return_value=('', ''))
|
||||
self._execute = mock.Mock(return_value=('', ''))
|
||||
self._helper = generic.CIFSHelper(self._execute, self._ssh_exec,
|
||||
|
|
|
@ -19,8 +19,7 @@ import errno
|
|||
import os
|
||||
import subprocess
|
||||
|
||||
from mock import Mock
|
||||
from mock import patch
|
||||
import mock
|
||||
from oslo.config import cfg
|
||||
|
||||
from manila import context
|
||||
|
@ -116,11 +115,11 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
CONF.set_default('reserved_share_percentage', 50)
|
||||
|
||||
self.fake_conf = config.Configuration(None)
|
||||
self._db = Mock()
|
||||
self._db = mock.Mock()
|
||||
self._driver = glusterfs.GlusterfsShareDriver(
|
||||
self._db, execute=self._execute,
|
||||
configuration=self.fake_conf)
|
||||
self._driver.gluster_address = Mock(**gluster_address_attrs)
|
||||
self._driver.gluster_address = mock.Mock(**gluster_address_attrs)
|
||||
self.share = fake_share()
|
||||
|
||||
def tearDown(self):
|
||||
|
@ -130,8 +129,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_do_setup(self):
|
||||
self._driver._read_gluster_vol_from_config =\
|
||||
Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = Mock()
|
||||
mock.Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = mock.Mock()
|
||||
exec_cmd1 = 'mount.glusterfs'
|
||||
exec_cmd2 = 'gluster volume set testvol nfs.export-volumes off'
|
||||
expected_exec = [exec_cmd1, exec_cmd2]
|
||||
|
@ -141,8 +140,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_do_setup_mount_glusterfs_not_installed(self):
|
||||
self._driver._read_gluster_vol_from_config =\
|
||||
Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = Mock()
|
||||
mock.Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = mock.Mock()
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
raise OSError(errno.ENOENT, os.strerror(errno.ENOENT))
|
||||
|
@ -154,9 +153,9 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_do_setup_mount_glusterfs_error_gluster_vol_set(self):
|
||||
self._driver._read_gluster_vol_from_config =\
|
||||
Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = Mock()
|
||||
glusterfs.LOG.error = Mock()
|
||||
mock.Mock(return_value='127.0.0.1:/testvol')
|
||||
self._driver._ensure_gluster_vol_mounted = mock.Mock()
|
||||
glusterfs.LOG.error = mock.Mock()
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
raise exception.ProcessExecutionError(stderr='testvol')
|
||||
|
@ -192,7 +191,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
raise exception.ProcessExecutionError(stderr='already mounted')
|
||||
expected_exec = ['true']
|
||||
glusterfs.LOG.warn = Mock()
|
||||
glusterfs.LOG.warn = mock.Mock()
|
||||
fake_utils.fake_execute_set_repliers([(expected_exec[0], exec_runner)])
|
||||
ret = self._driver._do_mount(expected_exec, True)
|
||||
self.assertEqual(fake_utils.fake_execute_get_log(), expected_exec)
|
||||
|
@ -220,7 +219,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_mount_gluster_vol(self):
|
||||
mount_path = '/mnt/nfs/testvol'
|
||||
self._driver._do_mount = Mock()
|
||||
self._driver._do_mount = mock.Mock()
|
||||
cmd = ['mount', '-t', 'glusterfs', gluster_address_attrs['export'],
|
||||
mount_path]
|
||||
expected_exec = ['mkdir -p %s' % (mount_path)]
|
||||
|
@ -230,27 +229,27 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
self.assertEqual(fake_utils.fake_execute_get_log(), expected_exec)
|
||||
|
||||
def test_ensure_gluster_vol_mounted(self):
|
||||
self._driver._mount_gluster_vol = Mock()
|
||||
self._driver._mount_gluster_vol = mock.Mock()
|
||||
self._driver._ensure_gluster_vol_mounted()
|
||||
self.assertTrue(self._driver._mount_gluster_vol.called)
|
||||
|
||||
def test_ensure_gluster_vol_mounted_error(self):
|
||||
self._driver._mount_gluster_vol =\
|
||||
Mock(side_effect=exception.GlusterfsException)
|
||||
mock.Mock(side_effect=exception.GlusterfsException)
|
||||
self.assertRaises(exception.GlusterfsException,
|
||||
self._driver._ensure_gluster_vol_mounted)
|
||||
|
||||
def test_get_export_dir_dict_empty_volinfo(self):
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
expected_exec = ['true']
|
||||
self.assertRaises(exception.GlusterfsException,
|
||||
self._driver._get_export_dir_dict)
|
||||
self.assertEqual(fake_utils.fake_execute_get_log(), expected_exec)
|
||||
|
||||
def test_get_export_dir_dict_failing_volinfo(self):
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
raise RuntimeError('fake error')
|
||||
|
@ -260,8 +259,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
self.assertEqual(fake_utils.fake_execute_get_log(), expected_exec)
|
||||
|
||||
def test_get_export_dir_dict_ambiguous_volinfo(self):
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
return """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
|
@ -279,8 +278,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
self.assertEqual(fake_utils.fake_execute_get_log(), expected_exec)
|
||||
|
||||
def test_get_export_dir_dict_trivial_volinfo(self):
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
return """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
|
@ -300,8 +299,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
self.assertEqual(ret, {})
|
||||
|
||||
def test_get_export_dir_dict(self):
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kwargs):
|
||||
return """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
|
@ -329,26 +328,26 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
)
|
||||
|
||||
def test_get_local_share_path(self):
|
||||
with patch.object(os, 'access', return_value=True):
|
||||
with mock.patch.object(os, 'access', return_value=True):
|
||||
expected_ret = '/mnt/nfs/testvol/fakename'
|
||||
ret = self._driver._get_local_share_path(self.share)
|
||||
self.assertEqual(ret, expected_ret)
|
||||
|
||||
def test_local_share_path_not_exists(self):
|
||||
with patch.object(os, 'access', return_value=False):
|
||||
with mock.patch.object(os, 'access', return_value=False):
|
||||
self.assertRaises(exception.GlusterfsException,
|
||||
self._driver._get_local_share_path,
|
||||
self.share)
|
||||
|
||||
def test_get_share_stats_refresh_false(self):
|
||||
self._driver._stats = Mock()
|
||||
self._driver._stats = mock.Mock()
|
||||
ret = self._driver.get_share_stats()
|
||||
self.assertEqual(ret, self._driver._stats)
|
||||
|
||||
def test_get_share_stats_refresh_true(self):
|
||||
def foo():
|
||||
self._driver._stats = {'key': 'value'}
|
||||
self._driver._update_share_stats = Mock(side_effect=foo)
|
||||
self._driver._update_share_stats = mock.Mock(side_effect=foo)
|
||||
ret = self._driver.get_share_stats(refresh=True)
|
||||
self.assertEqual(ret, {'key': 'value'})
|
||||
|
||||
|
@ -363,29 +362,31 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
'total_capacity_gb': 2,
|
||||
'free_capacity_gb': 2,
|
||||
}
|
||||
test_statvfs = Mock(f_frsize=4096, f_blocks=524288, f_bavail=524288)
|
||||
test_statvfs = mock.Mock(f_frsize=4096, f_blocks=524288,
|
||||
f_bavail=524288)
|
||||
self._driver._get_mount_point_for_gluster_vol = \
|
||||
Mock(return_value='/mnt/nfs/testvol')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol')
|
||||
some_no = 42
|
||||
not_some_no = some_no + 1
|
||||
os_stat = lambda path: Mock(st_dev=some_no) if path == '/mnt/nfs' \
|
||||
else Mock(st_dev=not_some_no)
|
||||
with patch.object(os, 'statvfs', return_value=test_statvfs):
|
||||
with patch.object(os, 'stat', os_stat):
|
||||
os_stat = lambda path: mock.Mock(st_dev=some_no) if path == '/mnt/nfs' \
|
||||
else mock.Mock(st_dev=not_some_no)
|
||||
with mock.patch.object(os, 'statvfs', return_value=test_statvfs):
|
||||
with mock.patch.object(os, 'stat', os_stat):
|
||||
self._driver._update_share_stats()
|
||||
self.assertEqual(self._driver._stats, test_data)
|
||||
|
||||
def test_update_share_stats_gluster_mnt_unavailable(self):
|
||||
self._driver._get_mount_point_for_gluster_vol = \
|
||||
Mock(return_value='/mnt/nfs/testvol')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol')
|
||||
some_no = 42
|
||||
with patch.object(os, 'stat', return_value=Mock(st_dev=some_no)):
|
||||
with mock.patch.object(os, 'stat',
|
||||
return_value=mock.Mock(st_dev=some_no)):
|
||||
self.assertRaises(exception.GlusterfsException,
|
||||
self._driver._update_share_stats)
|
||||
|
||||
def test_create_share(self):
|
||||
self._driver._get_local_share_path =\
|
||||
Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
expected_exec = ['mkdir /mnt/nfs/testvol/fakename', ]
|
||||
expected_ret = 'testuser@127.0.0.1:/testvol/fakename'
|
||||
|
||||
|
@ -395,7 +396,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_cannot_create_share(self):
|
||||
self._driver._get_local_share_path =\
|
||||
Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kw):
|
||||
raise exception.ProcessExecutionError
|
||||
|
@ -408,8 +409,8 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_create_share_can_be_called_with_extra_arg_share_server(self):
|
||||
share_server = None
|
||||
self._driver._get_local_share_path = Mock()
|
||||
with patch.object(os.path, 'join', return_value=None):
|
||||
self._driver._get_local_share_path = mock.Mock()
|
||||
with mock.patch.object(os.path, 'join', return_value=None):
|
||||
ret = self._driver.create_share(self._context, self.share,
|
||||
share_server)
|
||||
self.assertEqual(ret, None)
|
||||
|
@ -420,7 +421,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_delete_share(self):
|
||||
self._driver._get_local_share_path =\
|
||||
Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
|
||||
expected_exec = ['rm -rf /mnt/nfs/testvol/fakename']
|
||||
|
||||
|
@ -429,7 +430,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_cannot_delete_share(self):
|
||||
self._driver._get_local_share_path =\
|
||||
Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
mock.Mock(return_value='/mnt/nfs/testvol/fakename')
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kw):
|
||||
raise exception.ProcessExecutionError
|
||||
|
@ -441,25 +442,25 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_delete_share_can_be_called_with_extra_arg_share_server(self):
|
||||
share_server = None
|
||||
self._driver._get_local_share_path = Mock()
|
||||
self._driver._get_local_share_path = mock.Mock()
|
||||
ret = self._driver.delete_share(self._context, self.share,
|
||||
share_server)
|
||||
self.assertEqual(ret, None)
|
||||
self._driver._get_local_share_path.assert_called_once_with(self.share)
|
||||
|
||||
def test_manage_access_bad_access_type(self):
|
||||
cbk = Mock()
|
||||
cbk = mock.Mock()
|
||||
access = {'access_type': 'bad'}
|
||||
self.assertRaises(exception.InvalidShareAccess,
|
||||
self._driver._manage_access,
|
||||
self._context, self.share, access, cbk)
|
||||
|
||||
def test_manage_access_noop(self):
|
||||
cbk = Mock(return_value=True)
|
||||
cbk = mock.Mock(return_value=True)
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict = Mock()
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver._get_export_dir_dict = mock.Mock()
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
expected_exec = []
|
||||
ret = self._driver._manage_access(self._context, self.share, access,
|
||||
cbk)
|
||||
|
@ -471,10 +472,10 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
d[key].append(value)
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.2'}
|
||||
self._driver._get_export_dir_dict =\
|
||||
Mock(return_value={'example.com': ['10.0.0.1'],
|
||||
'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'example.com': ['10.0.0.1'],
|
||||
'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
expected_exec = ['true']
|
||||
ret = self._driver._manage_access(self._context, self.share, access,
|
||||
cbk)
|
||||
|
@ -490,10 +491,10 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
d[key].append(value)
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.2'}
|
||||
self._driver._get_export_dir_dict =\
|
||||
Mock(return_value={'example.com': ['10.0.0.1'],
|
||||
'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'example.com': ['10.0.0.1'],
|
||||
'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
expected_exec = ['true']
|
||||
|
||||
def exec_runner(*ignore_args, **ignore_kw):
|
||||
|
@ -514,9 +515,9 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
d.pop(key)
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict =\
|
||||
Mock(return_value={'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
expected_exec = ['true']
|
||||
ret = self._driver._manage_access(self._context, self.share, access,
|
||||
cbk)
|
||||
|
@ -533,9 +534,9 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
def test_allow_access_with_share_having_noaccess(self):
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict =\
|
||||
Mock(return_value={'example.com': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'example.com': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
self._driver.allow_access(self._context, self.share, access)
|
||||
self.assertTrue(self._driver.gluster_address.make_gluster_args.called)
|
||||
self.assertEqual(
|
||||
|
@ -545,16 +546,16 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
def test_allow_access_with_share_having_access(self):
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict = \
|
||||
Mock(return_value={'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'fakename': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
self._driver.allow_access(self._context, self.share, access)
|
||||
self.assertFalse(self._driver.gluster_address.make_gluster_args.called)
|
||||
|
||||
def test_allow_access_can_be_called_with_extra_arg_share_server(self):
|
||||
access = None
|
||||
share_server = None
|
||||
self._driver._manage_access = Mock()
|
||||
self._driver._manage_access = mock.Mock()
|
||||
ret = self._driver.allow_access(self._context, self.share, access,
|
||||
share_server)
|
||||
self.assertEqual(ret, None)
|
||||
|
@ -562,19 +563,19 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
|
||||
def test_deny_access_with_share_having_noaccess(self):
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict = Mock(return_value={})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
self._driver._get_export_dir_dict = mock.Mock(return_value={})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
self._driver.deny_access(self._context, self.share, access)
|
||||
self.assertFalse(self._driver.gluster_address.make_gluster_args.called)
|
||||
|
||||
def test_deny_access_with_share_having_access(self):
|
||||
access = {'access_type': 'ip', 'access_to': '10.0.0.1'}
|
||||
self._driver._get_export_dir_dict = \
|
||||
Mock(return_value={'fakename': ['10.0.0.1'],
|
||||
'example.com': ['10.0.0.1']})
|
||||
self._driver.gluster_address = Mock(
|
||||
make_gluster_args=Mock(return_value=(('true',), {})))
|
||||
mock.Mock(return_value={'fakename': ['10.0.0.1'],
|
||||
'example.com': ['10.0.0.1']})
|
||||
self._driver.gluster_address = mock.Mock(
|
||||
make_gluster_args=mock.Mock(return_value=(('true',), {})))
|
||||
self._driver.deny_access(self._context, self.share, access)
|
||||
self.assertTrue(self._driver.gluster_address.make_gluster_args.called)
|
||||
self.assertEqual(
|
||||
|
@ -584,7 +585,7 @@ class GlusterfsShareDriverTestCase(test.TestCase):
|
|||
def test_deny_access_can_be_called_with_extra_arg_share_server(self):
|
||||
access = None
|
||||
share_server = None
|
||||
self._driver._manage_access = Mock()
|
||||
self._driver._manage_access = mock.Mock()
|
||||
ret = self._driver.deny_access(self._context, self.share, access,
|
||||
share_server)
|
||||
self.assertEqual(ret, None)
|
||||
|
|
|
@ -29,7 +29,6 @@ from oslo.config import cfg
|
|||
|
||||
from manila.db import base
|
||||
from manila import exception
|
||||
from manila.openstack.common.gettextutils import _
|
||||
from manila.openstack.common import log as logging
|
||||
|
||||
|
||||
|
|
2
tox.ini
2
tox.ini
|
@ -50,6 +50,6 @@ commands = bash tools/lintstack.sh
|
|||
#
|
||||
# H904 wrap long lines in parentheses instead of a backslash
|
||||
# reason: removed in hacking (https://review.openstack.org/#/c/101701/)
|
||||
ignore = E128,H302,H404,H405,H501,H904
|
||||
ignore = E128,H404,H405,H501,H904
|
||||
builtins = _
|
||||
exclude = .venv,.tox,dist,doc,openstack,*egg
|
||||
|
|
Loading…
Reference in New Issue