diff options
author | Hamdy Khader <hamdyk@mellanox.com> | 2019-01-09 21:04:55 +0200 |
---|---|---|
committer | Hamdy Khader <hamdyk@mellanox.com> | 2019-01-29 11:17:08 +0200 |
commit | 86e31bff417b2ec9412e9bd431edb91d11b6d42c (patch) | |
tree | 19058859a1fc0e9da83d50a046882ce91249a433 /ironic/db | |
parent | 10bf5d5c2afcac7315d7106dac0576d50f26c989 (diff) | |
download | ironic-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.py | 32 | ||||
-rw-r--r-- | ironic/db/sqlalchemy/models.py | 1 |
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): |