Missing check in ShareManager::manage_existing()
In ShareManager::manage_existing(), there is a check for the DHSS mode of the driver but there is no check for the DHSS mode in the specified share type. This omission requires redundant checks in the drivers. This patch adds the missing check to the share manager, removes the redundant checks from the drivers, and updates all relevant unit tests. Also, fix a couple minor tempest resource cleanup issues discovered while debugging this issue. Change-Id: Ib579fd0558e59c28777342bb9d36def12f6bf4da Closes-Bug: #1493869
This commit is contained in:
parent
3e0284b524
commit
fd492fc11d
@ -24,7 +24,6 @@ from oslo_config import cfg
|
|||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from oslo_utils import excutils
|
from oslo_utils import excutils
|
||||||
from oslo_utils import importutils
|
from oslo_utils import importutils
|
||||||
from oslo_utils import strutils
|
|
||||||
from oslo_utils import units
|
from oslo_utils import units
|
||||||
import retrying
|
import retrying
|
||||||
import six
|
import six
|
||||||
@ -39,7 +38,6 @@ from manila.i18n import _LI
|
|||||||
from manila.i18n import _LW
|
from manila.i18n import _LW
|
||||||
from manila.share import driver
|
from manila.share import driver
|
||||||
from manila.share.drivers import service_instance
|
from manila.share.drivers import service_instance
|
||||||
from manila.share import share_types
|
|
||||||
from manila import utils
|
from manila import utils
|
||||||
from manila import volume
|
from manila import volume
|
||||||
|
|
||||||
@ -831,22 +829,7 @@ class GenericShareDriver(driver.ExecuteMixin, driver.ShareDriver):
|
|||||||
:param driver_options: Empty dict or dict with 'volume_id' option.
|
:param driver_options: Empty dict or dict with 'volume_id' option.
|
||||||
:return: dict with share size, example: {'size': 1}
|
:return: dict with share size, example: {'size': 1}
|
||||||
"""
|
"""
|
||||||
if self.driver_handles_share_servers:
|
|
||||||
msg = _('Operation "manage" for shares is supported only when '
|
|
||||||
'driver does not handle share servers.')
|
|
||||||
raise exception.InvalidDriverMode(msg)
|
|
||||||
|
|
||||||
helper = self._get_helper(share)
|
helper = self._get_helper(share)
|
||||||
driver_mode = share_types.get_share_type_extra_specs(
|
|
||||||
share['share_type_id'],
|
|
||||||
const.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS)
|
|
||||||
|
|
||||||
if strutils.bool_from_string(driver_mode):
|
|
||||||
msg = _("%(mode)s != False") % {
|
|
||||||
'mode': const.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS
|
|
||||||
}
|
|
||||||
raise exception.ManageExistingShareTypeMismatch(reason=msg)
|
|
||||||
|
|
||||||
share_server = self.service_instance_manager.get_common_server()
|
share_server = self.service_instance_manager.get_common_server()
|
||||||
server_details = share_server['backend_details']
|
server_details = share_server['backend_details']
|
||||||
|
|
||||||
|
@ -15,17 +15,13 @@
|
|||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from oslo_utils import strutils
|
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from manila.common import constants as const
|
|
||||||
from manila import exception
|
from manila import exception
|
||||||
from manila.i18n import _
|
from manila.i18n import _
|
||||||
from manila.i18n import _LE
|
|
||||||
from manila.i18n import _LI
|
from manila.i18n import _LI
|
||||||
from manila.share import driver
|
from manila.share import driver
|
||||||
from manila.share.drivers.hitachi import ssh
|
from manila.share.drivers.hitachi import ssh
|
||||||
from manila.share import share_types
|
|
||||||
|
|
||||||
LOG = log.getLogger(__name__)
|
LOG = log.getLogger(__name__)
|
||||||
|
|
||||||
@ -379,22 +375,6 @@ class HDSHNASDriver(driver.ShareDriver):
|
|||||||
:returns: Returns a dict with size of share managed
|
:returns: Returns a dict with size of share managed
|
||||||
and its location (your path in file-system).
|
and its location (your path in file-system).
|
||||||
"""
|
"""
|
||||||
if self.driver_handles_share_servers:
|
|
||||||
msg = (_("DHSS = %s") % self.driver_handles_share_servers)
|
|
||||||
LOG.error(_LE("Operation 'manage' for shares is supported only "
|
|
||||||
"when driver does not handle share servers."))
|
|
||||||
raise exception.InvalidDriverMode(driver_mode=msg)
|
|
||||||
|
|
||||||
driver_mode = share_types.get_share_type_extra_specs(
|
|
||||||
share['share_type_id'],
|
|
||||||
const.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS)
|
|
||||||
|
|
||||||
if strutils.bool_from_string(driver_mode):
|
|
||||||
msg = _("%(mode)s != False.") % {
|
|
||||||
'mode': const.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS
|
|
||||||
}
|
|
||||||
raise exception.ManageExistingShareTypeMismatch(reason=msg)
|
|
||||||
|
|
||||||
share_id = self._get_hnas_share_id(share['id'])
|
share_id = self._get_hnas_share_id(share['id'])
|
||||||
|
|
||||||
LOG.info(_LI("Share %(shr_path)s will be managed with ID %(shr_id)s."),
|
LOG.info(_LI("Share %(shr_path)s will be managed with ID %(shr_id)s."),
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from oslo_utils import strutils
|
|
||||||
from oslo_utils import units
|
from oslo_utils import units
|
||||||
|
|
||||||
from manila.common import constants as common_constants
|
from manila.common import constants as common_constants
|
||||||
@ -29,7 +28,6 @@ from manila.share.drivers.huawei import constants
|
|||||||
from manila.share.drivers.huawei import huawei_utils
|
from manila.share.drivers.huawei import huawei_utils
|
||||||
from manila.share.drivers.huawei.v3 import helper
|
from manila.share.drivers.huawei.v3 import helper
|
||||||
from manila.share.drivers.huawei.v3 import smartx
|
from manila.share.drivers.huawei.v3 import smartx
|
||||||
from manila.share import share_types
|
|
||||||
from manila.share import utils as share_utils
|
from manila.share import utils as share_utils
|
||||||
|
|
||||||
|
|
||||||
@ -495,16 +493,6 @@ class V3StorageConnection(driver.HuaweiBase):
|
|||||||
|
|
||||||
def manage_existing(self, share, driver_options):
|
def manage_existing(self, share, driver_options):
|
||||||
"""Manage existing share."""
|
"""Manage existing share."""
|
||||||
driver_mode = share_types.get_share_type_extra_specs(
|
|
||||||
share['share_type_id'],
|
|
||||||
common_constants.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS)
|
|
||||||
|
|
||||||
if strutils.bool_from_string(driver_mode):
|
|
||||||
msg = _("%(mode)s != False") % {
|
|
||||||
'mode':
|
|
||||||
common_constants.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS
|
|
||||||
}
|
|
||||||
raise exception.ManageExistingShareTypeMismatch(reason=msg)
|
|
||||||
|
|
||||||
share_proto = share['share_proto']
|
share_proto = share['share_proto']
|
||||||
share_name = share['name']
|
share_name = share['name']
|
||||||
|
@ -28,6 +28,7 @@ from oslo_serialization import jsonutils
|
|||||||
from oslo_service import periodic_task
|
from oslo_service import periodic_task
|
||||||
from oslo_utils import excutils
|
from oslo_utils import excutils
|
||||||
from oslo_utils import importutils
|
from oslo_utils import importutils
|
||||||
|
from oslo_utils import strutils
|
||||||
from oslo_utils import timeutils
|
from oslo_utils import timeutils
|
||||||
import six
|
import six
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ import manila.share.configuration
|
|||||||
from manila.share import drivers_private_data
|
from manila.share import drivers_private_data
|
||||||
from manila.share import migration
|
from manila.share import migration
|
||||||
from manila.share import rpcapi as share_rpcapi
|
from manila.share import rpcapi as share_rpcapi
|
||||||
|
from manila.share import share_types
|
||||||
from manila.share import utils as share_utils
|
from manila.share import utils as share_utils
|
||||||
from manila import utils
|
from manila import utils
|
||||||
|
|
||||||
@ -783,7 +785,17 @@ class ShareManager(manager.SchedulerDependentManager):
|
|||||||
if self.driver.driver_handles_share_servers:
|
if self.driver.driver_handles_share_servers:
|
||||||
msg = _("Manage share is not supported for "
|
msg = _("Manage share is not supported for "
|
||||||
"driver_handles_share_servers=True mode.")
|
"driver_handles_share_servers=True mode.")
|
||||||
raise exception.InvalidShare(reason=msg)
|
raise exception.InvalidDriverMode(driver_mode=msg)
|
||||||
|
|
||||||
|
driver_mode = share_types.get_share_type_extra_specs(
|
||||||
|
share_instance['share_type_id'],
|
||||||
|
constants.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS)
|
||||||
|
|
||||||
|
if strutils.bool_from_string(driver_mode):
|
||||||
|
msg = _("%(mode)s != False") % {
|
||||||
|
'mode': constants.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS
|
||||||
|
}
|
||||||
|
raise exception.ManageExistingShareTypeMismatch(reason=msg)
|
||||||
|
|
||||||
share_update = (
|
share_update = (
|
||||||
self.driver.manage_existing(share_instance, driver_options)
|
self.driver.manage_existing(share_instance, driver_options)
|
||||||
|
@ -327,29 +327,6 @@ class HDSHNASTestCase(test.TestCase):
|
|||||||
|
|
||||||
CONF._unset_defaults_and_overrides()
|
CONF._unset_defaults_and_overrides()
|
||||||
|
|
||||||
def test_manage_share_type_dhss_true(self):
|
|
||||||
driver_op = 'fake'
|
|
||||||
|
|
||||||
self.mock_object(share_types, 'get_share_type_extra_specs',
|
|
||||||
mock.Mock(return_value='True'))
|
|
||||||
|
|
||||||
self.assertRaises(exception.ManageExistingShareTypeMismatch,
|
|
||||||
self._driver.manage_existing,
|
|
||||||
self.share, driver_op)
|
|
||||||
share_types.get_share_type_extra_specs.assert_called_once_with(
|
|
||||||
self.share['share_type_id'], self.const_dhss)
|
|
||||||
|
|
||||||
def test_manage_conf_dhss_true(self):
|
|
||||||
driver_op = 'fake'
|
|
||||||
|
|
||||||
CONF.set_default('driver_handles_share_servers', True)
|
|
||||||
self.mock_object(share_types, 'get_share_type_extra_specs',
|
|
||||||
mock.Mock(return_value='True'))
|
|
||||||
|
|
||||||
self.assertRaises(exception.InvalidDriverMode,
|
|
||||||
self._driver.manage_existing,
|
|
||||||
self.share, driver_op)
|
|
||||||
|
|
||||||
def test_manage_invalid_host(self):
|
def test_manage_invalid_host(self):
|
||||||
driver_op = 'fake'
|
driver_op = 'fake'
|
||||||
self.share_invalid_host = {
|
self.share_invalid_host = {
|
||||||
@ -369,8 +346,6 @@ class HDSHNASTestCase(test.TestCase):
|
|||||||
self.assertRaises(exception.ShareBackendException,
|
self.assertRaises(exception.ShareBackendException,
|
||||||
self._driver.manage_existing,
|
self._driver.manage_existing,
|
||||||
self.share_invalid_host, driver_op)
|
self.share_invalid_host, driver_op)
|
||||||
share_types.get_share_type_extra_specs.assert_called_once_with(
|
|
||||||
self.share_invalid_host['share_type_id'], self.const_dhss)
|
|
||||||
|
|
||||||
def test_manage_invalid_path(self):
|
def test_manage_invalid_path(self):
|
||||||
driver_op = 'fake'
|
driver_op = 'fake'
|
||||||
@ -391,8 +366,6 @@ class HDSHNASTestCase(test.TestCase):
|
|||||||
self.assertRaises(exception.ShareBackendException,
|
self.assertRaises(exception.ShareBackendException,
|
||||||
self._driver.manage_existing,
|
self._driver.manage_existing,
|
||||||
self.share_invalid_path, driver_op)
|
self.share_invalid_path, driver_op)
|
||||||
share_types.get_share_type_extra_specs.assert_called_once_with(
|
|
||||||
self.share_invalid_path['share_type_id'], self.const_dhss)
|
|
||||||
|
|
||||||
def test_manage_invalid_evs_ip(self):
|
def test_manage_invalid_evs_ip(self):
|
||||||
driver_op = 'fake'
|
driver_op = 'fake'
|
||||||
@ -413,8 +386,6 @@ class HDSHNASTestCase(test.TestCase):
|
|||||||
self.assertRaises(exception.ShareBackendException,
|
self.assertRaises(exception.ShareBackendException,
|
||||||
self._driver.manage_existing,
|
self._driver.manage_existing,
|
||||||
self.share_invalid_ip, driver_op)
|
self.share_invalid_ip, driver_op)
|
||||||
share_types.get_share_type_extra_specs.assert_called_once_with(
|
|
||||||
self.share_invalid_ip['share_type_id'], self.const_dhss)
|
|
||||||
|
|
||||||
def test_unmanage(self):
|
def test_unmanage(self):
|
||||||
self._driver.unmanage(self.share)
|
self._driver.unmanage(self.share)
|
||||||
|
@ -1483,33 +1483,6 @@ class HuaweiShareDriverTestCase(test.TestCase):
|
|||||||
self.share_nfs,
|
self.share_nfs,
|
||||||
self.driver_options)
|
self.driver_options)
|
||||||
|
|
||||||
def test_manage_existing_share_type_mismatch(self):
|
|
||||||
fake_extra_specs = {
|
|
||||||
'driver_handles_share_servers': 'True',
|
|
||||||
}
|
|
||||||
fake_share_type_id = 'fake_id'
|
|
||||||
fake_type_mismatch_extra = {
|
|
||||||
'test_with_extra': {
|
|
||||||
'created_at': 'fake_time',
|
|
||||||
'deleted': '0',
|
|
||||||
'deleted_at': None,
|
|
||||||
'extra_specs': fake_extra_specs,
|
|
||||||
'required_extra_specs': {},
|
|
||||||
'id': fake_share_type_id,
|
|
||||||
'name': 'test_with_extra',
|
|
||||||
'updated_at': None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
share_type = fake_type_mismatch_extra['test_with_extra']
|
|
||||||
self.mock_object(db,
|
|
||||||
'share_type_get',
|
|
||||||
mock.Mock(return_value=share_type))
|
|
||||||
self.driver.plugin.helper.login()
|
|
||||||
self.assertRaises(exception.ManageExistingShareTypeMismatch,
|
|
||||||
self.driver.manage_existing,
|
|
||||||
self.share_nfs,
|
|
||||||
self.driver_options)
|
|
||||||
|
|
||||||
def test_get_pool_success(self):
|
def test_get_pool_success(self):
|
||||||
self.driver.plugin.helper.login()
|
self.driver.plugin.helper.login()
|
||||||
pool_name = self.driver.get_pool(self.share_nfs_host_not_exist)
|
pool_name = self.driver.get_pool(self.share_nfs_host_not_exist)
|
||||||
|
@ -1309,12 +1309,6 @@ class GenericShareDriverTestCase(test.TestCase):
|
|||||||
self.assertEqual(True, result['driver_handles_share_servers'])
|
self.assertEqual(True, result['driver_handles_share_servers'])
|
||||||
self.assertEqual('Open Source', result['vendor_name'])
|
self.assertEqual('Open Source', result['vendor_name'])
|
||||||
|
|
||||||
def test_manage_invalid_driver_mode(self):
|
|
||||||
CONF.set_default('driver_handles_share_servers', True)
|
|
||||||
|
|
||||||
self.assertRaises(exception.InvalidDriverMode,
|
|
||||||
self._driver.manage_existing, 'fake', {})
|
|
||||||
|
|
||||||
def _setup_manage_mocks(self,
|
def _setup_manage_mocks(self,
|
||||||
get_share_type_extra_specs='False',
|
get_share_type_extra_specs='False',
|
||||||
is_device_mounted=True,
|
is_device_mounted=True,
|
||||||
@ -1340,18 +1334,6 @@ class GenericShareDriverTestCase(test.TestCase):
|
|||||||
self.assertRaises(exception.InvalidShare,
|
self.assertRaises(exception.InvalidShare,
|
||||||
self._driver.manage_existing, share, {})
|
self._driver.manage_existing, share, {})
|
||||||
|
|
||||||
def test_manage_share_type_mismatch(self):
|
|
||||||
share = {'share_proto': 'NFS', 'share_type_id': 'fake'}
|
|
||||||
self._setup_manage_mocks(get_share_type_extra_specs='True')
|
|
||||||
|
|
||||||
self.assertRaises(exception.ManageExistingShareTypeMismatch,
|
|
||||||
self._driver.manage_existing, share, {})
|
|
||||||
|
|
||||||
share_types.get_share_type_extra_specs.assert_called_once_with(
|
|
||||||
share['share_type_id'],
|
|
||||||
const.ExtraSpecs.DRIVER_HANDLES_SHARE_SERVERS
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_manage_not_mounted_share(self):
|
def test_manage_not_mounted_share(self):
|
||||||
share = get_fake_manage_share()
|
share = get_fake_manage_share()
|
||||||
fake_path = '/foo/bar'
|
fake_path = '/foo/bar'
|
||||||
|
@ -33,6 +33,7 @@ from manila.share import drivers_private_data
|
|||||||
from manila.share import manager
|
from manila.share import manager
|
||||||
from manila.share import migration
|
from manila.share import migration
|
||||||
from manila.share import rpcapi
|
from manila.share import rpcapi
|
||||||
|
from manila.share import share_types
|
||||||
from manila import test
|
from manila import test
|
||||||
from manila.tests import db_utils
|
from manila.tests import db_utils
|
||||||
from manila.tests import utils as test_utils
|
from manila.tests import utils as test_utils
|
||||||
@ -833,12 +834,33 @@ class ShareManagerTestCase(test.TestCase):
|
|||||||
def test_manage_share_invalid_driver(self):
|
def test_manage_share_invalid_driver(self):
|
||||||
self.mock_object(self.share_manager, 'driver', mock.Mock())
|
self.mock_object(self.share_manager, 'driver', mock.Mock())
|
||||||
self.share_manager.driver.driver_handles_share_servers = True
|
self.share_manager.driver.driver_handles_share_servers = True
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='False'))
|
||||||
self.mock_object(self.share_manager.db, 'share_update', mock.Mock())
|
self.mock_object(self.share_manager.db, 'share_update', mock.Mock())
|
||||||
share = db_utils.create_share()
|
share = db_utils.create_share()
|
||||||
share_id = share['id']
|
share_id = share['id']
|
||||||
|
|
||||||
self.assertRaises(
|
self.assertRaises(
|
||||||
exception.InvalidShare,
|
exception.InvalidDriverMode,
|
||||||
|
self.share_manager.manage_share, self.context, share_id, {})
|
||||||
|
|
||||||
|
self.share_manager.db.share_update.assert_called_once_with(
|
||||||
|
utils.IsAMatcher(context.RequestContext), share_id,
|
||||||
|
{'status': constants.STATUS_MANAGE_ERROR, 'size': 1})
|
||||||
|
|
||||||
|
def test_manage_share_invalid_share_type(self):
|
||||||
|
self.mock_object(self.share_manager, 'driver', mock.Mock())
|
||||||
|
self.share_manager.driver.driver_handles_share_servers = False
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='True'))
|
||||||
|
self.mock_object(self.share_manager.db, 'share_update', mock.Mock())
|
||||||
|
share = db_utils.create_share()
|
||||||
|
share_id = share['id']
|
||||||
|
|
||||||
|
self.assertRaises(
|
||||||
|
exception.ManageExistingShareTypeMismatch,
|
||||||
self.share_manager.manage_share, self.context, share_id, {})
|
self.share_manager.manage_share, self.context, share_id, {})
|
||||||
|
|
||||||
self.share_manager.db.share_update.assert_called_once_with(
|
self.share_manager.db.share_update.assert_called_once_with(
|
||||||
@ -849,9 +871,12 @@ class ShareManagerTestCase(test.TestCase):
|
|||||||
CustomException = type('CustomException', (Exception,), dict())
|
CustomException = type('CustomException', (Exception,), dict())
|
||||||
self.mock_object(self.share_manager, 'driver', mock.Mock())
|
self.mock_object(self.share_manager, 'driver', mock.Mock())
|
||||||
self.share_manager.driver.driver_handles_share_servers = False
|
self.share_manager.driver.driver_handles_share_servers = False
|
||||||
self.mock_object(
|
self.mock_object(self.share_manager.driver,
|
||||||
self.share_manager.driver,
|
'manage_existing',
|
||||||
"manage_existing", mock.Mock(side_effect=CustomException))
|
mock.Mock(side_effect=CustomException))
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='False'))
|
||||||
self.mock_object(self.share_manager.db, 'share_update', mock.Mock())
|
self.mock_object(self.share_manager.db, 'share_update', mock.Mock())
|
||||||
share = db_utils.create_share()
|
share = db_utils.create_share()
|
||||||
share_id = share['id']
|
share_id = share['id']
|
||||||
@ -872,6 +897,9 @@ class ShareManagerTestCase(test.TestCase):
|
|||||||
def test_manage_share_invalid_size(self):
|
def test_manage_share_invalid_size(self):
|
||||||
self.mock_object(self.share_manager, 'driver')
|
self.mock_object(self.share_manager, 'driver')
|
||||||
self.share_manager.driver.driver_handles_share_servers = False
|
self.share_manager.driver.driver_handles_share_servers = False
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='False'))
|
||||||
self.mock_object(self.share_manager.driver,
|
self.mock_object(self.share_manager.driver,
|
||||||
"manage_existing",
|
"manage_existing",
|
||||||
mock.Mock(return_value=None))
|
mock.Mock(return_value=None))
|
||||||
@ -894,6 +922,9 @@ class ShareManagerTestCase(test.TestCase):
|
|||||||
def test_manage_share_quota_error(self):
|
def test_manage_share_quota_error(self):
|
||||||
self.mock_object(self.share_manager, 'driver')
|
self.mock_object(self.share_manager, 'driver')
|
||||||
self.share_manager.driver.driver_handles_share_servers = False
|
self.share_manager.driver.driver_handles_share_servers = False
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='False'))
|
||||||
self.mock_object(self.share_manager.driver,
|
self.mock_object(self.share_manager.driver,
|
||||||
"manage_existing",
|
"manage_existing",
|
||||||
mock.Mock(return_value={'size': 3}))
|
mock.Mock(return_value={'size': 3}))
|
||||||
@ -934,6 +965,9 @@ class ShareManagerTestCase(test.TestCase):
|
|||||||
mock.Mock(side_effect=(
|
mock.Mock(side_effect=(
|
||||||
self.share_manager.db.share_export_locations_update)))
|
self.share_manager.db.share_export_locations_update)))
|
||||||
self.share_manager.driver.driver_handles_share_servers = False
|
self.share_manager.driver.driver_handles_share_servers = False
|
||||||
|
self.mock_object(share_types,
|
||||||
|
'get_share_type_extra_specs',
|
||||||
|
mock.Mock(return_value='False'))
|
||||||
self.mock_object(self.share_manager.driver,
|
self.mock_object(self.share_manager.driver,
|
||||||
"manage_existing",
|
"manage_existing",
|
||||||
mock.Mock(return_value=driver_data))
|
mock.Mock(return_value=driver_data))
|
||||||
|
@ -100,7 +100,7 @@ class ManageNFSShareTest(base.BaseSharesAdminTest):
|
|||||||
|
|
||||||
# Add managed share to cleanup queue
|
# Add managed share to cleanup queue
|
||||||
self.method_resources.insert(
|
self.method_resources.insert(
|
||||||
0, {'type': 'share_type', 'id': share['id'],
|
0, {'type': 'share', 'id': share['id'],
|
||||||
'client': self.shares_client})
|
'client': self.shares_client})
|
||||||
|
|
||||||
# Wait for success
|
# Wait for success
|
||||||
@ -137,7 +137,7 @@ class ManageNFSShareTest(base.BaseSharesAdminTest):
|
|||||||
|
|
||||||
# Add managed share to cleanup queue
|
# Add managed share to cleanup queue
|
||||||
self.method_resources.insert(
|
self.method_resources.insert(
|
||||||
0, {'type': 'share_type', 'id': share['id'],
|
0, {'type': 'share', 'id': share['id'],
|
||||||
'client': self.shares_client})
|
'client': self.shares_client})
|
||||||
|
|
||||||
# Wait for success
|
# Wait for success
|
||||||
|
Loading…
Reference in New Issue
Block a user