neutron-db-manage autogenerate does not produce a clean upgrade

Bug #1458682 reported by Henry Gessau on 2015-05-25
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Medium
Unassigned

Bug Description

neutron-db-manage --autogenerate create commands to drop all the tables without models in the neutron tree. All the FWaaS, LBaaS and VPNaaS tables have models in separate repos. This means that people who just want to add/change some tables will get a lot of unwanted commands in their autogenerated migration script.

Henry Gessau (gessau) on 2015-05-25
Changed in neutron:
assignee: nobody → Henry Gessau (gessau)
tags: added: db

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

Changed in neutron:
status: New → In Progress

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

commit 9fc7f56565925a53f2212706431af479752bb8d9
Author: Henry Gessau <email address hidden>
Date: Mon May 25 18:00:58 2015 -0400

    Skip external tables for neutron-db-manage --autogenerate

    DB tables that do not have models in the neutron tree cause
    neutron-db-manage --autogenerate to create commands to drop the
    tables. This fix hooks into alembic's environment with a include_object
    callback that ignores external tables.

    We already had a list of external tables for use by the migration tests,
    so re-use them for --autogenerate.

    Partial-bug: #1458682

    Change-Id: I2c0bc73f72840c401c578e87d8178a79f05aad82

Change abandoned by Kyle Mestery (<email address hidden>) on branch: feature/pecan
Review: https://review.openstack.org/196701
Reason: This is lacking the functional fix [1], so I'll propose a new merge commit which includes that one.

[1] https://review.openstack.org/#/c/196711/

Download full text (171.5 KiB)

Reviewed: https://review.openstack.org/196920
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=7f759c077f8f860c13db92d2ea6b353ef6b70900
Submitter: Jenkins
Branch: feature/pecan

commit 8123144fadd7c5d5e6e56a76ea860512619a2cf6
Author: Moshe Levi <email address hidden>
Date: Sun Jun 28 14:37:14 2015 +0300

    Fix Consolidate sriov agent and driver code

    This patch add mising __init to mech_sriov/mech_driver/
    and update the setup.cfg to the new agent entrypoint

    Trivial Fix

    Change-Id: I53a527081feb78472f496675bbb3c5121d38a14a

commit 8942fccf02e6e179d47582fdb2792a1ca972da21
Author: Assaf Muller <email address hidden>
Date: Mon Jun 29 11:38:51 2015 -0400

    Remove failing SafeFixture tests

    The fixtures 1.3 release attempted to fix the fixtures resource
    leak issue, but failed to do so completely. Our own SafeFixture
    is still needed: The 1.3 release broke our SafeFixture tests,
    but not the usage of SafeFixture itself. This patch removes
    those failing tests for now to unbreak the gate. Jakub reported
    a bug on fixtures 1.3:
    https://bugs.launchpad.net/python-fixtures/+bug/1469759

    We will continue to use SafeFixture until that bug is fixed
    in fixtures, at which point we will be able to require
    fixtures > 1.3.

    Change-Id: I59457c3bb198ff86d5ad55a1e623d008f0034b8f
    Closes-Bug: #1469734

commit 71dffb0a2c1720cd8233a329d32958a0160dd6f5
Author: Kevin Benton <email address hidden>
Date: Mon Jun 29 08:27:41 2015 +0000

    Revert "Removed test_lib module"

    This reverts commit 9a6536de6e1a7fe9b2552adc142e254426b82b6f.

    We pulled all of the plugins out of the tree, many of which still inherit
    from neutron test classes. This change then stated that we no longer
    support testing other plugins. I think this is a bit premature and should
    have been discussed under the subject
    "Neutron plugins can't use neutron plugin unit tests" or something
    similar.

    Change-Id: I68318589f010b731574ea3bfa8df98492bab31fc

commit b20fd81dbd497e058384a0af065dd0f1fdc4c728
Author: Jakub Libosvar <email address hidden>
Date: Fri Jun 5 14:32:51 2015 +0000

    Refactor NetcatTester class

    Following capabilities were added:
       - used transport protocol is passed as a constant instead of bool
       - src port for testing was added
       - connection can be established explicitly
       - change constructor parameters of NetcatTester

    As a part of removing bool for protocol definition
    get_free_namespace_port() was also modified to match the behavior.

    Change-Id: Id2ec322e7f731c05a3754a65411c9a5d8b258126

commit 83e37980dcd0b2bad6d64dd2cb23bcd2891cafca
Author: jingliuqing <email address hidden>
Date: Sat Jun 27 13:41:54 2015 +0800

    Use REST rather than ReST

    Change-Id: I06c9deaab58c5ec13bfeec39fb8fd4b1fe21f42d

commit 1b60df85ba3ad442c2e4e7e52538e1b9a1bf9378
Author: Kevin Benton <email address hidden>
Date: Thu Jun 25 18:34:38 2015 -0700

    Add a double-mock guard to the base test case

    Use mock to patch mock with a check to prevent multiple active
    patches to the...

tags: added: in-feature-pecan
Changed in neutron:
importance: Undecided → Medium
Paul Michali (pcm) wrote :

Not sure what the status is of this bug. Been inactive for a while.

Henry Gessau (gessau) wrote :

It's still a valid bug but lower priority because it is easy to manually remove the unwanted generated code in the migration scripts. At some point I'll do an analysis of the "unclean" diffs for neutron and subprojects, and re-evaluate the effort vs. reward.

This bug is > 240 days without activity. We are unsetting assignee and milestone and setting status to Incomplete in order to allow its expiry in 60 days.

If the bug is still valid, then update the bug status.

Changed in neutron:
assignee: Henry Gessau (gessau) → nobody
status: In Progress → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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