healing migration doesn't work for ryu CI

Bug #1342507 reported by YAMAMOTO Takashi
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
neutron
Invalid
High
Ann Taraday

Bug Description

ryu CI started failing after healing migration change (https://review.openstack.org/#/c/96438/)

http://180.37.183.32/ryuci/38/96438/41/check/check-tempest-dsvm-ryuplugin/e457d80/logs/devstacklog.txt.gz

2014-07-15 11:27:55.722 | Traceback (most recent call last):
2014-07-15 11:27:55.722 | File "/usr/local/bin/neutron-db-manage", line 10, in <module>
2014-07-15 11:27:55.722 | sys.exit(main())
2014-07-15 11:27:55.722 | File "/opt/stack/new/neutron/neutron/db/migration/cli.py", line 171, in main
2014-07-15 11:27:55.722 | CONF.command.func(config, CONF.command.name)
2014-07-15 11:27:55.722 | File "/opt/stack/new/neutron/neutron/db/migration/cli.py", line 85, in do_upgrade_downgrade
2014-07-15 11:27:55.722 | do_alembic_command(config, cmd, revision, sql=CONF.command.sql)
2014-07-15 11:27:55.722 | File "/opt/stack/new/neutron/neutron/db/migration/cli.py", line 63, in do_alembic_command
2014-07-15 11:27:55.723 | getattr(alembic_command, cmd)(config, *args, **kwargs)
2014-07-15 11:27:55.723 | File "/usr/local/lib/python2.7/dist-packages/alembic/command.py", line 124, in upgrade
2014-07-15 11:27:55.733 | script.run_env()
2014-07-15 11:27:55.734 | File "/usr/local/lib/python2.7/dist-packages/alembic/script.py", line 199, in run_env
2014-07-15 11:27:55.736 | util.load_python_file(self.dir, 'env.py')
2014-07-15 11:27:55.737 | File "/usr/local/lib/python2.7/dist-packages/alembic/util.py", line 205, in load_python_file
2014-07-15 11:27:55.737 | module = load_module_py(module_id, path)
2014-07-15 11:27:55.738 | File "/usr/local/lib/python2.7/dist-packages/alembic/compat.py", line 58, in load_module_py
2014-07-15 11:27:55.738 | mod = imp.load_source(module_id, path, fp)
2014-07-15 11:27:55.738 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/env.py", line 106, in <module>
2014-07-15 11:27:55.738 | run_migrations_online()
2014-07-15 11:27:55.738 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/env.py", line 90, in run_migrations_online
2014-07-15 11:27:55.738 | options=build_options())
2014-07-15 11:27:55.738 | File "<string>", line 7, in run_migrations
2014-07-15 11:27:55.739 | File "/usr/local/lib/python2.7/dist-packages/alembic/environment.py", line 681, in run_migrations
2014-07-15 11:27:55.740 | self.get_context().run_migrations(**kw)
2014-07-15 11:27:55.740 | File "/usr/local/lib/python2.7/dist-packages/alembic/migration.py", line 225, in run_migrations
2014-07-15 11:27:55.741 | change(**kw)
2014-07-15 11:27:55.741 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/versions/1d6ee1ae5da5_db_healing.py", line 32, in upgrade
2014-07-15 11:27:55.741 | heal_script.heal()
2014-07-15 11:27:55.741 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/heal_script.py", line 78, in heal
2014-07-15 11:27:55.741 | execute_alembic_command(el)
2014-07-15 11:27:55.741 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/heal_script.py", line 93, in execute_alembic_command
2014-07-15 11:27:55.741 | parse_modify_command(command)
2014-07-15 11:27:55.741 | File "/opt/stack/new/neutron/neutron/db/migration/alembic_migrations/heal_script.py", line 126, in parse_modify_command
2014-07-15 11:27:55.741 | op.alter_column(table, column, **kwargs)
2014-07-15 11:27:55.741 | File "<string>", line 7, in alter_column
2014-07-15 11:27:55.742 | File "<string>", line 1, in <lambda>
2014-07-15 11:27:55.742 | File "/usr/local/lib/python2.7/dist-packages/alembic/util.py", line 322, in go
2014-07-15 11:27:55.742 | return fn(*arg, **kw)
2014-07-15 11:27:55.742 | File "/usr/local/lib/python2.7/dist-packages/alembic/operations.py", line 300, in alter_column
2014-07-15 11:27:55.743 | existing_autoincrement=existing_autoincrement
2014-07-15 11:27:55.743 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/mysql.py", line 42, in alter_column
2014-07-15 11:27:55.743 | else existing_autoincrement
2014-07-15 11:27:55.743 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/impl.py", line 76, in _exec
2014-07-15 11:27:55.744 | conn.execute(construct, *multiparams, **params)
2014-07-15 11:27:55.744 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 717, in execute
2014-07-15 11:27:55.745 | return meth(self, multiparams, params)
2014-07-15 11:27:55.745 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/ddl.py", line 67, in _execute_on_connection
2014-07-15 11:27:55.745 | return connection._execute_ddl(self, multiparams, params)
2014-07-15 11:27:55.745 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 765, in _execute_ddl
2014-07-15 11:27:55.746 | compiled = ddl.compile(dialect=dialect)
2014-07-15 11:27:55.746 | File "<string>", line 1, in <lambda>
2014-07-15 11:27:55.746 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 468, in compile
2014-07-15 11:27:55.746 | return self._compiler(dialect, bind=bind, **kw)
2014-07-15 11:27:55.746 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/ddl.py", line 25, in _compiler
2014-07-15 11:27:55.746 | return dialect.ddl_compiler(dialect, self, **kw)
2014-07-15 11:27:55.746 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 197, in __init__
2014-07-15 11:27:55.764 | self.string = self.process(self.statement, **compile_kwargs)
2014-07-15 11:27:55.764 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 220, in process
2014-07-15 11:27:55.764 | return obj._compiler_dispatch(self, **kwargs)
2014-07-15 11:27:55.764 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/compiler.py", line 410, in <lambda>
2014-07-15 11:27:55.772 | lambda *arg, **kw: existing(*arg, **kw))
2014-07-15 11:27:55.772 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/compiler.py", line 448, in __call__
2014-07-15 11:27:55.772 | return fn(element, compiler, **kw)
2014-07-15 11:27:55.772 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/mysql.py", line 98, in _mysql_alter_column
2014-07-15 11:27:55.772 | autoincrement=element.autoincrement
2014-07-15 11:27:55.772 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/mysql.py", line 118, in _mysql_colspec
2014-07-15 11:27:55.773 | spec += " DEFAULT %s" % _render_value(compiler, server_default)
2014-07-15 11:27:55.773 | File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/mysql.py", line 106, in _render_value
2014-07-15 11:27:55.773 | return compiler.sql_compiler.process(expr)
2014-07-15 11:27:55.773 | File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 220, in process
2014-07-15 11:27:55.773 | return obj._compiler_dispatch(self, **kwargs)
2014-07-15 11:27:55.773 | AttributeError: 'NoneType' object has no attribute '_compiler_dispatch'

