From ebe9e046c674c6c7aa72a58b38104894e90bbafe Mon Sep 17 00:00:00 2001 From: Rodolfo Alonso Hernandez Date: Fri, 7 Jan 2022 15:50:19 +0000 Subject: [PATCH] Create an index for "agents.host" column This index improves any query filtering by agent host name. Closes-Bug: #1955639 Change-Id: Ice4fd6319d4c7d403bdc74a25e3d7cac31fb4c9f --- .../alembic_migrations/versions/EXPAND_HEAD | 2 +- .../cd9ef14ccf87_add_index_to_agents_host.py | 37 +++++++++++++++++++ neutron/db/models/agent.py | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 neutron/db/migration/alembic_migrations/versions/yoga/expand/cd9ef14ccf87_add_index_to_agents_host.py 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)