Adding route/subnet quota with default of 3
RM982
This commit is contained in:
@@ -39,17 +39,22 @@ CONF = cfg.CONF
|
|||||||
quark_resources = [
|
quark_resources = [
|
||||||
quota.BaseResource('ports_per_network',
|
quota.BaseResource('ports_per_network',
|
||||||
'quota_ports_per_network'),
|
'quota_ports_per_network'),
|
||||||
|
quota.BaseResource('routes_per_subnet',
|
||||||
|
'quota_routes_per_subnet'),
|
||||||
quota.BaseResource('security_rules_per_group',
|
quota.BaseResource('security_rules_per_group',
|
||||||
'quota_security_rules_per_group'),
|
'quota_security_rules_per_group')
|
||||||
]
|
]
|
||||||
|
|
||||||
quark_quota_opts = [
|
quark_quota_opts = [
|
||||||
cfg.IntOpt('quota_ports_per_network',
|
cfg.IntOpt('quota_ports_per_network',
|
||||||
default=250,
|
default=250,
|
||||||
help=_('Maximum ports per network')),
|
help=_('Maximum ports per network')),
|
||||||
|
cfg.IntOpt('quota_routes_per_subnet',
|
||||||
|
default=3,
|
||||||
|
help=_('Maximum routes per subnet')),
|
||||||
cfg.IntOpt('quota_security_rules_per_group',
|
cfg.IntOpt('quota_security_rules_per_group',
|
||||||
default=20,
|
default=20,
|
||||||
help=_('Maximum security group rules in a group')),
|
help=_('Maximum security group rules in a group'))
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import netaddr
|
|||||||
from neutron.common import exceptions
|
from neutron.common import exceptions
|
||||||
from neutron.openstack.common import importutils
|
from neutron.openstack.common import importutils
|
||||||
from neutron.openstack.common import log as logging
|
from neutron.openstack.common import log as logging
|
||||||
|
from neutron import quota
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
from quark.db import api as db_api
|
from quark.db import api as db_api
|
||||||
@@ -58,6 +59,10 @@ def create_route(context, route):
|
|||||||
route_cidr = netaddr.IPNetwork(route["cidr"])
|
route_cidr = netaddr.IPNetwork(route["cidr"])
|
||||||
subnet_routes = db_api.route_find(context, subnet_id=subnet_id,
|
subnet_routes = db_api.route_find(context, subnet_id=subnet_id,
|
||||||
scope=db_api.ALL)
|
scope=db_api.ALL)
|
||||||
|
|
||||||
|
quota.QUOTAS.limit_check(context, context.tenant_id,
|
||||||
|
routes_per_subnet=len(subnet_routes) + 1)
|
||||||
|
|
||||||
for sub_route in subnet_routes:
|
for sub_route in subnet_routes:
|
||||||
sub_route_cidr = netaddr.IPNetwork(sub_route["cidr"])
|
sub_route_cidr = netaddr.IPNetwork(sub_route["cidr"])
|
||||||
if sub_route_cidr.value == DEFAULT_ROUTE.value:
|
if sub_route_cidr.value == DEFAULT_ROUTE.value:
|
||||||
|
|||||||
Reference in New Issue
Block a user