From: Ann Kamyshnikova Date: Tue, 22 Apr 2014 07:34:18 +0000 (+0400) Subject: Cisco: Set correct nullable for switch_ip, instance_id, vlan_id X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=2d4a2fa884ebda4ef6770bdc5729cac02d1f33fa;p=openstack-build%2Fneutron-build.git Cisco: Set correct nullable for switch_ip, instance_id, vlan_id Corrected the following model according to database content: - NOT NULL for NexusPortBinding switch_ip and instance_id In migrations folsom_initial was set incorrect nullable parameter: - Set vlan_id NOT NULL in cisco_nexusport_bindings. Partial-Bug: #1296282 Change-Id: Ie5315fcbf227025c30ab4a4b97ec2a140ee3923c --- diff --git a/neutron/db/migration/alembic_migrations/versions/6be312499f9_set_not_null_vlan_id_cisco.py b/neutron/db/migration/alembic_migrations/versions/6be312499f9_set_not_null_vlan_id_cisco.py new file mode 100644 index 000000000..e304fdc24 --- /dev/null +++ b/neutron/db/migration/alembic_migrations/versions/6be312499f9_set_not_null_vlan_id_cisco.py @@ -0,0 +1,54 @@ +# Copyright 2014 OpenStack Foundation +# +# 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. +# + +"""set_not_null_vlan_id_cisco + +Revision ID: 6be312499f9 +Revises: d06e871c0d5 +Create Date: 2014-03-27 14:38:12.571173 + +""" + +# revision identifiers, used by Alembic. +revision = '6be312499f9' +down_revision = 'd06e871c0d5' + +# Change to ['*'] if this migration applies to all plugins + +migration_for_plugins = [ + 'neutron.plugins.cisco.network_plugin.PluginV2' +] + +from alembic import op +import sqlalchemy as sa + + +from neutron.db import migration + + +def upgrade(active_plugins=None, options=None): + if not migration.should_run(active_plugins, migration_for_plugins): + return + + op.alter_column('cisco_nexusport_bindings', 'vlan_id', nullable=False, + existing_type=sa.Integer) + + +def downgrade(active_plugins=None, options=None): + if not migration.should_run(active_plugins, migration_for_plugins): + return + + op.alter_column('cisco_nexusport_bindings', 'vlan_id', nullable=True, + existing_type=sa.Integer) diff --git a/neutron/db/migration/alembic_migrations/versions/HEAD b/neutron/db/migration/alembic_migrations/versions/HEAD index 2ca317359..cf11bc9d3 100644 --- a/neutron/db/migration/alembic_migrations/versions/HEAD +++ b/neutron/db/migration/alembic_migrations/versions/HEAD @@ -1 +1 @@ -d06e871c0d5 +6be312499f9 diff --git a/neutron/plugins/cisco/db/nexus_models_v2.py b/neutron/plugins/cisco/db/nexus_models_v2.py index bbfaece42..e639e47c6 100644 --- a/neutron/plugins/cisco/db/nexus_models_v2.py +++ b/neutron/plugins/cisco/db/nexus_models_v2.py @@ -28,8 +28,8 @@ class NexusPortBinding(model_base.BASEV2): id = sa.Column(sa.Integer, primary_key=True, autoincrement=True) port_id = sa.Column(sa.String(255)) vlan_id = sa.Column(sa.Integer, nullable=False) - switch_ip = sa.Column(sa.String(255)) - instance_id = sa.Column(sa.String(255)) + switch_ip = sa.Column(sa.String(255), nullable=False) + instance_id = sa.Column(sa.String(255), nullable=False) def __repr__(self): """Just the binding, without the id key."""