Public bug reported:

I'm testing the live migration workflows moving from Mitaka to Newton.

In my scenario, I have two keystone server VM, and haproxy in front of
them. Both are running Mitaka and are fully functional. During the
upgrade I run Rally to repeatedly create and then delete users. Rally is
performing these 15 at a time as fast as possible.

During the upgrade, while both are still running Mitaka, I add the
Newton code to a new filesystem path, and I put the Newton version of
configuration in place. I perform db_sync --expand call which is
successful. I then perform a db_sync --migrate call, also successful
(successful means the db_sync command exited 0 and the user
creation/deletion does not experience a failure). Next I perform a
rolling restart of Keystone services, disabling each keystone from the
haproxy before restarting it. Again, success.

However, to finalize the upgrade, there is a db_sync call to --contract.
Both servers are running new Newton code at this point, and rally
continues. During the --contract call some small number of the user
create/delete actions are failing with:

2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters [req-88df4389
-f5f8-4332-a0d7-33eefa20a8ac 243ffe0eeb67454a83b8b0b21525bf3a f2970151809044f2aa
78fc75e43e3dc6 - default default] DBAPIError exception wrapped from (pymysql.err
.InternalError) (1054, u"Unknown column 'password.created_at' in 'field list'")
[SQL: u'SELECT password.id AS password_id, password.local_user_id AS password_lo
cal_user_id, password.password AS password_password, password.created_at AS pass
word_created_at, password.expires_at AS password_expires_at, password.self_servi
ce AS password_self_service, local_user_1.id AS local_user_1_id \nFROM (SELECT u
ser.id AS user_id \nFROM user \nWHERE user.id = %(param_1)s) AS anon_1 INNER JOI
N local_user AS local_user_1 ON anon_1.user_id = local_user_1.user_id INNER JOIN
 password ON local_user_1.id = password.local_user_id ORDER BY local_user_1.id,
password.created_at'] [parameters: {u'param_1': u'90602d52e1904e43bce1c2b82e46f2
6d'}]

2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters Traceback (mo
st recent call last):
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File "/opt/
openstack/current/keystone/local/lib/python2.7/site-packages/sqlalchemy/engine/b
ase.py", line 1139, in _execute_context
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     context)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File "/opt/
openstack/current/keystone/local/lib/python2.7/site-packages/sqlalchemy/engine/d
efault.py", line 450, in do_execute
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     cursor.ex
ecute(statement, parameters)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File "/opt/
openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/cursors.py",
 line 167, in execute
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     result = 
self._query(query)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/cursors.py",
 line 323, in _query
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
conn.query(q)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 836, in query
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 1020, in _read_query_result
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
result.read()
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 1303, in read
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
first_packet = self.connection._read_packet()
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 982, in _read_packet
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
packet.check_error()
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 394, in check_error
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
err.raise_mysql_exception(self._data)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/err.py",
 line 120, in raise_mysql_exception
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
_check_mysql_exception(errinfo)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/err.py",
 line 115, in _check_mysql_exception
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     raise 
InternalError(errno, errorvalue)
2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters 
InternalError: (1054, u"Unknown column 'password.created_at' in 'field list'")


Speaking on IRC, this may be related to https://review.openstack.org/#/c/367025/

** Affects: keystone
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1636495

Title:
  Failures during db_sync --contract during Mitaka to Newton (live)
  upgrade

Status in OpenStack Identity (keystone):
  New

Bug description:
  I'm testing the live migration workflows moving from Mitaka to Newton.

  In my scenario, I have two keystone server VM, and haproxy in front of
  them. Both are running Mitaka and are fully functional. During the
  upgrade I run Rally to repeatedly create and then delete users. Rally
  is performing these 15 at a time as fast as possible.

  During the upgrade, while both are still running Mitaka, I add the
  Newton code to a new filesystem path, and I put the Newton version of
  configuration in place. I perform db_sync --expand call which is
  successful. I then perform a db_sync --migrate call, also successful
  (successful means the db_sync command exited 0 and the user
  creation/deletion does not experience a failure). Next I perform a
  rolling restart of Keystone services, disabling each keystone from the
  haproxy before restarting it. Again, success.

  However, to finalize the upgrade, there is a db_sync call to
  --contract. Both servers are running new Newton code at this point,
  and rally continues. During the --contract call some small number of
  the user create/delete actions are failing with:

  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters 
[req-88df4389
  -f5f8-4332-a0d7-33eefa20a8ac 243ffe0eeb67454a83b8b0b21525bf3a 
f2970151809044f2aa
  78fc75e43e3dc6 - default default] DBAPIError exception wrapped from 
(pymysql.err
  .InternalError) (1054, u"Unknown column 'password.created_at' in 'field 
list'")
  [SQL: u'SELECT password.id AS password_id, password.local_user_id AS 
password_lo
  cal_user_id, password.password AS password_password, password.created_at AS 
pass
  word_created_at, password.expires_at AS password_expires_at, 
password.self_servi
  ce AS password_self_service, local_user_1.id AS local_user_1_id \nFROM 
(SELECT u
  ser.id AS user_id \nFROM user \nWHERE user.id = %(param_1)s) AS anon_1 INNER 
JOI
  N local_user AS local_user_1 ON anon_1.user_id = local_user_1.user_id INNER 
JOIN
   password ON local_user_1.id = password.local_user_id ORDER BY 
local_user_1.id,
  password.created_at'] [parameters: {u'param_1': 
u'90602d52e1904e43bce1c2b82e46f2
  6d'}]

  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters Traceback 
(mo
  st recent call last):
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/
  
openstack/current/keystone/local/lib/python2.7/site-packages/sqlalchemy/engine/b
  ase.py", line 1139, in _execute_context
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
context)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/
  
openstack/current/keystone/local/lib/python2.7/site-packages/sqlalchemy/engine/d
  efault.py", line 450, in do_execute
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
cursor.ex
  ecute(statement, parameters)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/
  
openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/cursors.py",
 line 167, in execute
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     result 
= self._query(query)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/cursors.py",
 line 323, in _query
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
conn.query(q)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 836, in query
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 1020, in _read_query_result
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
result.read()
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 1303, in read
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
first_packet = self.connection._read_packet()
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 982, in _read_packet
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
packet.check_error()
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/connections.py",
 line 394, in check_error
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
err.raise_mysql_exception(self._data)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/err.py",
 line 120, in raise_mysql_exception
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     
_check_mysql_exception(errinfo)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters   File 
"/opt/openstack/current/keystone/local/lib/python2.7/site-packages/pymysql/err.py",
 line 115, in _check_mysql_exception
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters     raise 
InternalError(errno, errorvalue)
  2016-10-25 10:53:22.797 13980 ERROR oslo_db.sqlalchemy.exc_filters 
InternalError: (1054, u"Unknown column 'password.created_at' in 'field list'")

  
  Speaking on IRC, this may be related to 
https://review.openstack.org/#/c/367025/

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1636495/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to