diff options
Diffstat (limited to 'designate/storage/impl_sqlalchemy/alembic/versions/304d41c3847a_add_services.py')
-rw-r--r-- | designate/storage/impl_sqlalchemy/alembic/versions/304d41c3847a_add_services.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/designate/storage/impl_sqlalchemy/alembic/versions/304d41c3847a_add_services.py b/designate/storage/impl_sqlalchemy/alembic/versions/304d41c3847a_add_services.py new file mode 100644 index 00000000..02e6a09a --- /dev/null +++ b/designate/storage/impl_sqlalchemy/alembic/versions/304d41c3847a_add_services.py @@ -0,0 +1,59 @@ +# Copyright 2016 Hewlett Packard Enterprise Development Company LP +# Copyright 2022 Red Hat +# +# 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. + +"""add_services + +Revision ID: 304d41c3847a +Revises: d04819112169 +Create Date: 2022-08-01 16:41:55.139558 + +""" +from alembic import op +import sqlalchemy as sa + +from designate.sqlalchemy.types import UUID +from designate.storage.impl_sqlalchemy.alembic import legacy_utils +from designate import utils + +# revision identifiers, used by Alembic. +revision = '304d41c3847a' +down_revision = 'd04819112169' +branch_labels = None +depends_on = None + +SERVICE_STATES = ["UP", "DOWN", "WARNING"] + +# Equivalent to legacy sqlalchemy-migrate revision 097_add_services + + +def upgrade() -> None: + # Check if the equivalent legacy migration has already run + if not legacy_utils.is_migration_needed(97): + return + + metadata = sa.MetaData() + + op.create_table( + 'service_statuses', metadata, + sa.Column('id', UUID, default=utils.generate_uuid, primary_key=True), + sa.Column('created_at', sa.DateTime), + sa.Column('updated_at', sa.DateTime), + sa.Column('service_name', sa.String(40), nullable=False), + sa.Column('hostname', sa.String(255), nullable=False), + sa.Column('heartbeated_at', sa.DateTime, nullable=True), + sa.Column('status', sa.Enum(name='service_statuses_enum', + *SERVICE_STATES), nullable=False), + sa.Column('stats', sa.Text, nullable=False), + sa.Column('capabilities', sa.Text, nullable=False)) |