Allow 255 character strings in tags

In TripleO we are moving to a model where heat is not
used to manage neutron resources. This work relies on
using tags, and we are hitting the 60 characther limit.

This change bumps the tag elements to 255 characters.

Closes-Bug: #1921713
Change-Id: Ie69526acb94b62fd5d8db1dbddc1f24072df7a5e
This commit is contained in:
Harald Jensås 2021-03-29 10:24:45 +02:00
parent ca8f1a20c5
commit 35c7999ebd
5 changed files with 45 additions and 3 deletions

View File

@ -1 +1 @@
6135a7bd4425
8df53b0d2c0e

View File

@ -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)

View File

@ -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))

View File

@ -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()

View File

@ -0,0 +1,6 @@
---
other:
- |
Neutron resource tags can now be 255 characters long, previously resource
tags was limited to 60 characters.