From 31705ea0a0d1ffd26c5203dd46760195e65f573e Mon Sep 17 00:00:00 2001 From: Pierre Gaxatte Date: Tue, 7 Aug 2018 08:39:24 +0200 Subject: [PATCH] Increase delayed_calls_v2.auth_context When the keystone catalog gets big, no execution can be made because the catalog cannot fit in the `auth_context` field. Change-Id: I100494e467f43386be17eb397fbdf0a0edd24453 Closes-Bug: 1785654 (cherry picked from commit 1f8ae7fc863d77a9ad722bd0dec7c41c26235400) --- ..._increase_delayed_calls_v2_auth_context.py | 36 +++++++++++++++++++ mistral/db/v2/sqlalchemy/models.py | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 mistral/db/sqlalchemy/migration/alembic_migrations/versions/030_increase_delayed_calls_v2_auth_context.py diff --git a/mistral/db/sqlalchemy/migration/alembic_migrations/versions/030_increase_delayed_calls_v2_auth_context.py b/mistral/db/sqlalchemy/migration/alembic_migrations/versions/030_increase_delayed_calls_v2_auth_context.py new file mode 100644 index 000000000..57a033981 --- /dev/null +++ b/mistral/db/sqlalchemy/migration/alembic_migrations/versions/030_increase_delayed_calls_v2_auth_context.py @@ -0,0 +1,36 @@ +# Copyright 2018 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. + +"""Increase delayed_calls_v2.auth_context column size from JsonDictType to +JsonMediumDictType + +Revision ID: 030 +Revises: 029 +Create Date: 2018-08-07 08:35:57.609328 + +""" + +# revision identifiers, used by Alembic. +revision = '030' +down_revision = '029' + +from alembic import op +from mistral.db.sqlalchemy import types as st + + +def upgrade(): + # Changing column type from JsonDictType to JsonLongDictType + op.alter_column('delayed_calls_v2', 'auth_context', + type_=st.JsonMediumDictType()) diff --git a/mistral/db/v2/sqlalchemy/models.py b/mistral/db/v2/sqlalchemy/models.py index 471e339e3..33bf24613 100644 --- a/mistral/db/v2/sqlalchemy/models.py +++ b/mistral/db/v2/sqlalchemy/models.py @@ -384,7 +384,7 @@ class DelayedCall(mb.MistralModelBase): method_arguments = sa.Column(st.JsonDictType()) serializers = sa.Column(st.JsonDictType()) key = sa.Column(sa.String(250), nullable=True) - auth_context = sa.Column(st.JsonDictType()) + auth_context = sa.Column(st.JsonMediumDictType()) execution_time = sa.Column(sa.DateTime, nullable=False) processing = sa.Column(sa.Boolean, default=False, nullable=False)