Commit 0e98f5a breaks db migrations with DB2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Low
|
Matt Riedemann |
Bug Description
This change:
https:/
Sets pci_devices.
http://
And DB2 requires that columns in a UniqueConstraint are not nullable.
We get a trace like this:
2014-07-28 03:40:33.511 7720 INFO migrate.
2014-07-28 03:40:37.073 7720 CRITICAL nova [-] ProgrammingError: (ProgrammingError) ibm_db_
2014-07-28 03:40:37.073 7720 TRACE nova Traceback (most recent call last):
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/bin/
2014-07-28 03:40:37.073 7720 TRACE nova sys.exit(main())
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova ret = fn(*fn_args, **fn_kwargs)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return migration.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return IMPL.db_
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return versioning_
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return _migrate(url, repository, version, upgrade=True, err=err, **opts)
2014-07-28 03:40:37.073 7720 TRACE nova File "<string>", line 2, in _migrate
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return f(*a, **kw)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova schema.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova change.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova script_func(engine)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova pci_devices.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return alter_column(self, *p, **k)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova engine.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova conn._run_
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova **kwargs)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova ret = super(AlterTabl
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova return meth(obj, **kw)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova self._run_
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova self.execute()
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova return self.connection
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova params)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova statement, parameters
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova context)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova exc_info
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova reraise(
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova context)
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib/
2014-07-28 03:40:37.073 7720 TRACE nova cursor.
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova self._execute_
2014-07-28 03:40:37.073 7720 TRACE nova File "/usr/lib64/
2014-07-28 03:40:37.073 7720 TRACE nova raise self.messages[
2014-07-28 03:40:37.073 7720 TRACE nova ProgrammingError: (ProgrammingError) ibm_db_
2014-07-28 03:40:37.073 7720 TRACE nova
This will need to be worked into blueprint db2-database.
Changed in nova: | |
status: | New → Triaged |
assignee: | nobody → Matt Riedemann (mriedem) |
Changed in nova: | |
importance: | Undecided → Low |
This is being handled with a backend-specific condition in the 247 migration:
https:/ /review. openstack. org/#/c/ 69047/45/ nova/db/ sqlalchemy/ migrate_ repo/versions/ 247_nullable_ mismatch. py