diff --git a/vmware_nsx/shell/admin/plugins/common/utils.py b/vmware_nsx/shell/admin/plugins/common/utils.py index 7c6232b2ee..004bf25ef0 100644 --- a/vmware_nsx/shell/admin/plugins/common/utils.py +++ b/vmware_nsx/shell/admin/plugins/common/utils.py @@ -14,6 +14,9 @@ import sys +import mock + +from neutron import quota import six from vmware_nsx._i18n import _ from vmware_nsx.db import db @@ -126,3 +129,8 @@ def get_plugin_filters(context, plugin): if maps: filters['project_id'] = [m.project for m in maps] return filters + + +def _init_plugin_mock_quota(): + mock.patch.object(quota.QuotaEngine, 'make_reservation').start() + mock.patch.object(quota.QuotaEngine, 'commit_reservation').start() diff --git a/vmware_nsx/shell/admin/plugins/nsxp/resources/utils.py b/vmware_nsx/shell/admin/plugins/nsxp/resources/utils.py index b419acb7e5..6009cc1044 100644 --- a/vmware_nsx/shell/admin/plugins/nsxp/resources/utils.py +++ b/vmware_nsx/shell/admin/plugins/nsxp/resources/utils.py @@ -24,6 +24,7 @@ from vmware_nsx.common import config from vmware_nsx.plugins.nsx_p import plugin from vmware_nsx.plugins.nsx_v3 import utils as v3_utils from vmware_nsx.shell.admin.plugins.common import formatters +from vmware_nsx.shell.admin.plugins.common import utils as admin_utils LOG = logging.getLogger(__name__) _NSXPOLICY = None @@ -77,6 +78,7 @@ class NsxPolicyPluginWrapper(plugin.NsxPolicyPlugin): config.register_nsxp_azs(cfg.CONF, cfg.CONF.nsx_p.availability_zones) super(NsxPolicyPluginWrapper, self).__init__() self.context = context.get_admin_context() + admin_utils._init_plugin_mock_quota() def __enter__(self): directory.add_plugin(const.CORE, self) diff --git a/vmware_nsx/shell/admin/plugins/nsxv/resources/securitygroups.py b/vmware_nsx/shell/admin/plugins/nsxv/resources/securitygroups.py index bdfe60206e..f01eee97bd 100644 --- a/vmware_nsx/shell/admin/plugins/nsxv/resources/securitygroups.py +++ b/vmware_nsx/shell/admin/plugins/nsxv/resources/securitygroups.py @@ -54,6 +54,7 @@ class NeutronSecurityGroupDB( super(NeutronSecurityGroupDB, self) # FIXME(roeyc): context is already defined in NeutrondDbClient self.context = n_context.get_admin_context() + admin_utils._init_plugin_mock_quota() def get_security_groups_mappings(self): q = self.context.session.query( diff --git a/vmware_nsx/shell/admin/plugins/nsxv/resources/utils.py b/vmware_nsx/shell/admin/plugins/nsxv/resources/utils.py index bb7f14bb9e..6076a39d37 100644 --- a/vmware_nsx/shell/admin/plugins/nsxv/resources/utils.py +++ b/vmware_nsx/shell/admin/plugins/nsxv/resources/utils.py @@ -65,6 +65,7 @@ class NsxVPluginWrapper(plugin.NsxVPlugin): with mock.patch("vmware_nsx.plugins.common.housekeeper." "housekeeper.NsxHousekeeper"): self.init_complete(0, 0, 0) + admin_utils._init_plugin_mock_quota() def start_rpc_listeners(self): pass diff --git a/vmware_nsx/shell/admin/plugins/nsxv3/resources/securitygroups.py b/vmware_nsx/shell/admin/plugins/nsxv3/resources/securitygroups.py index 8e1a76c09f..84d5692062 100644 --- a/vmware_nsx/shell/admin/plugins/nsxv3/resources/securitygroups.py +++ b/vmware_nsx/shell/admin/plugins/nsxv3/resources/securitygroups.py @@ -43,6 +43,7 @@ class NeutronSecurityGroupApi(securitygroups_db.SecurityGroupDbMixin): super(NeutronSecurityGroupApi, self) self.context = neutron_context.get_admin_context() self.filters = v3_utils.get_plugin_filters(self.context) + admin_utils._init_plugin_mock_quota() def get_security_groups(self): return super(NeutronSecurityGroupApi, diff --git a/vmware_nsx/shell/admin/plugins/nsxv3/resources/utils.py b/vmware_nsx/shell/admin/plugins/nsxv3/resources/utils.py index d33cb2c336..64b31b4036 100644 --- a/vmware_nsx/shell/admin/plugins/nsxv3/resources/utils.py +++ b/vmware_nsx/shell/admin/plugins/nsxv3/resources/utils.py @@ -122,6 +122,7 @@ class NsxV3PluginWrapper(plugin.NsxV3Plugin): config.register_nsxv3_azs(cfg.CONF, cfg.CONF.nsx_v3.availability_zones) super(NsxV3PluginWrapper, self).__init__() self.context = context.get_admin_context() + admin_utils._init_plugin_mock_quota() def __enter__(self): directory.add_plugin(const.CORE, self) diff --git a/vmware_nsx/tests/unit/shell/test_admin_utils.py b/vmware_nsx/tests/unit/shell/test_admin_utils.py index 304c329965..9026ffb0dd 100644 --- a/vmware_nsx/tests/unit/shell/test_admin_utils.py +++ b/vmware_nsx/tests/unit/shell/test_admin_utils.py @@ -24,7 +24,6 @@ import six from neutron.common import config as neutron_config from neutron.db import servicetype_db # noqa -from neutron import quota from neutron.quota import resource_registry from neutron.tests import base from neutron_lib.callbacks import registry @@ -74,12 +73,6 @@ class AbstractTestAdminUtils(base.BaseTestCase): "vmware_nsx.shell.admin.plugins.common.utils.query_yes_no") mock_query.start() - def _init_mock_quota(self): - make_res = mock.patch.object(quota.QuotaEngine, 'make_reservation') - self.mock_quota_make_res = make_res.start() - commit_res = mock.patch.object(quota.QuotaEngine, 'commit_reservation') - self.mock_quota_commit_res = commit_res.start() - @abc.abstractmethod def _get_plugin_name(self): pass @@ -156,7 +149,6 @@ class TestNsxvAdminUtils(AbstractTestAdminUtils, mock.patch("neutron_lib.plugins.directory.get_plugin", side_effect=get_plugin_mock).start() - self._init_mock_quota() # Create a router to make sure we have deployed an edge self.router = self.create_router() @@ -276,8 +268,6 @@ class TestNsxv3AdminUtils(AbstractTestAdminUtils, self.mock_nm_get_plugin = mock_nm_get_plugin.start() self.mock_nm_get_plugin.return_value = self._plugin - self._init_mock_quota() - def _get_plugin_name(self): return 'nsxv3' @@ -333,7 +323,6 @@ class TestNsxpAdminUtils(AbstractTestAdminUtils, def _init_mock_plugin(self): self._plugin = nsxp_utils.NsxPolicyPluginWrapper() - self._init_mock_quota() def test_nsxp_resources(self): self._test_resources(resources.nsxp_resources)