From 0b468090e6eef1483f6f7c53708f500802a57d51 Mon Sep 17 00:00:00 2001 From: Gregory Thiemonge Date: Tue, 2 Apr 2019 18:05:52 +0200 Subject: [PATCH] Fix spare amphora check and creation This patch fixes an issue when the SparesPool table is empty that blocks spare amphorae creation. It creates a new spares pool entry if the table is empty. Story 2005352 Task 30306 Change-Id: I0ce2778277640ee9e509c709bf8621b8b025d6d3 --- ...46d914b2a5e5_seed_the_spares_pool_table.py | 47 +++++++++++++++++++ ...a-check-and-creation-3adf939b45610155.yaml | 4 ++ 2 files changed, 51 insertions(+) create mode 100644 octavia/db/migration/alembic_migrations/versions/46d914b2a5e5_seed_the_spares_pool_table.py create mode 100644 releasenotes/notes/fix-spare-amphora-check-and-creation-3adf939b45610155.yaml diff --git a/octavia/db/migration/alembic_migrations/versions/46d914b2a5e5_seed_the_spares_pool_table.py b/octavia/db/migration/alembic_migrations/versions/46d914b2a5e5_seed_the_spares_pool_table.py new file mode 100644 index 0000000000..145f2bec94 --- /dev/null +++ b/octavia/db/migration/alembic_migrations/versions/46d914b2a5e5_seed_the_spares_pool_table.py @@ -0,0 +1,47 @@ +# Copyright 2019 Michael Johnson +# +# 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. + +"""Seed the spares_pool table + +Revision ID: 46d914b2a5e5 +Revises: 6ffc710674ef +Create Date: 2019-04-03 14:03:25.596157 + +""" + + +import datetime + +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision = '46d914b2a5e5' +down_revision = '6ffc710674ef' + + +def upgrade(): + # Create temporary table for table data seeding + insert_table = sa.table( + u'spares_pool', + sa.column(u'updated_at', sa.DateTime), + ) + + # Note: The date/time doesn't matter, we just need to seed the table. + op.bulk_insert( + insert_table, + [ + {'updated_at': datetime.datetime.now()} + ] + ) diff --git a/releasenotes/notes/fix-spare-amphora-check-and-creation-3adf939b45610155.yaml b/releasenotes/notes/fix-spare-amphora-check-and-creation-3adf939b45610155.yaml new file mode 100644 index 0000000000..53aadb8f08 --- /dev/null +++ b/releasenotes/notes/fix-spare-amphora-check-and-creation-3adf939b45610155.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + Fixed an issue that prevents spare amphorae to be created.