2014-01-31 18:50:34 |
Valeriy Ponomaryov |
description |
How to reproduce:
1) manila share-network-create --neutron-net netid1 --neutron-subne subnetid1
2) delete share-network from 1)
3) create share-network with data from 1)
4) delete share-network from 3
5) manila-manage db sync 11
Result:
2014-01-31 13:44:34 DEBUG [manila.utils] backend <module 'manila.db.sqlalchemy.migration' from '/opt/stack/manila/manila/db/sqlalchemy/migration.pyc'>
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Loading repository /opt/stack/manila/manila/db/sqlalchemy/migrate_repo...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/001_manila_init.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/001_manila_init.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/002_quota_class.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/002_quota_class.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/003_add_share_tables.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/003_add_share_tables.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/004_add_share_snapshot_table.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/004_add_share_snapshot_table.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/005_make_user_quotas_key_and_value.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/005_make_user_quotas_key_and_value.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/006_add_share_metadata.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/006_add_share_metadata.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/007_add_security_service.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/007_add_security_service.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/008_add_share_networks_and_allocations.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/008_add_share_networks_and_allocations.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/009_add_password_field_to_security_service.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/009_add_password_field_to_security_service.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/010_change_project_user_quotas_deleted_column_type.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/010_change_project_user_quotas_deleted_column_type.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/011_change_type_of_deleted_column.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/011_change_type_of_deleted_column.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Repository /opt/stack/manila/manila/db/sqlalchemy/migrate_repo loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Config: OrderedDict([('db_settings', OrderedDict([('__name__', 'db_settings'), ('repository_id', 'manila'), ('version_table', 'migrate_version'), ('required_dbs', '[]')]))])
2014-01-31 13:44:34 INFO [migrate.versioning.api] 12 -> 11...
2014-01-31 13:44:34 CRITICAL [manila] (IntegrityError) (1062, "Duplicate entry 'netid1-subnetid1-31f019b00e4445f29e541e4f0b56831d' for key 'net_subnet_uc'") 'ALTER TABLE share_networks ADD CONSTRAINT net_subnet_uc UNIQUE (neutron_net_id, neutron_subnet_id, project_id)' ()
Traceback (most recent call last):
File "/usr/local/bin/manila-manage", line 10, in <module>
execfile(__file__)
File "/opt/stack/manila/bin/manila-manage", line 435, in <module>
main()
File "/opt/stack/manila/bin/manila-manage", line 432, in main
fn(*fn_args)
File "/opt/stack/manila/bin/manila-manage", line 219, in sync
return migration.db_sync(version)
File "/opt/stack/manila/manila/db/migration.py", line 33, in db_sync
return IMPL.db_sync(version=version)
File "/opt/stack/manila/manila/db/sqlalchemy/migration.py", line 84, in db_sync
version)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 202, in downgrade
return _migrate(url, repository, version, upgrade=False, err=err, **opts)
File "<string>", line 2, in _migrate
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 159, in with_engine
return f(*a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
schema.runchange(ver, change, changeset.step)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange
change.run(self.engine, step)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 145, in run
script_func(engine)
File "/opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py", line 51, in downgrade
uc.create()
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 44, in create
self.__do_imports('constraintgenerator', *a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 32, in __do_imports
run_single_visitor(engine, visitorcallable, self, *a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/databases/visitor.py", line 75, in run_single_visitor
fn(element, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 290, in visit_migrate_unique_constraint
self._visit_constraint(*p, **k)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 296, in _visit_constraint
self.execute()
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 43, in execute
return self.connection.execute(self.buffer.getvalue())
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1449, in execute
params)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1628, in _execute_text
statement, parameters
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1698, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1691, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 331, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1062, "Duplicate entry 'netid1-subnetid1-31f019b00e4445f29e541e4f0b56831d' for key 'net_subnet_uc'") 'ALTER TABLE share_networks ADD CONSTRAINT net_subnet_uc UNIQUE (neutron_net_id, neutron_subnet_id, project_id)' () |
How to reproduce:
1) manila share-network-create --neutron-net netid1 --neutron-subne subnetid1
2) delete share-network from 1)
3) create share-network with data from 1)
4) delete share-network from 3
5) manila-manage db sync 11
6) after step 5, we can create duplicates of share-networks, and still can not downgrade.
Result for (5):
2014-01-31 13:44:34 DEBUG [manila.utils] backend <module 'manila.db.sqlalchemy.migration' from '/opt/stack/manila/manila/db/sqlalchemy/migration.pyc'>
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Loading repository /opt/stack/manila/manila/db/sqlalchemy/migrate_repo...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/001_manila_init.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/001_manila_init.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/002_quota_class.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/002_quota_class.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/003_add_share_tables.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/003_add_share_tables.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/004_add_share_snapshot_table.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/004_add_share_snapshot_table.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/005_make_user_quotas_key_and_value.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/005_make_user_quotas_key_and_value.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/006_add_share_metadata.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/006_add_share_metadata.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/007_add_security_service.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/007_add_security_service.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/008_add_share_networks_and_allocations.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/008_add_share_networks_and_allocations.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/009_add_password_field_to_security_service.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/009_add_password_field_to_security_service.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/010_change_project_user_quotas_deleted_column_type.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/010_change_project_user_quotas_deleted_column_type.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/011_change_type_of_deleted_column.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/011_change_type_of_deleted_column.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Loading script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py...
2014-01-31 13:44:34 DEBUG [migrate.versioning.script.base] Script /opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Repository /opt/stack/manila/manila/db/sqlalchemy/migrate_repo loaded successfully
2014-01-31 13:44:34 DEBUG [migrate.versioning.repository] Config: OrderedDict([('db_settings', OrderedDict([('__name__', 'db_settings'), ('repository_id', 'manila'), ('version_table', 'migrate_version'), ('required_dbs', '[]')]))])
2014-01-31 13:44:34 INFO [migrate.versioning.api] 12 -> 11...
2014-01-31 13:44:34 CRITICAL [manila] (IntegrityError) (1062, "Duplicate entry 'netid1-subnetid1-31f019b00e4445f29e541e4f0b56831d' for key 'net_subnet_uc'") 'ALTER TABLE share_networks ADD CONSTRAINT net_subnet_uc UNIQUE (neutron_net_id, neutron_subnet_id, project_id)' ()
Traceback (most recent call last):
File "/usr/local/bin/manila-manage", line 10, in <module>
execfile(__file__)
File "/opt/stack/manila/bin/manila-manage", line 435, in <module>
main()
File "/opt/stack/manila/bin/manila-manage", line 432, in main
fn(*fn_args)
File "/opt/stack/manila/bin/manila-manage", line 219, in sync
return migration.db_sync(version)
File "/opt/stack/manila/manila/db/migration.py", line 33, in db_sync
return IMPL.db_sync(version=version)
File "/opt/stack/manila/manila/db/sqlalchemy/migration.py", line 84, in db_sync
version)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 202, in downgrade
return _migrate(url, repository, version, upgrade=False, err=err, **opts)
File "<string>", line 2, in _migrate
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 159, in with_engine
return f(*a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
schema.runchange(ver, change, changeset.step)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange
change.run(self.engine, step)
File "/usr/local/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 145, in run
script_func(engine)
File "/opt/stack/manila/manila/db/sqlalchemy/migrate_repo/versions/012_change_unique_constraint_for_share_networks.py", line 51, in downgrade
uc.create()
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 44, in create
self.__do_imports('constraintgenerator', *a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/constraint.py", line 32, in __do_imports
run_single_visitor(engine, visitorcallable, self, *a, **kw)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/databases/visitor.py", line 75, in run_single_visitor
fn(element, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 290, in visit_migrate_unique_constraint
self._visit_constraint(*p, **k)
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 296, in _visit_constraint
self.execute()
File "/usr/local/lib/python2.7/dist-packages/migrate/changeset/ansisql.py", line 43, in execute
return self.connection.execute(self.buffer.getvalue())
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1449, in execute
params)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1628, in _execute_text
statement, parameters
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1698, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1691, in _execute_context
context)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 331, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1062, "Duplicate entry 'netid1-subnetid1-31f019b00e4445f29e541e4f0b56831d' for key 'net_subnet_uc'") 'ALTER TABLE share_networks ADD CONSTRAINT net_subnet_uc UNIQUE (neutron_net_id, neutron_subnet_id, project_id)' () |
|