Documentation

已知问题

OpenShift 部署中不支持隔离的节点

在 OpenShift 中部署 Ansible Tower 时,当前不支持隔离的节点。

浏览器忽略 autocomplete=off 设置

Ansible Tower 利用表单(form)上的 autocomplete=off 属性转发到浏览器,以使浏览器不自动完成该表单中的字段。在有些情况下,浏览器可能会忽略此设置,并尝试保存和/或自动完成表单中的字段。这会在包含用户名和密码的登录字段的表单上(如 User 表单和某些 Settings 表单)发生。我们正在进行进一步调查这个问题,以防止发生这个问题。

通过 HTTP 的 Tower 登录需要临时解决方案

要通过 HTTP 访问负载均衡器(在传统集群 Tower 安装中)后面的 Tower 节点,请参阅 Ansible Tower Administration GuideTroubleshooting section 中所述的步骤。

作业分片 (Job slicing) 和限制交互

当将限制传递给分片作业 (Sliced Job) 时,如果限制导致分片没有分配主机,这些分片将会失败,从而导致整个作业失败。

默认 LDAP 目录必须配置为使用 LDAP 验证

Tower 3.3 引入了配置多个 LDAP 目录以进行身份验证(最多 6 个)的功能。在 LDAP 的设置页面中,有一个“Default”LDAP 配置,后接五个数字的配置槽。如果没有填充“Default”,Tower 将无法尝试使用其他目录配置进行身份验证。

隔离作业丢失

启动隔离的作业后,如果某个事件影响管理该作业的 controller 的可用性,Tower 将无法决定该作业的状态,并且需要手动干预。请通过红帽客户门户网站 https://access.redhat.com/ 与 Ansible 团队联系,以获取与您的情况相关的特定说明。

使用 REMOTE_HOST_HEADERS 中的 X_FORWARDED_FOR 的潜在安全问题

如果将 Tower 节点放在某种代理的后面,可能会造成安全问题。这种情况假设数据流量始终完全通过负载均衡器,而那些绕过负载均衡器的流量会存在 X-Forwarded-For 标头欺诈的问题。请参阅 代理支持

通过主机名访问 SAML 元数据时的服务器错误

