我们已经通过本地环境中的自动化工具(Ubuntu 14.0.4 LTS)安装了Keyrock实例(Horizon + Keystone)。我们已遵循此guide
Keystone主机:ubuntuHost Keystone端口:5000
Horizon host:ubuntuHost Horizon端口:8000
我们在另一个本地环境(Centos 6.6)安装了Pep Proxy Wilma:
Pep Proxy Wilma主持人:centosHost Pep Proxy Wilma端口:80800
我们希望配置Pep Proxy Wilma来攻击安装在与Pep Proxy Wilma相同的环境中的IDAS实例:
IDAS主机:centosHost IDAS端口:8080
为了做到这一点,我们将以下配置文件Pep Proxy Wilma:
config.account_host =' ubuntuHost:8000';
config.keystone_host =' ubuntuHost&#39 ;; config.keystone_port = 5000;
config.app_host =' centosHost&#39 ;; config.app_port =' 8080';
config.username =' idm&#39 ;; config.password =' idm';
//以秒为单位config.chache_time = 300;
当我们尝试运行pep proxy wilma服务器时,会出现以下错误:
表示已弃用的app.configure:在if中检查app.get(' env') statement server.js:35:5在端口80800中启动PEP代理.Keystone 身份验证...梯形失真通信出错{"错误": {" message":"您提出的请求需要身份验证。", "代码":401,"标题":"未授权"}}
我们不知道这里发生了什么;如果这与地平线或梯形校正或两者都有关系
你能帮助我们吗?
提前致谢, 拉法。
答案 0 :(得分:1)
这可能有几个原因导致失败,但我认为很可能是一个简单的问题,其中PEP代理用户在Keystone中不存在或未经过适当授权。
在PEP代理的配置文件(config.js)中,您应该有两行,如下所示:
config.username = 'pepProxy';
config.password = 'pepProxy';
必须在Keystone后端为PEP代理创建一个用户,就像nova或glance等OpenStack服务一样。
如果您使用过自动化工具,则可以创建此用户并轻松授权:
$ fab localhost keystone.console
>>> pep = keystone.users.create(name='pepProxy', password='pepProxy', domain='default')
>>> service_role = keystone.roles.find(name='service') # create it if not found
>>> keystone.roles.grant(role=role, user=pep, domain='default')
如果您觉得更舒服,也可以直接使用curl执行此操作。您可以在此处找到此处记录的REST API Keystone Identity API v3
正如我所说,可能还有其他原因导致这种情况发生,请告诉我这个答案是否无法解决您的问题。