gpt4 book ai didi

error-handling - 使用 AWX API 启动时,如何知道 ansible play 在哪个任务中失败?

转载 作者:行者123 更新时间:2023-12-03 08:43:30 24 4
gpt4 key购买 nike

我打算使用 AWX api 在 AWX 上启动 ansible 作业,并从 ansible playbook 获得回电,以了解播放结果。

为此,我使用了 /api/v2/job_templates/<job-template-id>/launch/在正文中使用一些 extra_vars 将参数传递给我的游戏。

{
"extra_vars": {
"target": "w.x.y.z", (put here a real IP)
"directory_name_1": "dir1",
"directory_name_2": "dir2",
"file_name": "file1" (or "subdir/file1" to make it fails)
}
}

我还在作业模板中使用默认自定义配置了一个 webhook 通知: {{ job_metadata }}
我把我正在使用的游戏放在这里,它非常简单,它在第一个目录中创建了 2 个目录和一个文件。
- hosts: "{{ target }}"
name: fbplay
tasks:
- name: Create dummy directory 1
file:
path: "{{directory_name_1}}"
state: directory
- name: Create dummy directory 2
file:
path: "{{directory_name_2}}"
state: directory
- name: Create dummy file in directory
file:
path: "{{directory_name_1}}/{{file_name}}"
state: touch
mode: u=rw,g=r,o=r

所有这些工作都很好,如果出现错误 4 个任务将在目标机器上执行:
TASK [Gathering Facts] *********************************************************
TASK [Create dummy directory 1] ************************************************
TASK [Create dummy directory 2] ************************************************
TASK [Create dummy file in directory] ******************************************

...但这是我关于错误处理的问题:如果出现错误,我如何在回调中指出哪个任务失败?

事实上,如果成功,我可以知道该剧是否失败或未获得:
  "hosts": {
"w.x.y.z": {
"failed": false,
"changed": 1,
"dark": 0,
"failures": 0,
"ok": 4,
"processed": 1,
"skipped": 0,
"rescued": 0,
"ignored": 0
}
}

如果失败:
  "hosts": {
"w.x.y.z": {
"failed": true,
"changed": 0,
"dark": 0,
"failures": 1,
"ok": 3,
"processed": 1,
"skipped": 0,
"rescued": 0,
"ignored": 0
}
}

但是我无法获得失败的确切任务(在这种情况下是最后一个,例如传递包含不存在的子目录的文件名)。

我是 AWX 和 ansible 的新手,我正在与我认为相对简单的观点作斗争......所以欢迎任何提示或想法。

事先谢谢。

最佳答案

如果它对某人有帮助,我实际上确认了 ARA执行我在上面寻找的内容,即显示是否使用其 Web 客户端(或通过 API 提供)在您运行的每个剧本中究竟哪个任务失败了。

关于error-handling - 使用 AWX API 启动时,如何知道 ansible play 在哪个任务中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com