我的 openstack 在该域上运行良好default
。今天我domainTwo
使用创建了另一个域
openstack create doamin domainTwo
创建了一个新项目domainTwoProject
openstack project create --domain domainTwo --description "Admin Project" domainTwoProject
和一个新用户domainTwoAdmin
openstack user create --domain domainTwo --password-prompt domainTwoAdmin
创建管理员角色:
openstack role create admin
domainTwoProject
为项目和用户添加管理员角色:
openstack role add --project domainTwoProject --user domainTwoAdmin admin
现在,当我尝试使用domainTwo
用户名domainTwoAdmin
和密码在域中使用 Horizon 仪表板登录时XXXXXXXXXX
,它工作得很好。当我尝试使用时source admins-openrc.sh
admin-openrc.sh的内容是:
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=XXXXX
export OS_AUTH_URL=http://XXX.XXX.XXX.XXXX:35357/v3
export OS_IDENTITY_API_VERSION=3
之后我运行openstack token issue
并得到了所需的输出。但是,当我尝试此命令时,source admin-domaintwo.sh
我没有得到所需的输出。
admin-domaintwo.sh 的内容是:
export OS_PROJECT_DOMAIN_ID=XXXXXXXXXXXXXXXXXXXXXXXXX
export OS_USER_DOMAIN_ID=XXXXXXXXXXXXXXXXXXXXXXXX
export OS_PROJECT_NAME=domainTwoProject
export OS_TENANT_NAME=domainTwoProject
export OS_USERNAME=domainTwoAdmin
export OS_PASSWORD=XXXXX
export OS_AUTH_URL=http://XXX.XXX.XXX.XXXX:35357/v3
export OS_IDENTITY_API_VERSION=3
我有错误
The request you have made requires authentication. (HTTP 401) (Request-ID: req-IDXXXXXXXXXXXXXXXXXXX)
答案1
我不知道您是否找到了解决方案,但我想提供一种有助于解决此类问题的方法。我也面临这个问题并找到了解决方案。
从您的评论来看,您似乎遇到了身份验证问题。身份验证由 openstack 的 keystone 组件处理。因此,为了找到到底是什么问题,我们需要检查每个相关组件的日志消息。
首先检查httpd的访问日志,我给出了连续查看日志的命令,你可以在另一个选项卡中打开它。
tail -f /var/log/httpd/access_log
现在检查httpd的错误消息
tail -f /var/log/httpd/error_log
检查梯形校正日志
tail -f /var/log/keystone/keystone.log
尝试找出问题所在。另请检查 Horizon 本地设置的配置文件。
/etc/openstack-dashboard/local_settings
特别是OPENSTACK_KEYSTONE_URL
这个领域,和OPENSTACK_API_VERSIONS
,,OPENSTACK_KEYSTONE_DEFAULT_DOMAIN
。OPENSTACK_KEYSTONE_DEFAULT_ROLE
仔细检查您的 IDENTITY VERSION 和 Keystone 端点 url 版本,检查仪表板配置和服务端点中的版本是否相同。
这是一个研究过程,将帮助您找出身份验证的问题所在。
如果您重新开始安装过程,请在每个步骤中验证每个组件的操作,例如首先安装 keystone 并检查是否正常并继续。这将有助于识别和解决进一步的问题。
答案2
我认为:
openstack role add --domain domainTwo --user domainTwoAdmin admin
openstack role add --project domainTwoProject --user domainTwoAdmin admin