Reuse constants defined in attributes
This change reuses constants defined in attributes module in db modules. Change-Id: Idbb5f21a485a41a814b6b8c5744348d25443239e
This commit is contained in:
parent
770624b13b
commit
ae40bf1fd9
|
@ -34,9 +34,6 @@ SHARED = 'shared'
|
|||
# Used by range check to indicate no limit for a bound.
|
||||
UNLIMITED = None
|
||||
|
||||
# TODO(watanabe.isao): A fix like in neutron/db/models_v2.py needs to be
|
||||
# done in other db modules, to reuse the following constants.
|
||||
# Common definitions for maximum string field length
|
||||
NAME_MAX_LEN = 255
|
||||
TENANT_ID_MAX_LEN = 255
|
||||
DESCRIPTION_MAX_LEN = 255
|
||||
|
|
|
@ -17,6 +17,7 @@ from oslo_utils import uuidutils
|
|||
import sqlalchemy as sa
|
||||
from sqlalchemy.orm import exc
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.db import model_base
|
||||
from neutron.db import models_v2
|
||||
from neutron.extensions import address_scope as ext_address_scope
|
||||
|
@ -29,7 +30,7 @@ class AddressScope(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
|
|||
|
||||
__tablename__ = "address_scopes"
|
||||
|
||||
name = sa.Column(sa.String(255), nullable=False)
|
||||
name = sa.Column(sa.String(attr.NAME_MAX_LEN), nullable=False)
|
||||
shared = sa.Column(sa.Boolean, nullable=False)
|
||||
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ class Agent(model_base.BASEV2, models_v2.HasId):
|
|||
# updated when agents report
|
||||
heartbeat_timestamp = sa.Column(sa.DateTime, nullable=False)
|
||||
# description is note for admin user
|
||||
description = sa.Column(sa.String(255))
|
||||
description = sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN))
|
||||
# configurations: a json dict string, I think 4095 is enough
|
||||
configurations = sa.Column(sa.String(4095), nullable=False)
|
||||
# load - number of resources hosted by the agent
|
||||
|
|
|
@ -18,6 +18,7 @@ import sqlalchemy as sa
|
|||
from sqlalchemy import orm
|
||||
from sqlalchemy.orm import exc as sa_exc
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.db import common_db_mixin
|
||||
from neutron.db import model_base
|
||||
from neutron.db import models_v2
|
||||
|
@ -28,8 +29,8 @@ LOG = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class Flavor(model_base.BASEV2, models_v2.HasId):
|
||||
name = sa.Column(sa.String(255))
|
||||
description = sa.Column(sa.String(1024))
|
||||
name = sa.Column(sa.String(attr.NAME_MAX_LEN))
|
||||
description = sa.Column(sa.String(attr.LONG_DESCRIPTION_MAX_LEN))
|
||||
enabled = sa.Column(sa.Boolean, nullable=False, default=True,
|
||||
server_default=sa.sql.true())
|
||||
# Make it True for multi-type flavors
|
||||
|
@ -39,7 +40,7 @@ class Flavor(model_base.BASEV2, models_v2.HasId):
|
|||
|
||||
|
||||
class ServiceProfile(model_base.BASEV2, models_v2.HasId):
|
||||
description = sa.Column(sa.String(1024))
|
||||
description = sa.Column(sa.String(attr.LONG_DESCRIPTION_MAX_LEN))
|
||||
driver = sa.Column(sa.String(1024), nullable=False)
|
||||
enabled = sa.Column(sa.Boolean, nullable=False, default=True,
|
||||
server_default=sa.sql.true())
|
||||
|
|
|
@ -71,7 +71,7 @@ class RouterPort(model_base.BASEV2):
|
|||
# queries on router ports, and also prevents potential error-prone
|
||||
# conditions which might originate from users altering the DEVICE_OWNER
|
||||
# property of router ports.
|
||||
port_type = sa.Column(sa.String(255))
|
||||
port_type = sa.Column(sa.String(attributes.DEVICE_OWNER_MAX_LEN))
|
||||
port = orm.relationship(
|
||||
models_v2.Port,
|
||||
backref=orm.backref('routerport', uselist=False, cascade="all,delete"),
|
||||
|
@ -82,7 +82,7 @@ class Router(model_base.HasStandardAttributes, model_base.BASEV2,
|
|||
models_v2.HasId, models_v2.HasTenant):
|
||||
"""Represents a v2 neutron router."""
|
||||
|
||||
name = sa.Column(sa.String(255))
|
||||
name = sa.Column(sa.String(attributes.NAME_MAX_LEN))
|
||||
status = sa.Column(sa.String(16))
|
||||
admin_state_up = sa.Column(sa.Boolean)
|
||||
gw_port_id = sa.Column(sa.String(36), sa.ForeignKey('ports.id'))
|
||||
|
|
|
@ -114,8 +114,8 @@ class L3HARouterNetwork(model_base.BASEV2):
|
|||
|
||||
__tablename__ = 'ha_router_networks'
|
||||
|
||||
tenant_id = sa.Column(sa.String(255), primary_key=True,
|
||||
nullable=False)
|
||||
tenant_id = sa.Column(sa.String(attributes.TENANT_ID_MAX_LEN),
|
||||
primary_key=True, nullable=False)
|
||||
network_id = sa.Column(sa.String(36),
|
||||
sa.ForeignKey('networks.id', ondelete="CASCADE"),
|
||||
nullable=False, primary_key=True)
|
||||
|
|
|
@ -20,6 +20,7 @@ from sqlalchemy import orm
|
|||
from sqlalchemy import sql
|
||||
|
||||
from neutron.api.rpc.agentnotifiers import metering_rpc_agent_api
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.common import constants
|
||||
from neutron.db import common_db_mixin as base_db
|
||||
from neutron.db import l3_db
|
||||
|
@ -43,8 +44,8 @@ class MeteringLabelRule(model_base.BASEV2, models_v2.HasId):
|
|||
|
||||
|
||||
class MeteringLabel(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
|
||||
name = sa.Column(sa.String(255))
|
||||
description = sa.Column(sa.String(1024))
|
||||
name = sa.Column(sa.String(attr.NAME_MAX_LEN))
|
||||
description = sa.Column(sa.String(attr.LONG_DESCRIPTION_MAX_LEN))
|
||||
rules = orm.relationship(MeteringLabelRule, backref="label",
|
||||
cascade="delete", lazy="joined")
|
||||
routers = orm.relationship(
|
||||
|
|
|
@ -234,7 +234,7 @@ class SubnetPool(model_base.HasStandardAttributes, model_base.BASEV2,
|
|||
"""Represents a neutron subnet pool.
|
||||
"""
|
||||
|
||||
name = sa.Column(sa.String(255))
|
||||
name = sa.Column(sa.String(attr.NAME_MAX_LEN))
|
||||
ip_version = sa.Column(sa.Integer, nullable=False)
|
||||
default_prefixlen = sa.Column(sa.Integer, nullable=False)
|
||||
min_prefixlen = sa.Column(sa.Integer, nullable=False)
|
||||
|
|
|
@ -16,6 +16,7 @@ import sqlalchemy as sa
|
|||
from sqlalchemy import orm
|
||||
from sqlalchemy import sql
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.db import model_base
|
||||
from neutron.db import models_v2
|
||||
|
||||
|
@ -32,7 +33,7 @@ class ResourceDelta(model_base.BASEV2):
|
|||
|
||||
|
||||
class Reservation(model_base.BASEV2, models_v2.HasId):
|
||||
tenant_id = sa.Column(sa.String(255))
|
||||
tenant_id = sa.Column(sa.String(attr.TENANT_ID_MAX_LEN))
|
||||
expiration = sa.Column(sa.DateTime())
|
||||
resource_deltas = orm.relationship(ResourceDelta,
|
||||
backref='reservation',
|
||||
|
@ -55,7 +56,7 @@ class QuotaUsage(model_base.BASEV2):
|
|||
|
||||
resource = sa.Column(sa.String(255), nullable=False,
|
||||
primary_key=True, index=True)
|
||||
tenant_id = sa.Column(sa.String(255), nullable=False,
|
||||
tenant_id = sa.Column(sa.String(attr.TENANT_ID_MAX_LEN), nullable=False,
|
||||
primary_key=True, index=True)
|
||||
dirty = sa.Column(sa.Boolean, nullable=False, server_default=sql.false())
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import abc
|
|||
import sqlalchemy as sa
|
||||
from sqlalchemy.orm import validates
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.common import exceptions as n_exc
|
||||
from neutron.db import model_base
|
||||
|
||||
|
@ -38,7 +39,8 @@ class RBACColumns(model_base.HasId, model_base.HasTenant):
|
|||
# the target_tenant is the subject that the policy will affect. this may
|
||||
# also be a wildcard '*' to indicate all tenants or it may be a role if
|
||||
# neutron gets better integration with keystone
|
||||
target_tenant = sa.Column(sa.String(255), nullable=False)
|
||||
target_tenant = sa.Column(sa.String(attr.TENANT_ID_MAX_LEN),
|
||||
nullable=False)
|
||||
|
||||
action = sa.Column(sa.String(255), nullable=False)
|
||||
|
||||
|
|
|
@ -47,14 +47,15 @@ class SecurityGroup(model_base.HasStandardAttributes, model_base.BASEV2,
|
|||
models_v2.HasId, models_v2.HasTenant):
|
||||
"""Represents a v2 neutron security group."""
|
||||
|
||||
name = sa.Column(sa.String(255))
|
||||
description = sa.Column(sa.String(255))
|
||||
name = sa.Column(sa.String(attributes.NAME_MAX_LEN))
|
||||
description = sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN))
|
||||
|
||||
|
||||
class DefaultSecurityGroup(model_base.BASEV2):
|
||||
__tablename__ = 'default_security_group'
|
||||
|
||||
tenant_id = sa.Column(sa.String(255), primary_key=True, nullable=False)
|
||||
tenant_id = sa.Column(sa.String(attributes.TENANT_ID_MAX_LEN),
|
||||
primary_key=True, nullable=False)
|
||||
security_group_id = sa.Column(sa.String(36),
|
||||
sa.ForeignKey("securitygroups.id",
|
||||
ondelete="CASCADE"),
|
||||
|
|
|
@ -18,6 +18,7 @@ from itertools import chain
|
|||
from oslo_log import log as logging
|
||||
import sqlalchemy as sa
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.db import model_base
|
||||
from neutron.services import provider_configuration as pconf
|
||||
|
||||
|
@ -25,7 +26,7 @@ LOG = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class ProviderResourceAssociation(model_base.BASEV2):
|
||||
provider_name = sa.Column(sa.String(255),
|
||||
provider_name = sa.Column(sa.String(attr.NAME_MAX_LEN),
|
||||
nullable=False, primary_key=True)
|
||||
# should be manually deleted on resource deletion
|
||||
resource_id = sa.Column(sa.String(36), nullable=False, primary_key=True,
|
||||
|
|
|
@ -21,6 +21,7 @@ from oslo_log import log as logging
|
|||
import stevedore
|
||||
|
||||
from neutron._i18n import _LW
|
||||
from neutron.api.v2 import attributes as attr
|
||||
from neutron.common import exceptions as n_exc
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
@ -133,9 +134,10 @@ def parse_service_provider_opt(service_module='neutron'):
|
|||
|
||||
"""Parse service definition opts and returns result."""
|
||||
def validate_name(name):
|
||||
if len(name) > 255:
|
||||
if len(name) > attr.NAME_MAX_LEN:
|
||||
raise n_exc.Invalid(
|
||||
_("Provider name is limited by 255 characters: %s") % name)
|
||||
_("Provider name %(name)s is limited by %(len)s characters")
|
||||
% {'name': name, 'len': attr.NAME_MAX_LEN})
|
||||
|
||||
neutron_mod = NeutronModule(service_module)
|
||||
svc_providers_opt = neutron_mod.service_providers()
|
||||
|
|
|
@ -24,6 +24,7 @@ from oslo_db.sqlalchemy import test_migrations
|
|||
import sqlalchemy
|
||||
from sqlalchemy import event
|
||||
|
||||
from neutron.api.v2 import attributes as attr
|
||||
import neutron.db.migration as migration_help
|
||||
from neutron.db.migration.alembic_migrations import external
|
||||
from neutron.db.migration import cli as migration
|
||||
|
@ -283,8 +284,9 @@ class TestSanityCheck(test_base.DbTestCase):
|
|||
'securitygroups', sqlalchemy.MetaData(),
|
||||
sqlalchemy.Column('id', sqlalchemy.String(length=36),
|
||||
nullable=False),
|
||||
sqlalchemy.Column('name', sqlalchemy.String(255)),
|
||||
sqlalchemy.Column('tenant_id', sqlalchemy.String(255)))
|
||||
sqlalchemy.Column('name', sqlalchemy.String(attr.NAME_MAX_LEN)),
|
||||
sqlalchemy.Column('tenant_id',
|
||||
sqlalchemy.String(attr.TENANT_ID_MAX_LEN)))
|
||||
|
||||
with self.engine.connect() as conn:
|
||||
SecurityGroup.create(conn)
|
||||
|
|
Loading…
Reference in New Issue