4.6. 对 Keystone v3 控制面板身份验证进行故障排除


django_openstack_auth 是一个可插入的 Django 身份验证后端,它与 Django 的 contrib.auth 框架一起工作,以便对 OpenStack 身份服务 API 进行身份验证。Django_openstack_auth 使用令牌对象来封装用户和 Keystone 相关信息。仪表板使用令牌对象来重建 Django 用户对象。

令牌对象当前存储:

  • Keystone 令牌
  • 用户信息
  • 影响范围
  • 角色
  • 服务目录

仪表板使用 Django 的会话框架来处理用户会话数据。以下是很多会话后端列表,它通过 local_settings.py 文件中的 SESSION_ENGINE 设置进行控制:

  • 本地内存缓存
  • Memcached
  • 数据库
  • 缓存的数据库
  • Cookie

在某些情况下,尤其是在使用签名的 Cookie 会话后端时,如果同时启用了多个或所有服务,则 Cookie 的大小可以访问其限制,控制面板将无法登录。Cookie 大小增长的一个原因是服务目录。当注册更多服务时,服务目录的大小会较大。

在这种情况下,若要改进会话令牌管理,请纳入用于登录控制面板的以下配置设置,特别是在使用 Keystone v3 身份验证时。

  1. 在 /usr/share/openstack-dashboard/openstack_dashboard/settings.py 中添加以下配置:

    DATABASES =
    {
      default:
      {
        ENGINE: django.db.backends.mysql,
        NAME: horizondb,
        USER: User Name,
        PASSWORD: Password,
        HOST: localhost,
       }
    }
    Copy to Clipboard Toggle word wrap
  2. 在同一个文件中,将 SESSION_ENGINE 更改为:

    SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
    Copy to Clipboard Toggle word wrap
  3. 使用 mysql 命令连接数据库服务,将 USER 替换为要连接的用户名。USER 必须是 root 用户(或者至少作为正确权限的用户:create db)。

    # mysql -u USER -p
    Copy to Clipboard Toggle word wrap
  4. 创建 Horizon 数据库。

    mysql > create database horizondb;
    Copy to Clipboard Toggle word wrap
  5. 退出 mysql 客户端。

    mysql > exit
    Copy to Clipboard Toggle word wrap
  6. 进入 openstack_dashboard 目录并同步数据库:

    # cd /usr/share/openstack-dashboard/openstack_dashboard
    $ ./manage.py syncdb
    Copy to Clipboard Toggle word wrap

    您不需要创建超级用户,因此问题回答 n

  7. 重新启动 Apache http 服务器。For Red Hat Enterprise Linux:

    # systemctl restart httpd
    Copy to Clipboard Toggle word wrap

4.6.1. OpenStack Dashboard - Red Hat Access Tab

Red Hat Access 选项卡(作为 OpenStack 仪表板的一部分),您可以从红帽客户门户网站搜索和阅读文章或解决方案,查看您的实例的日志并诊断这些资源,并与您的客户支持问题单一起工作。

图 4.1. Red Hat Access 选项卡.

重要

您必须在浏览器中登录到红帽客户门户网站,才能使用 Red Hat Access 选项卡提供的功能。

如果您尚未登录,现在您可以:

  1. Log In
  2. 输入您的 Red Hat 登录。
  3. 输入您的红帽密码。
  4. 单击 Sign in

这是表单的外观:

图 4.2. 登录到红帽客户门户网站。

如果您现在没有登录,当您使用需要身份验证的功能之一时,系统会提示您输入您的 Red Hat 登录名和密码。

4.6.1.2. 日志

您可以在 OpenStack 实例中读取日志:

图 4.4. Red Hat Access 选项卡上的实例日志。

在表格中找到您选择的实例。如果有多个实例,您可以按名称、状态、镜像 ID 或类别 ID 来过滤。在实例的 Actions 列中,单击 View Log 进行检查。

显示实例日志时,您可以点击 Red Hat 诊断 来获取有关其内容的建议:

图 4.5. Red Hat Access 选项卡上的实例日志。

如果所有建议都无效,或者已经记录了一个 genuine 问题,请点击 Open a New Support Case 将问题报告给红帽支持。

4.6.1.3. 支持

Red Hat Access Tab 中的最后一个选项允许您在红帽客户门户网站中搜索您的支持问题单:

图 4.6. 搜索支持问题单。

您还可以点适当的按钮并在以下页面上填写表单来创建新的支持问题单:

图 4.7. 创建新的支持问题单。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat