diff --git a/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD b/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD index 8bdbec889ef..ac6fb48e5d9 100644 --- a/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD +++ b/neutron/db/migration/alembic_migrations/versions/EXPAND_HEAD @@ -1 +1 @@ -8160f7a9cebb +cd9ef14ccf87 diff --git a/neutron/db/migration/alembic_migrations/versions/yoga/expand/cd9ef14ccf87_add_index_to_agents_host.py b/neutron/db/migration/alembic_migrations/versions/yoga/expand/cd9ef14ccf87_add_index_to_agents_host.py new file mode 100644 index 00000000000..75d4f743995 --- /dev/null +++ b/neutron/db/migration/alembic_migrations/versions/yoga/expand/cd9ef14ccf87_add_index_to_agents_host.py @@ -0,0 +1,37 @@ +# Copyright 2022 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 + + +"""add index to agents host + +Revision ID: cd9ef14ccf87 +Revises: 8160f7a9cebb +Create Date: 2022-01-07 15:45:33.319170 + +""" + +# revision identifiers, used by Alembic. +revision = 'cd9ef14ccf87' +down_revision = '8160f7a9cebb' + + +TABLE = 'agents' +COLUMN = 'host' + + +def upgrade(): + op.create_index(op.f('ix_' + TABLE + '_' + COLUMN), TABLE, [COLUMN]) diff --git a/neutron/db/models/agent.py b/neutron/db/models/agent.py index d6c0473d543..0c2ab8cf4b9 100644 --- a/neutron/db/models/agent.py +++ b/neutron/db/models/agent.py @@ -33,7 +33,7 @@ class Agent(model_base.BASEV2, model_base.HasId): # TOPIC is a fanout exchange topic topic = sa.Column(sa.String(255), nullable=False) # TOPIC.host is a target topic - host = sa.Column(sa.String(255), nullable=False) + host = sa.Column(sa.String(255), nullable=False, index=True) availability_zone = sa.Column(sa.String(255)) admin_state_up = sa.Column(sa.Boolean, default=True, server_default=sql.true(), nullable=False)