Fuel 8.0 DB migration test failed

Bug #1510999 reported by Alexander Kislitsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Alexander Kislitsky

Bug Description

Python2.7, requirements installed from nailgun/test-requirements.txt

On running migration test I have error:

$ nosetests nailgun/test/unit/test_migration_fuel_8_0.py
INFO [alembic.migration] Context impl PostgresqlImpl.
INFO [alembic.migration] Will assume transactional DDL.
INFO [alembic.migration] Running upgrade None -> 1a1504d469f8, fuel_5_0
INFO [alembic.migration] Running upgrade 1a1504d469f8 -> 52924111f7d8, fuel_5_1
INFO [alembic.migration] Running upgrade 52924111f7d8 -> 1b1d4016375d, fuel_6_0
INFO [alembic.migration] Running upgrade 1b1d4016375d -> 37608259013, Fuel 6.1 migration
INFO [alembic.migration] Running upgrade 37608259013 -> 1e50a4903910, Fuel 7.0
INFO [alembic.migration] Context impl PostgresqlImpl.
INFO [alembic.migration] Will assume transactional DDL.
INFO [alembic.migration] Running upgrade 1e50a4903910 -> 43b2cb64dae6, Fuel 8.0
......E.....
======================================================================
ERROR: test_unique_name_fields_insert_unique (nailgun.test.unit.test_migration_fuel_8_0.TestNodeGroupsMigration)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/sand/PycharmProjects/fuel-web/nailgun/nailgun/test/unit/test_migration_fuel_8_0.py", line 264, in test_unique_name_fields_insert_unique
    'name': uuid.uuid4()})
  File "/home/sand/PycharmProjects/fuel-web/nailgun/nailgun/test/unit/test_migration_fuel_8_0.py", line 80, in insert_table_row
    [row_data]
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/orm/scoping.py", line 150, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 991, in execute
    bind, close_with_result=True).execute(clause, params or {})
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 729, in execute
    return meth(self, multiparams, params)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception
    exc_info
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
ProgrammingError: (ProgrammingError) can't adapt type 'UUID' 'INSERT INTO nodegroups (cluster_id, name) VALUES (%(cluster_id)s, %(name)s) RETURNING nodegroups.id' {'cluster_id': 1, 'name': UUID('4fc652cf-45bd-4c3c-bdc4-f2e0ea676094')}

---------------------------------------------------------------------- File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception
    exc_info
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/home/sand/.virtualenvs/fuel/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
ProgrammingError: (ProgrammingError) can't adapt type 'UUID' 'INSERT INTO nodegroups (cluster_id, name) VALUES (%(cluster_id)s, %(name)s) RETURNING nodegroups.id' {'cluster_id': 1, 'name': UUID('4fc652cf-45bd-4c3c-bdc4-f2e0ea676094')}

----------------------------------------------------------------------

Fix is simple - to wrap uuid.uuid4() to six.text_type

Dmitry Pyzhov (dpyzhov)
tags: added: tech-debt
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Alexander Kislitsky (akislitsky)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

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

Changed in fuel:
status: Triaged → In Progress
Changed in fuel:
assignee: Alexander Kislitsky (akislitsky) → Igor Kalnitsky (ikalnitsky)
Changed in fuel:
assignee: Igor Kalnitsky (ikalnitsky) → Alexander Kislitsky (akislitsky)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/240156
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=a53a1679f4b613c715d351c14362e11c85df852d
Submitter: Jenkins
Branch: master

commit a53a1679f4b613c715d351c14362e11c85df852d
Author: Alexander Kislitsky <email address hidden>
Date: Thu Oct 29 11:01:45 2015 +0300

    Migration test for 8.0 fixed

    Result of uuid.uuid4 casted to text before insertiation to DB.
    str() replaced with six.text_type()

    Change-Id: I8cbe3ca274c33244589abc08c71722ca9db5cedf
    Closes-Bug: #1510999

Changed in fuel:
status: In Progress → Fix Committed
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
tags: added: on-verification
Revision history for this message
ElenaRossokhina (esolomina) wrote :
Download full text (5.2 KiB)

Verified on Fuel 229 build, environment created by dos.py (version 2.9.12)

Logs:
(fuel-devops-venv-es)esolomina@srv023-scc:~/fuel-web/nailgun$ python -V
Python 2.7.6
(fuel-devops-venv-es)esolomina@srv023-scc:~/fuel-web/nailgun$ nosetests nailgun/test/unit/test_migration_fuel_8_0.py
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 1a1504d469f8, fuel_5_0
INFO [alembic.runtime.migration] Running upgrade 1a1504d469f8 -> 52924111f7d8, fuel_5_1
INFO [alembic.runtime.migration] Running upgrade 52924111f7d8 -> 1b1d4016375d, fuel_6_0
INFO [alembic.runtime.migration] Running upgrade 1b1d4016375d -> 37608259013, Fuel 6.1 migration
INFO [alembic.runtime.migration] Running upgrade 37608259013 -> 1e50a4903910, Fuel 7.0
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 1e50a4903910 -> 43b2cb64dae6, Fuel 8.0
..................
----------------------------------------------------------------------
Ran 18 tests in 5.010s

OK
(fuel-devops-venv-es)esolomina@srv023-scc:~/fuel-web/nailgun$ nosetests nailgun/test/unit/test_migration_fuel_8_0.py -v
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 1a1504d469f8, fuel_5_0
INFO [alembic.runtime.migration] Running upgrade 1a1504d469f8 -> 52924111f7d8, fuel_5_1
INFO [alembic.runtime.migration] Running upgrade 52924111f7d8 -> 1b1d4016375d, fuel_6_0
INFO [alembic.runtime.migration] Running upgrade 1b1d4016375d -> 37608259013, Fuel 6.1 migration
INFO [alembic.runtime.migration] Running upgrade 37608259013 -> 1e50a4903910, Fuel 7.0
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 1e50a4903910 -> 43b2cb64dae6, Fuel 8.0
test_baremetal_fields_saving (nailgun.test.unit.test_migration_fuel_8_0.TestBaremetalFields) ... ok
test_moving_plugin_attributes (nailgun.test.unit.test_migration_fuel_8_0.TestClusterPluginsMigration) ... ok
test_plugin_a_is_enabled (nailgun.test.unit.test_migration_fuel_8_0.TestClusterPluginsMigration) ... ok
test_plugin_b_is_disabled (nailgun.test.unit.test_migration_fuel_8_0.TestClusterPluginsMigration) ... ok
test_bootstrap_field_exists_and_filled (nailgun.test.unit.test_migration_fuel_8_0.TestMasterSettingsMigration) ... ok
test_internal_name_and_floating_names_are_added (nailgun.test.unit.test_migration_fuel_8_0.TestNeutronConfigInternalFloatingNames) ... ok
test_internal_name_and_floating_names_defaults (nailgun.test.unit.test_migration_fuel_8_0.TestNeutronConfigInternalFloatingNames) ... ok
test_neutron_config_is_updated_in_releases (nailgun.test.unit.test_migration_fuel_8_0.TestNeutronConfigInternalFloatingNames) ... ok
test_node_error_type_enum (nailgun.test.unit.test_migration_fuel_8_0.TestNodeErrorTypeMigration) ... ok
test_name_cluster_unique_constraint_migration (nailgun.test...

Read more...

tags: removed: on-verification
Changed in fuel:
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.