summaryrefslogtreecommitdiff
path: root/ironic/db
diff options
context:
space:
mode:
authorHamdy Khader <hamdyk@mellanox.com>2019-01-09 21:04:55 +0200
committerHamdy Khader <hamdyk@mellanox.com>2019-01-29 11:17:08 +0200
commit86e31bff417b2ec9412e9bd431edb91d11b6d42c (patch)
tree19058859a1fc0e9da83d50a046882ce91249a433 /ironic/db
parent10bf5d5c2afcac7315d7106dac0576d50f26c989 (diff)
downloadironic-86e31bff417b2ec9412e9bd431edb91d11b6d42c.tar.gz
Add is_smartnic to Port data model
To allow the use of Smart NICs on baremetal nodes it is required to mark an ironic port as a Smart NIC, this change implement the changes required for adding port attribute 'is_smartnic' in Port object and data model alongside with migration scripts and unit tests. Story: #2003346 Change-Id: Ic2ffbd6f1035907ea5a18bda6d2b21e617194195
Diffstat (limited to 'ironic/db')
-rw-r--r--ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py32
-rw-r--r--ironic/db/sqlalchemy/models.py1
2 files changed, 33 insertions, 0 deletions
diff --git a/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py b/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py
new file mode 100644
index 000000000..726abf908
--- /dev/null
+++ b/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.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 is_smartnic port attribute
+
+Revision ID: 9cbeefa3763f
+Revises: dd67b91a1981
+Create Date: 2019-01-13 09:31:13.336479
+
+"""
+
+from alembic import op
+import sqlalchemy as sa
+
+# revision identifiers, used by Alembic.
+revision = '9cbeefa3763f'
+down_revision = 'dd67b91a1981'
+
+
+def upgrade():
+ op.add_column('ports', sa.Column('is_smartnic', sa.Boolean(),
+ default=False))
diff --git a/ironic/db/sqlalchemy/models.py b/ironic/db/sqlalchemy/models.py
index db76a9dbd..ddd300a83 100644
--- a/ironic/db/sqlalchemy/models.py
+++ b/ironic/db/sqlalchemy/models.py
@@ -215,6 +215,7 @@ class Port(Base):
pxe_enabled = Column(Boolean, default=True)
internal_info = Column(db_types.JsonEncodedDict)
physical_network = Column(String(64), nullable=True)
+ is_smartnic = Column(Boolean, nullable=True, default=False)
class Portgroup(Base):