diff --git a/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD b/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD index 30dc6562ae9..d13d55f4767 100644 --- a/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD +++ b/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD @@ -1 +1 @@ -6135a7bd4425 +8df53b0d2c0e diff --git a/neutron/db/migration/alembic_migrations/versions/xena/expand/8df53b0d2c0e_increase_tag_elements_from_60_to_255_.py b/neutron/db/migration/alembic_migrations/versions/xena/expand/8df53b0d2c0e_increase_tag_elements_from_60_to_255_.py new file mode 100644 index 00000000000..61358ffce0c --- /dev/null +++ b/neutron/db/migration/alembic_migrations/versions/xena/expand/8df53b0d2c0e_increase_tag_elements_from_60_to_255_.py @@ -0,0 +1,36 @@ +# Copyright 2021 OpenStack Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +from alembic import op +import sqlalchemy as sa + +"""increase tag elements from 60 to 255 chars + +Revision ID: 8df53b0d2c0e +Revises: 6135a7bd4425 +Create Date: 2021-03-29 14:44:35.607053 + +""" + +# revision identifiers, used by Alembic. +revision = '8df53b0d2c0e' +down_revision = '6135a7bd4425' + +TABLE = 'tags' + + +def upgrade(): + op.alter_column(TABLE, 'tag', existing_type=sa.String(60), + type_=sa.String(255), existing_nullable=False) diff --git a/neutron/db/models/tag.py b/neutron/db/models/tag.py index 7e37cfe01a0..3cab5a81959 100644 --- a/neutron/db/models/tag.py +++ b/neutron/db/models/tag.py @@ -24,7 +24,7 @@ class Tag(model_base.BASEV2): sa.BigInteger().with_variant(sa.Integer(), 'sqlite'), sa.ForeignKey(standard_attr.StandardAttribute.id, ondelete="CASCADE"), nullable=False, primary_key=True) - tag = sa.Column(sa.String(60), nullable=False, primary_key=True) + tag = sa.Column(sa.String(255), nullable=False, primary_key=True) standard_attr = orm.relationship( 'StandardAttribute', load_on_pending=True, backref=orm.backref('tags', lazy='subquery', viewonly=True)) diff --git a/neutron/extensions/tagging.py b/neutron/extensions/tagging.py index 57806ba0250..162f55ceb83 100644 --- a/neutron/extensions/tagging.py +++ b/neutron/extensions/tagging.py @@ -35,7 +35,7 @@ TAGS = TAG + 's' TAGS_ANY = TAGS + '-any' NOT_TAGS = 'not-' + TAGS NOT_TAGS_ANY = NOT_TAGS + '-any' -MAX_TAG_LEN = 60 +MAX_TAG_LEN = 255 TAG_PLUGIN_TYPE = 'TAG' TAG_SUPPORTED_RESOURCES = standard_attr.get_tag_resource_parent_map() diff --git a/releasenotes/notes/tag-elements-increased-from-60-to-255-e98455525b865333.yaml b/releasenotes/notes/tag-elements-increased-from-60-to-255-e98455525b865333.yaml new file mode 100644 index 00000000000..1c4abd87ff6 --- /dev/null +++ b/releasenotes/notes/tag-elements-increased-from-60-to-255-e98455525b865333.yaml @@ -0,0 +1,6 @@ +--- +other: + - | + Neutron resource tags can now be 255 characters long, previously resource + tags was limited to 60 characters. +