Merge "Decouple tests from default quota size option values"

This commit is contained in:
Jenkins 2017-03-23 11:16:34 +00:00 committed by Gerrit Code Review
commit bc711b1513
3 changed files with 66 additions and 42 deletions

View File

@ -23,24 +23,34 @@ QUOTA_DB_DRIVER = '%s.DbQuotaDriver' % QUOTA_DB_MODULE
QUOTA_CONF_DRIVER = 'neutron.quota.ConfDriver'
QUOTAS_CFG_GROUP = 'QUOTAS'
DEFAULT_QUOTA = -1
DEFAULT_QUOTA_NETWORK = 10
DEFAULT_QUOTA_SUBNET = 10
DEFAULT_QUOTA_PORT = 50
DEFAULT_QUOTA_SG = 10
DEFAULT_QUOTA_SG_RULE = 100
DEFAULT_QUOTA_ROUTER = 10
DEFAULT_QUOTA_FIP = 50
DEFAULT_QUOTA_RBAC = 10
# quota_opts from neutron/quota/__init__.py
# renamed quota_opts to core_quota_opts
core_quota_opts = [
cfg.IntOpt('default_quota',
default=-1,
default=DEFAULT_QUOTA,
help=_('Default number of resource allowed per tenant. '
'A negative value means unlimited.')),
cfg.IntOpt('quota_network',
default=10,
default=DEFAULT_QUOTA_NETWORK,
help=_('Number of networks allowed per tenant. '
'A negative value means unlimited.')),
cfg.IntOpt('quota_subnet',
default=10,
default=DEFAULT_QUOTA_SUBNET,
help=_('Number of subnets allowed per tenant, '
'A negative value means unlimited.')),
cfg.IntOpt('quota_port',
default=50,
default=DEFAULT_QUOTA_PORT,
help=_('Number of ports allowed per tenant. '
'A negative value means unlimited.')),
cfg.StrOpt('quota_driver',
@ -56,11 +66,11 @@ core_quota_opts = [
# security_group_quota_opts from neutron/extensions/securitygroup.py
security_group_quota_opts = [
cfg.IntOpt('quota_security_group',
default=10,
default=DEFAULT_QUOTA_SG,
help=_('Number of security groups allowed per tenant. '
'A negative value means unlimited.')),
cfg.IntOpt('quota_security_group_rule',
default=100,
default=DEFAULT_QUOTA_SG_RULE,
help=_('Number of security rules allowed per tenant. '
'A negative value means unlimited.')),
]
@ -68,18 +78,18 @@ security_group_quota_opts = [
# l3_quota_opts from neutron/extensions/l3.py
l3_quota_opts = [
cfg.IntOpt('quota_router',
default=10,
default=DEFAULT_QUOTA_ROUTER,
help=_('Number of routers allowed per tenant. '
'A negative value means unlimited.')),
cfg.IntOpt('quota_floatingip',
default=50,
default=DEFAULT_QUOTA_FIP,
help=_('Number of floating IPs allowed per tenant. '
'A negative value means unlimited.')),
]
# rbac_quota_opts from neutron/extensions/rbac.py
rbac_quota_opts = [
cfg.IntOpt('quota_rbac_policy', default=10,
cfg.IntOpt('quota_rbac_policy', default=DEFAULT_QUOTA_RBAC,
deprecated_name='quota_rbac_entry',
help=_('Default number of RBAC entries allowed per tenant. '
'A negative value means unlimited.'))

View File

@ -24,6 +24,7 @@ import pecan
from pecan import request
from neutron.api import extensions
from neutron.conf import quota as qconf
from neutron import manager
from neutron.pecan_wsgi.controllers import root as controllers
from neutron.pecan_wsgi.controllers import utils as controller_utils
@ -159,9 +160,9 @@ class TestQuotasController(test_functional.PecanFunctionalTest):
base_url = '/v2.0/quotas'
default_expected_limits = {
'network': 10,
'port': 50,
'subnet': 10}
'network': qconf.DEFAULT_QUOTA_NETWORK,
'port': qconf.DEFAULT_QUOTA_PORT,
'subnet': qconf.DEFAULT_QUOTA_SUBNET}
def _verify_limits(self, response, limits):
for resource, limit in limits.items():

View File

@ -27,6 +27,7 @@ from neutron.api.v2 import router
from neutron.common import config
from neutron.common import constants
from neutron.common import exceptions
from neutron.conf import quota as qconf
from neutron.db.quota import driver
from neutron import quota
from neutron.quota import resource_registry
@ -99,10 +100,10 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
def test_quotas_default_values(self):
self._test_quota_default_values(
{'network': 10,
'subnet': 10,
'port': 50,
'extra1': -1})
{'network': qconf.DEFAULT_QUOTA_NETWORK,
'subnet': qconf.DEFAULT_QUOTA_SUBNET,
'port': qconf.DEFAULT_QUOTA_PORT,
'extra1': qconf.DEFAULT_QUOTA})
def test_quotas_negative_default_value(self):
cfg.CONF.set_override(
@ -112,10 +113,10 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
cfg.CONF.set_override(
'quota_subnet', -50, group='QUOTAS')
self._test_quota_default_values(
{'network': -1,
'subnet': -1,
'port': -1,
'extra1': -1})
{'network': qconf.DEFAULT_QUOTA,
'subnet': qconf.DEFAULT_QUOTA,
'port': qconf.DEFAULT_QUOTA,
'extra1': qconf.DEFAULT_QUOTA})
def test_show_default_quotas_with_admin(self):
tenant_id = 'tenant_id1'
@ -127,9 +128,12 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
extra_environ=env)
self.assertEqual(200, res.status_int)
quota = self.deserialize(res)
self.assertEqual(10, quota['quota']['network'])
self.assertEqual(10, quota['quota']['subnet'])
self.assertEqual(50, quota['quota']['port'])
self.assertEqual(
qconf.DEFAULT_QUOTA_NETWORK, quota['quota']['network'])
self.assertEqual(
qconf.DEFAULT_QUOTA_SUBNET, quota['quota']['subnet'])
self.assertEqual(
qconf.DEFAULT_QUOTA_PORT, quota['quota']['port'])
def test_show_default_quotas_with_owner_tenant(self):
tenant_id = 'tenant_id1'
@ -141,9 +145,12 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
extra_environ=env)
self.assertEqual(200, res.status_int)
quota = self.deserialize(res)
self.assertEqual(10, quota['quota']['network'])
self.assertEqual(10, quota['quota']['subnet'])
self.assertEqual(50, quota['quota']['port'])
self.assertEqual(
qconf.DEFAULT_QUOTA_NETWORK, quota['quota']['network'])
self.assertEqual(
qconf.DEFAULT_QUOTA_SUBNET, quota['quota']['subnet'])
self.assertEqual(
qconf.DEFAULT_QUOTA_PORT, quota['quota']['port'])
def test_show_default_quotas_without_admin_forbidden_returns_403(self):
tenant_id = 'tenant_id1'
@ -163,9 +170,12 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
extra_environ=env)
self.assertEqual(200, res.status_int)
quota = self.deserialize(res)
self.assertEqual(10, quota['quota']['network'])
self.assertEqual(10, quota['quota']['subnet'])
self.assertEqual(50, quota['quota']['port'])
self.assertEqual(
qconf.DEFAULT_QUOTA_NETWORK, quota['quota']['network'])
self.assertEqual(
qconf.DEFAULT_QUOTA_SUBNET, quota['quota']['subnet'])
self.assertEqual(
qconf.DEFAULT_QUOTA_PORT, quota['quota']['port'])
def test_show_quotas_without_admin_forbidden_returns_403(self):
tenant_id = 'tenant_id1'
@ -183,9 +193,12 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
extra_environ=env)
self.assertEqual(200, res.status_int)
quota = self.deserialize(res)
self.assertEqual(10, quota['quota']['network'])
self.assertEqual(10, quota['quota']['subnet'])
self.assertEqual(50, quota['quota']['port'])
self.assertEqual(
qconf.DEFAULT_QUOTA_NETWORK, quota['quota']['network'])
self.assertEqual(
qconf.DEFAULT_QUOTA_SUBNET, quota['quota']['subnet'])
self.assertEqual(
qconf.DEFAULT_QUOTA_PORT, quota['quota']['port'])
def test_list_quotas_with_admin(self):
tenant_id = 'tenant_id1'
@ -288,8 +301,8 @@ class QuotaExtensionDbTestCase(QuotaExtensionTestCase):
extra_environ=env2)
quota = self.deserialize(res)
self.assertEqual(100, quota['quota']['network'])
self.assertEqual(10, quota['quota']['subnet'])
self.assertEqual(50, quota['quota']['port'])
self.assertEqual(qconf.DEFAULT_QUOTA_SUBNET, quota['quota']['subnet'])
self.assertEqual(qconf.DEFAULT_QUOTA_PORT, quota['quota']['port'])
def test_update_attributes(self):
tenant_id = 'tenant_id1'
@ -416,19 +429,19 @@ class QuotaExtensionCfgTestCase(QuotaExtensionTestCase):
def test_quotas_default_values(self):
self._test_quota_default_values(
{'network': 10,
'subnet': 10,
'port': 50,
'extra1': -1})
{'network': qconf.DEFAULT_QUOTA_NETWORK,
'subnet': qconf.DEFAULT_QUOTA_SUBNET,
'port': qconf.DEFAULT_QUOTA_PORT,
'extra1': qconf.DEFAULT_QUOTA})
def test_quotas_negative_default_value(self):
cfg.CONF.set_override(
'quota_port', -666, group='QUOTAS')
self._test_quota_default_values(
{'network': 10,
'subnet': 10,
'port': -1,
'extra1': -1})
{'network': qconf.DEFAULT_QUOTA_NETWORK,
'subnet': qconf.DEFAULT_QUOTA_SUBNET,
'port': qconf.DEFAULT_QUOTA,
'extra1': qconf.DEFAULT_QUOTA})
def test_show_quotas_with_admin(self):
tenant_id = 'tenant_id1'