Ansible awx 无法通过复制:、脚本:和模板:模块访问脚本

Ansible awx 无法通过复制:、脚本:和模板:模块访问脚本

我正在尝试编写一个 Ansible 剧本,它将获取存储在同一虚拟机上的 bash 脚本,将此脚本传输到另一个虚拟机,然后执行它。我在 Ansible AWX 上玩过这个脚本,并多次修改过这个脚本,尝试过复制:模块、模板:模块和脚本:模块,但每次都会犯同样的错误(参见应用的图片)。看起来 Ansible AWX 对安装它的文件系统没有权限,我不知道为什么会这样。

更新:我认为问题在于 AWX 安装在 docker 容器中。目前我不知道如何将脚本正确添加到 awx-container。

脚本:

脚本主体

错误:

失败体

Linux 目录:

Linux 目录

答案1

我不使用 AWX,但在复制任务上尝试使用 delegate_to:

- name: delegate script
  script: /example/script.py
  args:
    executable: bash
  delegate_to: awxVMexample

如果您的 AWX 主机在您的库存中未知,您可以使用 add_host

- name: add awx
  add_host:
    name: awxVMexample

一般提示:使用代码标签来显示示例代码,而不是屏幕截图。

答案2

我已经解决了这个问题。在目录 /root/awx/installer 中,放置了以下文件:“build.yml”、“install.yml”、“inventory”、“roles”。我已更改文件“inventory”,如屏幕截图“inventory.jpg”所示。然后我运行:“# ansible-playbook -i inventory install.yml”以重新安装 AWX,并在我的用户名(不是 root)下创建目录“/var/lib/awx/projects”,在其中放置了“sscript.sh”。我已将剧本修改如下,查看“script.jpg”,更新 AWX 中的存储库并在那里执行作业。现在一切正常。

库存.jpg 脚本.jpg

相关内容