Floating IP status migration should affect only L3-enabled plugins

Bug #1287630 reported by Salvatore Orlando
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Sumit Naiksatam

Bug Description

If the migration is executed in a setup where the initial l3 migration was not executed, it will cause a devstack failure.

Traceback:
2014-03-04 12:40:45.238 | condition when an agent entry is 'upserted'.
2014-03-04 12:40:45.248 | INFO [alembic.migration] Running upgrade 1fcfc149aca4 -> 50e86cb2637a, nsx_mappings
2014-03-04 12:40:45.257 | INFO [alembic.migration] Running upgrade 50e86cb2637a -> ed93525fd003, bigswitch_quota
2014-03-04 12:40:45.260 | INFO [alembic.migration] Running upgrade ed93525fd003 -> 8f682276ee4, ryu plugin quota
2014-03-04 12:40:45.261 | INFO [alembic.migration] Running upgrade 8f682276ee4 -> 1421183d533f, NSX DHCP/metadata support
2014-03-04 12:40:45.264 | INFO [alembic.migration] Running upgrade 1421183d533f -> 3d3cb89d84ee, nsx_switch_mappings
2014-03-04 12:40:45.266 | INFO [alembic.migration] Running upgrade 3d3cb89d84ee -> 4ca36cfc898c, nsx_router_mappings
2014-03-04 12:40:45.268 | INFO [alembic.migration] Running upgrade 4ca36cfc898c -> 27cc183af192, ml2_vnic_type
2014-03-04 12:40:45.270 | INFO [alembic.migration] Running upgrade 27cc183af192 -> 50d5ba354c23, ml2 binding:vif_details
2014-03-04 12:40:45.272 | INFO [alembic.migration] Running upgrade 50d5ba354c23 -> 157a5d299379, ml2 binding:profile
2014-03-04 12:40:45.274 | INFO [alembic.migration] Running upgrade 157a5d299379 -> 3d2585038b95, VMware NSX rebranding
2014-03-04 12:40:45.276 | INFO [alembic.migration] Running upgrade 3d2585038b95 -> abc88c33f74f, lb stats
2014-03-04 12:40:45.278 | INFO [alembic.migration] Running upgrade abc88c33f74f -> 1b2580001654, nsx_sec_group_mapping
2014-03-04 12:40:45.280 | INFO [alembic.migration] Running upgrade 1b2580001654 -> e766b19a3bb, nuage_initial
2014-03-04 12:40:45.282 | INFO [alembic.migration] Running upgrade e766b19a3bb -> f44ab9871cd6, bsn_security_groups
2014-03-04 12:40:45.284 | INFO [alembic.migration] Running upgrade f44ab9871cd6 -> 2eeaf963a447, floatingip_status
2014-03-04 12:40:45.286 | Traceback (most recent call last):
2014-03-04 12:40:45.288 | File "/usr/local/bin/neutron-db-manage", line 10, in <module>
2014-03-04 12:40:45.290 | sys.exit(main())
2014-03-04 12:40:45.292 | File "/opt/stack/neutron/neutron/db/migration/cli.py", line 141, in main
2014-03-04 12:40:45.294 | CONF.command.func(config, CONF.command.name)
2014-03-04 12:40:45.296 | File "/opt/stack/neutron/neutron/db/migration/cli.py", line 78, in do_upgrade_downgrade
2014-03-04 12:40:45.298 | do_alembic_command(config, cmd, revision, sql=CONF.command.sql)
2014-03-04 12:40:45.300 | File "/opt/stack/neutron/neutron/db/migration/cli.py", line 57, in do_alembic_command
2014-03-04 12:40:45.302 | getattr(alembic_command, cmd)(config, *args, **kwargs)
2014-03-04 12:40:45.304 | File "/usr/local/lib/python2.7/dist-packages/alembic/command.py", line 124, in upgrade
2014-03-04 12:40:45.306 | script.run_env()
2014-03-04 12:40:45.308 | File "/usr/local/lib/python2.7/dist-packages/alembic/script.py", line 199, in run_env
2014-03-04 12:40:45.310 | util.load_python_file(self.dir, 'env.py')
2014-03-04 12:40:45.312 | File "/usr/local/lib/python2.7/dist-packages/alembic/util.py", line 199, in load_python_file
2014-03-04 12:40:45.314 | module = load_module(module_id, path)
2014-03-04 12:40:45.316 | File "/usr/local/lib/python2.7/dist-packages/alembic/compat.py", line 55, in load_module
2014-03-04 12:40:45.318 | mod = imp.load_source(module_id, path, fp)
2014-03-04 12:40:45.320 | File "/opt/stack/neutron/neutron/db/migration/alembic_migrations/env.py", line 103, in <module>
2014-03-04 12:40:45.322 | run_migrations_online()
2014-03-04 12:40:45.324 | File "/opt/stack/neutron/neutron/db/migration/alembic_migrations/env.py", line 87, in run_migrations_online
2014-03-04 12:40:45.326 | options=build_options())
2014-03-04 12:40:45.328 | File "<string>", line 7, in run_migrations
2014-03-04 12:40:45.330 | File "/usr/local/lib/python2.7/dist-packages/alembic/environment.py", line 652, in run_migrations
2014-03-04 12:40:45.332 | self.get_context().run_migrations(**kw)
2014-03-04 12:40:45.334 | File "/usr/local/lib/python2.7/dist-packages/alembic/migration.py", line 225, in run_migrations
2014-03-04 12:40:45.337 | change(**kw)
2014-03-04 12:40:45.339 | File "/opt/stack/neutron/neutron/db/migration/alembic_migrations/versions/2eeaf963a447_floatingip_status.py", line 48, in upgrade
2014-03-04 12:40:45.341 | nullable=True))
2014-03-04 12:40:45.343 | File "<string>", line 7, in add_column
2014-03-04 12:40:45.345 | File "/usr/local/lib/python2.7/dist-packages/alembic/operations.py", line 365, in add_column
2014-03-04 12:40:45.347 | schema=schema
2014-03-04 12:40:45.349 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/impl.py", line 127, in add_column
2014-03-04 12:40:45.351 | self._exec(base.AddColumn(table_name, column, schema=schema))
2014-03-04 12:40:45.353 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/impl.py", line 76, in _exec
2014-03-04 12:40:45.355 | conn.execute(construct, *multiparams, **params)
2014-03-04 12:40:45.358 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1449, in execute
2014-03-04 12:40:45.360 | params)
2014-03-04 12:40:45.362 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1542, in _execute_ddl
2014-03-04 12:40:45.364 | compiled
2014-03-04 12:40:45.366 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1698, in _execute_context
2014-03-04 12:40:45.368 | context)
2014-03-04 12:40:45.370 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1691, in _execute_context
2014-03-04 12:40:45.373 | context)
2014-03-04 12:40:45.376 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 331, in do_execute
2014-03-04 12:40:45.378 | cursor.execute(statement, parameters)
2014-03-04 12:40:45.380 | File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
2014-03-04 12:40:45.382 | self.errorhandler(self, exc, value)
2014-03-04 12:40:45.384 | File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2014-03-04 12:40:45.386 | raise errorclass, errorvalue
2014-03-04 12:40:45.388 | sqlalchemy.exc.ProgrammingError: (ProgrammingError) (1146, "Table 'ovs_neutron.floatingips' doesn't exist") 'ALTER TABLE floatingips ADD COLUMN last_known_router_id VARCHAR(36)' ()
2014-03-04 12:40:45.390 | + exit_trap

Tags: db
Changed in neutron:
importance: Undecided → High
status: New → Confirmed
assignee: nobody → Salvatore Orlando (salvatore-orlando)
milestone: none → icehouse-3
status: Confirmed → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/77927

Changed in neutron:
status: Triaged → In Progress
tags: added: db
Changed in neutron:
assignee: Salvatore Orlando (salvatore-orlando) → Sumit Naiksatam (snaiksat)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/77927
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e0f8e3e36f460c19e12987098e025705b3049c85
Submitter: Jenkins
Branch: master

commit e0f8e3e36f460c19e12987098e025705b3049c85
Author: Salvatore Orlando <email address hidden>
Date: Tue Mar 4 08:13:41 2014 -0800

    Do fip_status migration only for l3-capable plugins

    The migration was initially performed for all plugins, causing
    failures for plugins for which the initial L3 migration was
    not performed.

    Change-Id: I4a48a13202a4125f032a3e80aa567f7979d2c335
    Closes-Bug: 1287630

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-3 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.