4.6. 对 Keystone v3 Dashboard 身份验证进行故障排除
django_openstack_auth 是一个可插拔 Django 身份验证后端,可与 Django 的 contrib.auth 框架一起工作,以根据 OpenStack Identity 服务 API 验证用户身份。Django_openstack_auth 使用 token 对象来封装用户和 Keystone 相关信息。控制面板使用令牌对象来重建 Django 用户对象。
令牌对象当前存储:
- Keystone 令牌
- 用户信息
- 影响范围
- 角色
- 服务目录
控制面板使用 Django 的会话框架来处理用户会话数据。以下是可用的大量会话后端列表,这些后端通过 local_settings.py 文件中的 SESSION_ENGINE 设置进行控制:
- 本地内存缓存
- Memcached
- 数据库
- 缓存的数据库
- cookies
在某些情况下,特别是在使用签名 Cookie 会话后端时,当有多个或所有服务同时都启用时,cookie 的大小也无法访问其限制,仪表板无法登录。Cookie 大小增长的一个原因就是服务目录。注册更多服务时,服务目录的大小会越大。
在这样的情形中,为了提高会话令牌管理,请包括以下配置设置以登录控制面板,特别是在使用 Keystone v3 身份验证时。
在 /usr/share/openstack-dashboard/openstack_dashboard/settings.py 中添加以下配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在同一个文件中,将 SESSION_ENGINE 改为:
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 mysql 命令连接数据库服务,用要连接的用户名替换 USER。USER 必须是 root 用户(或至少是一个拥有正确权限的用户:create db)。
mysql -u USER -p
# mysql -u USER -p
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Horizon 数据库。
mysql > create database horizondb;
mysql > create database horizondb;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 退出 mysql 客户端。
mysql > exit
mysql > exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 openstack_dashboard 目录并同步数据库:
cd /usr/share/openstack-dashboard/openstack_dashboard ./manage.py syncdb
# cd /usr/share/openstack-dashboard/openstack_dashboard $ ./manage.py syncdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您不需要创建超级用户,因此回答 n 对问题。
重启 Apache http 服务器。Red Hat Enterprise Linux:
systemctl restart httpd
# systemctl restart httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.1. OpenStack Dashboard - Red Hat Access Tab 复制链接链接已复制到粘贴板!
Red Hat Access 选项卡(作为 OpenStack 仪表板的一部分)允许您从红帽客户门户网站搜索并阅读文章或解决方案,查看实例的日志并诊断它们,并与您的客户支持问题单一起工作。
图 4.1. Red Hat Access 选项卡.
您必须在浏览器中登录到红帽客户门户网站,才能使用 Red Hat Access 选项卡提供的功能。
如果您没有登录,现在您可以:
- 点 Log In。
- 输入您的 Red Hat 登录。
- 输入您的红帽密码。
- 单击 中的 Sign in。
这是表单的方式:
图 4.2. 登录红帽客户门户网站。
如果您现在没有登录,当您使用需要身份验证的某个功能时,会提示您输入 Red Hat 登录名和密码。
4.6.1.1. 搜索 复制链接链接已复制到粘贴板!
您可以通过输入一个或多个搜索关键字从红帽客户门户网站搜索文章和解决方案。然后会显示相关文章和解决方案的标题。点击标题查看给定的文章或解决方案:
图 4.3. Red Hat Access Tab 上的搜索结果示例。
4.6.1.2. 日志 复制链接链接已复制到粘贴板!
在这里,您可以从 OpenStack 实例读取日志:
图 4.4. Red Hat Access 选项卡上的实例日志。
在表中查找您选择的实例。如果您有多个实例,您可以根据名称、状态、镜像 ID 或类别 ID 进行过滤。在实例 的操作 列中,单击 View Log 以检查。
当显示实例日志时,您可以点击 Red Hat 诊断 以获取有关其内容的建议:
图 4.5. Red Hat Access 选项卡上的实例日志。
如果所有建议都没有有用或者已经记录了相应的问题,请点击 Open a New Support Case 向红帽支持报告问题。
4.6.1.3. 支持 复制链接链接已复制到粘贴板!
Red Hat Access Tab 中的最后一个选项允许您在红帽客户门户网站中搜索您的支持问题单:
图 4.6. 搜索支持问题单。
您还可以点击适当的按钮并填写以下页面上的表单来创建一个新的支持问题单:
图 4.7. 创建新的支持问题单。