]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Cisco: Set correct nullable for switch_ip, instance_id, vlan_id
authorAnn Kamyshnikova <akamyshnikova@mirantis.com>
Tue, 22 Apr 2014 07:34:18 +0000 (11:34 +0400)
committerAnn Kamyshnikova <akamyshnikova@mirantis.com>
Tue, 22 Apr 2014 12:30:41 +0000 (16:30 +0400)
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

neutron/db/migration/alembic_migrations/versions/6be312499f9_set_not_null_vlan_id_cisco.py [new file with mode: 0644]
neutron/db/migration/alembic_migrations/versions/HEAD
neutron/plugins/cisco/db/nexus_models_v2.py

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 (file)
index 0000000..e304fdc
--- /dev/null
@@ -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)
index 2ca3173591a511a69824a8f122c260c2508dd9ba..cf11bc9d3b0dc4478cd00d51e511410f39bfea21 100644 (file)
@@ -1 +1 @@
-d06e871c0d5
+6be312499f9
index bbfaece42cda0b21f15767371c4726cf28b8d01f..e639e47c6345f14f9bbe3962b90ac8c3d0e1d4c0 100644 (file)
@@ -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."""