can't seem to install keystone on quantal

Asked by Armando Migliaccio

I think I found a problem with the current keystone debian packaging rules (latest revision: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/keystone/quantal/revision/34).

When I try to install keystone in my system I get the following stacktrace:

Traceback (most recent call last):
  File "/usr/bin/keystone-manage", line 28, in <module>
    cli.main(argv=sys.argv, config_files=config_files)
  File "/usr/lib/python2.7/dist-packages/keystone/cli.py", line 164, in main
    return run(cmd, (args[:1] + args[2:]))
  File "/usr/lib/python2.7/dist-packages/keystone/cli.py", line 147, in run
    return CMDS[cmd](argv=args).run()
  File "/usr/lib/python2.7/dist-packages/keystone/cli.py", line 35, in run
    return self.main()
  File "/usr/lib/python2.7/dist-packages/keystone/cli.py", line 56, in main
    driver.db_sync()
  File "/usr/lib/python2.7/dist-packages/keystone/identity/backends/sql.py", line 136, in db_sync
    migration.db_sync()
  File "/usr/lib/python2.7/dist-packages/keystone/common/sql/migration.py", line 49, in db_sync
    current_version = db_version()
  File "/usr/lib/python2.7/dist-packages/keystone/common/sql/migration.py", line 61, in db_version
    return versioning_api.db_version(CONF.sql.connection, repo_path)
  File "<string>", line 2, in db_version
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 155, in with_engine
    engine = construct_engine(url, **kw)
  File "/usr/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 140, in construct_engine
    return create_engine(engine, **kwargs)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/__init__.py", line 321, in create_engine
    return strategy.create(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 48, in create
    u = url.make_url(name_or_url)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/url.py", line 178, in make_url
    return _parse_rfc1738_args(name_or_url)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/url.py", line 219, in _parse_rfc1738_args
    "Could not parse rfc1738 URL from string '%s'" % name)
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string '_DBC_URL_'
dpkg: error processing keystone (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 keystone
E: Sub-process /usr/bin/dpkg returned an error code (1)

This is because keystone-manage is trying to dump the schema into a sqlite file in /root (my pwd) by using the keystone account. If I change directory to /var/lib/keystone, the error does not occur.

I managed to track this down to the fact that the keystone-manage db_sync (defined in keystone.postinst) is done outside the conditional block that verifies the default value of config_db defined in the keystone.templates.

Hope this help, but if I am completely off track I apologize for the noise.

Cheers,
Armando

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu keystone Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

I suggest you report a bug

Revision history for this message
Armando Migliaccio (armando-migliaccio) said :
#2

Thanks, will do...I was following Ubuntu bug reporting guidelines :)

Can you help with this problem?

Provide an answer of your own, or ask Armando Migliaccio for more information if necessary.

To post a message you must log in.