yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #15972
[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