← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1307344] Re: neutron migrations are not idempotent or invariant to enabled services

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1307344

Title:
  neutron migrations are not idempotent or invariant to enabled services

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  Neutron is currently failing during grenade upgrade testing. The
  symptom is that meteringlabels table doesn't exist.

  The root cause is that neutron migrations are not idempotent or
  invariant to enabled services (which must be true for migrations for
  the system to work as expected). As can be seen here -
  https://github.com/openstack/neutron/blob/master/neutron/db/migration/alembic_migrations/versions/569e98a8132b_metering.py#L50-L51

  Migration content might be skipped based on configuration
  conditionals. This means it's possible for 2 different installations
  to report as db schema 569e98a8132b but have different schemas. The
  logic of db migrations assumes that 569e98a8132b can only result in a
  single schema, so future migrations depend on the content all being
  the same here.

  The solution here is to probably build a set of "healing migrations"
  that undo all the past conditional skips to get neutron back in line
  with a migration id means exactly a single schema. Anything other than
  that will be largely impossible to support in the field.

  
  (previous description below)
  Hello,
  I just got a neutron-db-manage failure in the Gate : http://logs.openstack.org/77/83777/1/check/check-tempest-dsvm-neutron-heat-slow/a7ad8c0/

  Relevant stack trace is

  "
  2014-04-13 23:53:15.281 | INFO  [alembic.migration] Running upgrade b65aa907aec -> 33c3db036fe4, set_length_of_description_field_metering
  2014-04-13 23:53:15.296 | Traceback (most recent call last):
  2014-04-13 23:53:15.296 |   File "/usr/local/bin/neutron-db-manage", line 10, in <module>
  .....................
  2014-04-13 23:53:15.340 | sqlalchemy.exc.ProgrammingError: (ProgrammingError) (1146, "Table 'neutron_ml2.meteringlabels' doesn't exist") 'ALTER TABLE meteringlabels CHANGE description description VARCHAR(1024) NULL' ()"
  "

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1307344/+subscriptions


References