upgrade 2.0 to 2.1 is broken

Bug #1565781 reported by gordon chung
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gnocchi
Fix Released
Critical
gordon chung

Bug Description

CRITI [gnocchi] DBError: (psycopg2.IntegrityError) could not create unique index "uniq_resource_type0tablename"
DETAIL: Key (tablename)=(name) is duplicated.
 [SQL: 'ALTER TABLE resource_type ADD CONSTRAINT uniq_resource_type0tablename UNIQUE (tablename)']
Traceback (most recent call last):
  File "/usr/bin/gnocchi-upgrade", line 10, in <module>
    sys.exit(upgrade())
  File "/opt/stack/gnocchi/gnocchi/cli.py", line 56, in upgrade
    create_legacy_resource_types=conf.create_legacy_resource_types)
  File "/opt/stack/gnocchi/gnocchi/indexer/sqlalchemy.py", line 216, in upgrade
    command.upgrade(cfg, "head")
  File "/usr/lib/python2.7/site-packages/alembic/command.py", line 174, in upgrade
    script.run_env()
  File "/usr/lib/python2.7/site-packages/alembic/script/base.py", line 397, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/usr/lib/python2.7/site-packages/alembic/util/pyfiles.py", line 81, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/lib/python2.7/site-packages/alembic/util/compat.py", line 79, in load_module_py
    mod = imp.load_source(module_id, path, fp)
  File "/opt/stack/gnocchi/gnocchi/indexer/alembic/env.py", line 95, in <module>
    run_migrations_online()
  File "/opt/stack/gnocchi/gnocchi/indexer/alembic/env.py", line 83, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/lib/python2.7/site-packages/alembic/runtime/environment.py", line 797, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/lib/python2.7/site-packages/alembic/runtime/migration.py", line 312, in run_migrations
    step.migration_fn(**kw)
  File "/opt/stack/gnocchi/gnocchi/indexer/alembic/versions/0735ed97e5b3_add_tablename_to_resource_type.py", line 54, in upgrade
    "resource_type", ["tablename"])
  File "<string>", line 8, in create_unique_constraint
  File "<string>", line 3, in create_unique_constraint
  File "/usr/lib/python2.7/site-packages/alembic/operations/ops.py", line 394, in create_unique_constraint
    return operations.invoke(op)
  File "/usr/lib/python2.7/site-packages/alembic/operations/base.py", line 318, in invoke
    return fn(self, operation)
  File "/usr/lib/python2.7/site-packages/alembic/operations/toimpl.py", line 135, in create_constraint
    operation.to_constraint(operations.migration_context)
  File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 180, in add_constraint
    self._exec(schema.AddConstraint(const))
  File "/usr/lib/python2.7/site-packages/alembic/ddl/impl.py", line 118, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/ddl.py", line 68, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 968, in _execute_ddl
    compiled
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
    util.raise_from_cause(newraise, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 200, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
DBError: (psycopg2.IntegrityError) could not create unique index "uniq_resource_type0tablename"
DETAIL: Key (tablename)=(name) is duplicated.
 [SQL: 'ALTER TABLE resource_type ADD CONSTRAINT uniq_resource_type0tablename UNIQUE (tablename)']

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to gnocchi (master)

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

Changed in gnocchi:
assignee: nobody → gordon chung (chungg)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to gnocchi (master)

Reviewed: https://review.openstack.org/301192
Committed: https://git.openstack.org/cgit/openstack/gnocchi/commit/?id=c77791ebf3bf963dccd53b8e7fa3facd18e0b270
Submitter: Jenkins
Branch: master

commit c77791ebf3bf963dccd53b8e7fa3facd18e0b270
Author: gordon chung <email address hidden>
Date: Mon Apr 4 11:33:27 2016 -0400

    fix resource_type table migration

    we're incorrectly setting the value of tablename to 'name' rather
    than the actually name of resource type. this corrects that.

    additional fixes:
    - fix incorrect setting nullable=False when it's created as True
    initially
    - fix incorrect revision string in create_resource_type

    Change-Id: Id77239c0e22ac069ebb87fc926a8daaf71ad8177
    Closes-Bug: #1565781

Changed in gnocchi:
status: In Progress → Fix Committed
Julien Danjou (jdanjou)
Changed in gnocchi:
milestone: none → 2.1.0
status: Fix Committed → Fix Released
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.