020_migrate_metadata_table_roles fails with "ValueError: Expecting property name"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Expired
|
High
|
Unassigned |
Bug Description
Hello All,
After apt-get update && apt-get upgrade keystone failed:
Setting up keystone (1:2013.
Installing new version of config file /etc/logrotate.
Installing new version of config file /etc/init/
Configuration file `/etc/keystone/
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** keystone.conf (Y/I/N/O/D/Z) [default=N] ?
Installing new version of config file /etc/keystone/
Traceback (most recent call last):
File "/usr/bin/
cli.
File "/usr/lib/
CONF.
File "/usr/lib/
driver.
File "/usr/lib/
migration.
File "/usr/lib/
return versioning_
File "/usr/lib/
return _migrate(url, repository, version, upgrade=True, err=err, **opts)
File "<string>", line 2, in _migrate
File "/usr/lib/
return f(*a, **kw)
File "/usr/lib/
schema.
File "/usr/lib/
change.
File "/usr/lib/
script_
File "/usr/lib/
data = json.loads(
File "/usr/lib/
return _default_
File "/usr/lib/
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)
dpkg: error processing keystone (--configure):
subprocess installed post-installation script returned error exit status 1
I use a mysql database and I login with root user to the db so no auth issues.
My keystone not works now:
(sqlalchemy.
(root): 2013-07-03 14:22:03,260 ERROR (OperationalError) (1054, "Unknown column 'token.user_id' in 'field list'") 'SELECT token.id AS token_id, token.expires AS token_expires, token.extra AS token_extra, token.valid AS token_valid, token.user_id AS token_user_id, token.trust_id AS token_trust_id \nFROM token \nWHERE token.valid = %s AND token.id = %s \n LIMIT %s' (1, '64814d7d4765b6
Traceback (most recent call last):
File "/usr/lib/
result = method(context, **params)
File "/usr/lib/
token_
File "/usr/lib/
return f(*args, **kw)
File "/usr/lib/
token_ref = query.first()
File "/usr/local/
ret = list(self[0:1])
File "/usr/local/
return list(res)
File "/usr/local/
return self._execute_
File "/usr/local/
result = conn.execute(
File "/usr/local/
params)
File "/usr/local/
compiled_sql, distilled_params
File "/usr/local/
context)
File "/usr/local/
context)
File "/usr/local/
cursor.
File "/usr/lib/
self.
File "/usr/lib/
raise errorclass, errorvalue
OperationalError: (OperationalError) (1054, "Unknown column 'token.user_id' in 'field list'") 'SELECT token.id AS token_id, token.expires AS token_expires, token.extra AS token_extra, token.valid AS token_valid, token.user_id AS token_user_id, token.trust_id AS token_trust_id \nFROM token \nWHERE token.valid = %s AND token.id = %s \n LIMIT %s' (1, '64814d7d4765b6
Please check and let me know howto process with this one.
the version of the keystone package before apt-get upgrade was keystone_
information type: | Private Security → Public |
Looks like my keystone db is not last version:
DESCRIBE token; ---+--- ------- ---+--- ---+--- --+---- -----+- ------+ ---+--- ------- ---+--- ---+--- --+---- -----+- ------+ ---+--- ------- ---+--- ---+--- --+---- -----+- ------+
+------
| Field | Type | Null | Key | Default | Extra |
+------
| id | varchar(64) | NO | PRI | NULL | |
| expires | datetime | YES | | NULL | |
| extra | text | YES | | NULL | |
| valid | tinyint(1) | NO | | NULL | |
+------