OpenStack IceHouse:使用多个域的仪表板身份验证错误

时间:2014-08-20 20:14:35

标签: openstack keystone openstack-horizon

我目前正在使用多个域来组织OpenStack设置(IceHouse RDO)来组织用户/项目组(在未来,希望Juno,我们希望转向[特定于域的后端] [1] {{3支持多个LDAP身份验证后端。)

按照[本指南] [1] http://docs.openstack.org/developer/keystone/configuration.html#domain-specific-drivers逐字逐句我使用curl启用了多个域。最后有一个新的cloud_admin用户,两个域adm1和adm2,以及单个用户和项目usr1,usr2和prj1,prj2。

我目前正在从git repo运行Horizo​​n,并且我启用了多域:

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
     "data_processing": 1.1,
     "identity": 3,
     "volume": 2
}
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

我的信息中心现在除了用户/密码外还要求域名。

如果我在dom1上以usr1身份登录,它会让我进入。但是,只要地平线试图查询引擎盖下的各种服务,就会出现验证问题。

例如,它最初会将您带到“概述”窗口,它会给我一条消息“错误:未经授权:无法检索使用信息”。

在网络服务器日志中,我看到(x由我添加):

Login successful for user "usr1".
DeprecationWarning: check_for_test_cookie is deprecated; ensure your login view is CSRF-protected.
WARNING:py.warnings:DeprecationWarning: check_for_test_cookie is deprecated; ensure your login view is CSRF-protected.
[20/Aug/2014 20:03:58] "POST /auth/login/ HTTP/1.1" 302 0
[20/Aug/2014 20:03:58] "GET / HTTP/1.1" 302 0
novaclient connection created using token "xxxxx" and url "http://x.x.x.x:8774/v2/xxxxx"
REQ: curl -i 'http://x.x.x.x:8774/v2/xxxxx/extensions' -X GET -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Project-Id: xxxxx" -H "X-Auth-Token: {SHA1}xxxxx"
RESP: [401] {'date': 'Wed, 20 Aug 2014 20:04:26 GMT', 'content-length': '23', 'content-type': 'text/plain', 'www-authenticate': "Keystone uri='http://x.x.x.x:5000/'"}
RESP BODY: Authentication required

当我使用单域(v2 keystone API)时,这一切都运行得更好。

我认为它错误地生成令牌和/或尝试使用v2 auth API。还有一些其他基本的东西我忘记设置服务器端了吗? (也许是keystone.conf中的内容)。看起来其他人至少能够为普通用户获得不错的仪表板体验,即使Horizo​​n目前似乎不支持域管理任务,

1 个答案:

答案 0 :(得分:0)

我不相信OpenStack Compute(nova)可以在Icehouse版本中接受Identity API v3请求。奇怪但是如果这是你看到的错误。