Activity log for bug #1621200

Date Who What changed Old value New value Message
2016-09-07 18:38:24 Boris Bobrov bug added bug
2016-09-07 18:41:00 Boris Bobrov description Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 3. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result: Traceback (most recent call last): File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password self.driver.authenticate(user['id'], new_password) File "keystone/identity/backends/sql.py", line 65, in authenticate raise AssertionError(_('Invalid user / password')) AssertionError: Invalid user / password Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password
2016-09-07 22:32:15 Ron De Rose keystone: assignee Ron De Rose (ronald-de-rose)
2016-09-07 23:59:01 OpenStack Infra keystone: status New In Progress
2016-09-08 13:24:14 OpenStack Infra keystone: assignee Ron De Rose (ronald-de-rose) Boris Bobrov (bbobrov)
2016-09-08 17:36:30 OpenStack Infra keystone: assignee Boris Bobrov (bbobrov) Ron De Rose (ronald-de-rose)
2016-09-13 18:14:14 Steve Martinelli tags rc-potential
2016-09-14 15:03:35 Ron De Rose keystone: importance Undecided High
2016-09-14 15:09:22 Ron De Rose description Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password Migration 002 sets the password created_at column to a TIMESTAMP type with a server_default=sql.func.now(). There are a couple problems that have been uncovered with this change: * We cannot guarantee that func.now() will generate a UTC timestamp. * For older versions of MySQL, the TIMESTAMP default will automatically be updated when other columns are updated: https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password
2016-09-14 20:18:05 Ron De Rose description Migration 002 sets the password created_at column to a TIMESTAMP type with a server_default=sql.func.now(). There are a couple problems that have been uncovered with this change: * We cannot guarantee that func.now() will generate a UTC timestamp. * For older versions of MySQL, the TIMESTAMP default will automatically be updated when other columns are updated: https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password Migration 002 sets the password created_at column to a TIMESTAMP type with a server_default=sql.func.now(). There are a couple problems that have been uncovered with this change: * We cannot guarantee that func.now() will generate a UTC timestamp. * For some older versions of MySQL, the TIMESTAMP column will automatically be updated when other columns are updated: https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password
2016-09-15 21:11:09 Steve Martinelli keystone: milestone ocata-1
2016-09-16 04:28:57 Steve Martinelli summary MySQLOpportunisticIdentityDriverTestCase.test_change_password fails in UTC+N timezone password created_at does not honor timezones
2016-09-16 04:30:48 Steve Martinelli description Migration 002 sets the password created_at column to a TIMESTAMP type with a server_default=sql.func.now(). There are a couple problems that have been uncovered with this change: * We cannot guarantee that func.now() will generate a UTC timestamp. * For some older versions of MySQL, the TIMESTAMP column will automatically be updated when other columns are updated: https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password This was initially discovered when running the unit tests for migration 002 in a timezone that is UTC+3. Migration 002 sets the password created_at column to a TIMESTAMP type with a server_default=sql.func.now(). There are a couple problems that have been uncovered with this change: * We cannot guarantee that func.now() will generate a UTC timestamp. * For some older versions of MySQL, the TIMESTAMP column will automatically be updated when other columns are updated: https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html Steps to reproduce: 1. dpkg-reconfigure tzdata and select there Europe/Moscow (UTC+3). 2. Restart mysql 3. Configure opportunistic tests with the following command in mysql: GRANT ALL PRIVILEGES ON *.* TO 'openstack_citest' @'%' identified by 'openstack_citest' WITH GRANT OPTION; 4. Run keystone.tests.unit.identity.backends.test_sql.MySQLOpportunisticIdentityDriverTestCase.test_change_password Expected result: test pass Actual result:     Traceback (most recent call last):       File "keystone/tests/unit/identity/backends/test_base.py", line 255, in test_change_password         self.driver.authenticate(user['id'], new_password)       File "keystone/identity/backends/sql.py", line 65, in authenticate         raise AssertionError(_('Invalid user / password'))     AssertionError: Invalid user / password Aside from the test issue, we should be saving all time related data in DateTime format instead of TIMESTAMP.
2016-09-16 04:30:54 Steve Martinelli nominated for series keystone/newton
2016-09-16 04:30:54 Steve Martinelli bug task added keystone/newton
2016-09-16 04:31:01 Steve Martinelli keystone/newton: status New In Progress
2016-09-16 04:31:08 Steve Martinelli keystone/newton: assignee Ron De Rose (ronald-de-rose)
2016-09-16 04:31:16 Steve Martinelli keystone/newton: importance Undecided High
2016-09-16 04:34:20 Steve Martinelli keystone/newton: milestone newtone-rc2
2016-09-16 15:30:02 OpenStack Infra keystone: status In Progress Fix Released
2016-09-16 23:57:52 OpenStack Infra keystone/newton: assignee Ron De Rose (ronald-de-rose) Steve Martinelli (stevemar)
2016-09-17 03:43:43 Steve Martinelli keystone/newton: assignee Steve Martinelli (stevemar) Ron De Rose (ronald-de-rose)
2016-09-19 19:15:07 OpenStack Infra keystone/newton: status In Progress Fix Committed
2016-11-14 17:20:56 Steve Martinelli keystone/newton: status Fix Committed Fix Released