Tags: db
Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

"Neutron Ryu" CI reports two results.
please look at "check-tempest-dsvm-ryuplugin" for this problem.
(because currently the other one has unrelated problems too.)

Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

it seems healing migration for mysql needs alembic >= 0.6.4 at least for the following change.
https://bitbucket.org/zzzeek/alembic/commits/b29780719904

Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :
Revision history for this message
Kevin Benton (kevinbenton) wrote :

This bug is affecting the Big Switch CI as well.

Revision history for this message
Magesh GV (magesh-gv) wrote :

This bug affects One Convergence CI also.

Revision history for this message
Trinath Somanchi (trinath-somanchi) wrote :

This bug affects Freescale CI as well.
See: http://fslopenstackci.com/105331/9/logs/devstack.log

Revision history for this message
Kevin Benton (kevinbenton) wrote :

Unfortunately the Big Switch CI didn't comment on the patch in question because the voting component thought the failure was caused by a CI local environment issue.

Henry Gessau (gessau)
tags: added: db
Revision history for this message
parikshit (pari-manur) wrote :
Revision history for this message
Ignacio Scopetta (3-ignacio) wrote :

This bug affects Embrane CI also.

Changed in neutron:
importance: Undecided → Medium
importance: Medium → High
status: New → Confirmed
Changed in neutron:
assignee: nobody → Ann Kamyshnikova (akamyshnikova)
Revision history for this message
Ann Taraday (akamyshnikova) wrote :

There is a problem with version of alembic. With alembic>=0.6.4 for all plugins heal script worked normal. I tested locally and I got such error only with alembic versions 0.6.2 and older. Global requirements already updated with alembic>=0.6.4. So the problem should get fixed with alembic version upgrade.

Changed in neutron:
status: Confirmed → Invalid
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.