当仅通过主机名(例如 https://my-little-tower)访问 Tower 时,尝试从 /sso/metadata/saml/ 读取 SAML 元数据会生成 sp_acs_url_invalid 服务器错误。

不支持在只通过主机名而不通过 FQDN 访问 Tower 时使用 SAML 的配置,这样做会生成一个错误,在 tower.log 文件中捕获,并在浏览器中显示完整的追溯信息。

实时事件状态指示器

出错时,实时事件状态点在 Tower 仪表板的顶部显示为红色或橙色的点。当系统处于健康状态时,应该不会显示这些点。如果出现了红色或橙色的实时事件状态指示点,即使您的系统看起来正常,我们也建议您考虑以下操作:

  • 尝试手动刷新/重新载入浏览器页面。

  • 尝试使用不同的 web 浏览器。因为已有报告显示 Firefox 和 Safari 有信任自签名证书的问题。

  • 尝试创建一个与您的 DNS 匹配的自签名证书,并手动将其导入您的信任项中。

  • 尝试使用 incognito 或专用浏览会话。

  • 尝试禁用浏览器插件来确保任何插件都不会阻断该服务。

实时事件状态点用于解决 Tower 实例的问题,socketio 日志可以指出任何问题。您可以通过运行 sosreport 来收集故障排除帮助。以 root 用户身份,从系统运行命令 sosreport 以自动生成诊断 tar 文件,然后与 Ansible 的支持团队联系并提供收集的信息,以获得进一步的帮助。

注解

从 Ansible Tower 2.2.0 开始,只有在 Tower 检测到问题时才会出现实时事件状态指示点。较早版本中,显示绿色状态点以指示健康系统。

VMware 自签名证书

如果您有使用自签名证书的 VMware 实例,则需要在云组的 Source Vars 配置中添加以下内容:

"source_vars": "---\nvalidate_certs: False",

您可以按照以下方法在 VMware vCenter 的清单源中设置此项:

_images/ki-vmware-source-variables-example.png

磁盘上的 Tower 数据库崩溃

如果没有完全关闭 Tower,它会将 /var/lib/awx/beat.db 文件留在磁盘上。如果发生了这种情况,分配程序 (dispatcher) 就不会启动,且您必须手动删除该 /var/lib/awx/beat.db 文件,并重启 Tower,然后分配程序才会正确启动。

Safari 无法建立到 Web 套接字的连接

在 Tower 中显示以下连接错误:

_images/ki-tower-connect-error.png

此错误原因是 Safari 静默拒绝建立到使用自签名证书的 web 嵌套字的连接,要解决这个问题,您必须在第一次访问时将 Safari 设置为始终信任网站:

  1. 关闭当前浏览器并重新访问网站。会出现一个错误消息,提示 Safari 无法验证网站的身份。

  2. 点击 Show Certificate

  3. 选中 Always trust ... when connecting to ... 复选框,以允许 Safari 接受连接。

如果您在没有勾选复选框的情况下点击 Continue,则这个错误继续存在。

Ansible Azure 依赖项

Ansible Tower 3.4 包含与 Ansible 2.7 兼容的 Microsoft Azure 绑定。但是,这些绑定无法用于之前的 Ansible 版本。如果您在自定义虚拟环境中使用之前的 Ansible 版本,您可能需要安装不同版本的 Azure 依赖项来使用 Microsoft Azure 模块。

对于本地 playbook 或具有 local_actions 的 playbook,sudo/su 没有按预期工作

在使用完全本地的 playbook 或具有一些 local_action 情况的 playbook 时,示例会报告 sudo/su 命令无法正常工作。这可能是因为启用了作业隔离。要对本地 playbook 或具有 local_action 的 playbook 使用 sudo/su 命令,则必须禁用作业隔离。您可以通过 Configure Tower 屏幕的 Jobs 选项卡,将 Enable Job Isolation 切换设置到 **OFF**来禁用作业隔离:

_images/ki-job-isolation.png

点击 Save 保存您的更改并重启服务。

使用自定义 SSH 时的问题

Ansible Tower 中的作业隔离功能限制 Tower 文件系统上的哪些目录可供 playbook 在运行时查看和使用。如果您试图通过使用 Tower 用户主目录中的自定义 SSH 配置来自定义 SSH 行为,则必须将该目录添加到由 bubblewrap 公开的目录列表中。

例如:要将自定义 SSH 配置添加 /var/lib/awx/.ssh/config 中,并使其可供 Tower 作业使用,您可以指定 Job Execution Isolation Path 字段的路径,该路径可从 Configure Tower 屏幕的 Jobs 选项卡中访问:

_images/ki-job-isolation_path.png

Ubuntu 已停用

如果您正在使用 Ansible Tower 的捆绑安装程序,请注意,只支持 Red Hat Enterprise Linux 和 CentOS。从 Ansible Tower 3.6 开始已不支持 Ubuntu。

重新激活已删除的 OAuth 身份验证帐户

在删除了使用社交身份验证登录的用户后,这些用户将无法再次登录或重新创建,直到系统管理员使用 days=0 运行 cleanup_deleted 操作,以允许用户再次登录为止。运行 cleanup_deleted 后,Tower 必须使用 ansible-tower-service restart 命令重启。在运行 cleanup_deleted 操作前删除的帐户将在尝试登录时收到“Your account is inactive”消息。

使用来自项目的清单中的库变量

在使用源控制项目的清单时,支持单独的库变量值。当前不支持库文件。

使用 Tower 3.3+ 令牌的 Tower 凭证

Ansible Tower 3.4 中的 Ansible Tower 凭证类型不支持与 OAuth2 令牌搭配使用。当前仅支持用户名 + 密码。

已保存调度和工作流配置及调查

如果作业模板的配置进行调度或添加到带有提示调查答案的工作流中,更改作业模板调查以提供不同的变量名称可能会导致保存的配置无法正常工作。临时解决方案是删除已保存的调度配置/工作流节点,并使用更新的调查重新创建它。