summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2017-11-16 21:33:11 +0000
committerGerrit Code Review <review@openstack.org>2017-11-16 21:33:11 +0000
commit5d1b3847c5c2c9c8c86cd9f39b3f5c33a02477c2 (patch)
tree8b651c3ac51731b3d08cdd46a5c70796e39596f4
parent4a6671b8d118fa775add40a04923a756fcd3d04c (diff)
parentce18e816b899b0c2110969fe534a87f711f0ef9d (diff)
downloadironic-5d1b3847c5c2c9c8c86cd9f39b3f5c33a02477c2.tar.gz
Merge "Add rescue_interface to node DB table"
-rw-r--r--ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py32
-rw-r--r--ironic/db/sqlalchemy/models.py1
-rw-r--r--ironic/tests/unit/db/sqlalchemy/test_migrations.py7
3 files changed, 40 insertions, 0 deletions
diff --git a/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py b/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py
new file mode 100644
index 000000000..c0785e822
--- /dev/null
+++ b/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py
@@ -0,0 +1,32 @@
+# 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 rescue interface to nodes
+
+Revision ID: 405cfe08f18d
+Revises: 868cb606a74a
+Create Date: 2017-02-01 16:32:32.098742
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '405cfe08f18d'
+down_revision = '868cb606a74a'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+ op.add_column('nodes', sa.Column('rescue_interface',
+ sa.String(255),
+ nullable=True))
diff --git a/ironic/db/sqlalchemy/models.py b/ironic/db/sqlalchemy/models.py
index 622ab4ed9..dc1293ba5 100644
--- a/ironic/db/sqlalchemy/models.py
+++ b/ironic/db/sqlalchemy/models.py
@@ -175,6 +175,7 @@ class Node(Base):
management_interface = Column(String(255), nullable=True)
network_interface = Column(String(255), nullable=True)
raid_interface = Column(String(255), nullable=True)
+ rescue_interface = Column(String(255), nullable=True)
storage_interface = Column(String(255), nullable=True)
power_interface = Column(String(255), nullable=True)
vendor_interface = Column(String(255), nullable=True)
diff --git a/ironic/tests/unit/db/sqlalchemy/test_migrations.py b/ironic/tests/unit/db/sqlalchemy/test_migrations.py
index a73a56a46..2db01be4b 100644
--- a/ironic/tests/unit/db/sqlalchemy/test_migrations.py
+++ b/ironic/tests/unit/db/sqlalchemy/test_migrations.py
@@ -651,6 +651,13 @@ class MigrationCheckersMixin(object):
self.assertIsInstance(table.c.version.type,
sqlalchemy.types.String)
+ def _check_405cfe08f18d(self, engine, data):
+ nodes = db_utils.get_table(engine, 'nodes')
+ col_names = [column.name for column in nodes.c]
+ self.assertIn('rescue_interface', col_names)
+ self.assertIsInstance(nodes.c.rescue_interface.type,
+ sqlalchemy.types.String)
+
def test_upgrade_and_version(self):
with patch_with_engine(self.engine):
self.migration_api.upgrade('head')