5.3. Playbook 运行任务


执行 playbook 时,结果会显示在 Output 选项卡中。如果使用,Ansible CLI 会显示相同的信息。这对调试非常有用。

事件摘要显示作为此 playbook 一部分运行的以下事件:

  • 此 playbook 运行的次数显示在 Plays 字段中
  • 与此 playbook 关联的任务数量显示在 Tasks 字段中
  • 与此 playbook 关联的主机数量显示在 Hosts 字段中
  • 完成 playbook 运行所需的时间显示在 Elapsed 字段中

您可以 重新启动作业取消作业,下载 Download 作业输出,或删除 Delete 作业。

将鼠标悬停在 Output 视图中的主机状态栏的部分上,并且显示与该状态关联的主机数量。

在 Job Templates 页的 Jobs 选项卡中启动作业后,也提供了 playbook 作业的输出。单击输出中的行项目任务,以查看其主机详细信息。

5.3.1. 搜索

使用 Search 查找特定的事件、主机名及其状态。要只过滤具有特定状态的某些主机,请指定以下有效状态之一:

ok
表示任务成功完成,但没有在主机上执行任何更改。
changed
playbook 任务已执行。由于 Ansible 任务应该具有幂等性,因此任务可以成功退出,而不必在主机上执行任何内容。在这些情况下,该任务返回 ok,但未 更改
失败
任务失败。此主机停止了进一步的 playbook 执行。
unreachable
主机无法从网络访问,或者具有与它关联的另一个不可恢复的错误。
跳过
playbook 任务跳过,因为主机不需要更改即可达到目标状态。
rescued
这将显示失败的任务,然后执行 rescue 部分。
忽略
这将显示失败的任务,并且配置了 ignore_errors: yes

以下示例显示一个只包含无法访问主机的搜索:

有关使用搜索的更多信息,请参阅 搜索 部分。

标准输出视图显示特定作业上发生的事件。

单击 Stdout 窗格中的事件行,并在单独的窗口中显示 Host Events 窗口。此窗口显示受该特定事件影响的主机。

注意

升级到最新版本的 Ansible Automation Platform 涉及逐渐迁移所有历史 playbook 输出和事件。这个迁移过程是逐步的,在安装完成后自动在后台进行。在迁移完成前,带有大量历史作业输出(几十或几百 GB 的输出)的安装可能会缺少作业输出。最新的数据显示在输出的顶部,后跟旧的事件。

5.3.2. Playbook 运行详情

访问 Details 选项卡,以查看作业执行的详情:

您可以查看已执行作业的以下详情:

  • 状态 :可以是以下任意一种:

    • Pending: playbook 运行已创建,但尚未排队或启动。任何作业(不仅仅是 playbook 运行)会一直处于待处理状态,直到系统准备好运行为止。playbook 运行未准备就绪的原因包括:依赖项当前正在运行(所有依赖项都必须已完成才能执行下一个步骤),或者其配置的位置没有足够的运行容量。
    • 等待 :playbook 运行处于等待执行的队列中。
    • Running: playbook 运行当前正在进行中。
    • 成功 :最后一个 playbook 运行成功。
    • 失败 :最后一个 playbook 运行失败。
  • 作业模板 :从中启动此作业的作业模板的名称。
  • 清单 :选择针对此任务运行此清单。
  • 项目 :与启动的作业关联的项目名称。
  • 项目状态 :与启动作业关联的项目的状态。
  • Playbook: 用于启动此作业的 playbook。
  • 执行环境 :此作业中使用的执行环境的名称。
  • credentials :此作业中使用的凭证。
  • 额外变量 :创建作业模板时传递的任何额外变量都会在此处显示。

选择其中一个项目来查看对应的作业模板、项目和其他对象。

5.3.3. Playbook 访问和信息共享

自动化控制器使用自动化执行环境和 Linux 容器可防止 playbook 读取其项目目录之外的文件。

默认情况下,公开给容器内 ansible-playbook 进程的唯一数据是当前使用的项目。

您可以在 Job Settings 中自定义此功能,并将主机中的其他目录公开给容器中。

5.3.4. 隔离功能和变量

自动化控制器使用容器技术将作业相互隔离。默认情况下,只有当前项目公开给运行作业模板的容器。

如果需要公开其他目录,您必须自定义 playbook 运行。要配置作业隔离,您可以设置变量。

默认情况下,自动化控制器使用系统的 tmp 目录(默认为/tmp )作为其暂存区域。您可以在 Jobs settings 页面的 Job Execution Path 字段中更改它,或者在位于 /api/v2/settings/jobs 的 REST API 中更改:

AWX_ISOLATION_BASE_PATH = "/opt/tmp"
Copy to Clipboard Toggle word wrap

如果应该从主机向运行 playbook 的容器公开任何其他目录,您可以在 Paths 中指定它们,以公开给 Jobs Settings 页面的隔离作业 字段,或者在 /api/v2/settings/jobs 处的 REST API 中公开:

AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
Copy to Clipboard Toggle word wrap
注意
  • 如果输入到特定文件的路径,则会在执行环境中挂载包含该文件的整个目录。
  • 如果您的 playbook 需要使用 AWX_ISOLATION_SHOW_PATHS 中定义的密钥或设置,请将此文件添加到 /var/lib/awx/.ssh 中。

此处描述的字段可在 Jobs 设置 页面中找到:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat