如何从ansible playbook获取命令

xhu*_*dik 3 ansible

有没有一种简单的方法可以准确地获取 ansible 脚本(剧本)正在尝试执行的操作?

例如我有

- name: Install required packages
  yum: name={{item}} state=present
  with_items:
    - nmp
  become: True 
Run Code Online (Sandbox Code Playgroud)

我想得到:

sudo yum install nmp
Run Code Online (Sandbox Code Playgroud)

也就是说,我想知道 ansible 正在运行哪些命令(操作系统级别)。基本上,我需要相反的过程:Ansible 和 Playbook。如何将shell命令转换为yaml语法?

blo*_*ong 5

在此总结上述评论的中心点[1] [2]

Ansible 很少运行外部命令,它主要是用于控制主机的 Python 代码和 Python 库。因此,Ansible 的“翻译”不一定将yumAnsible 模块)使用转换为yum(CLI)调用。

虽然您可能能够依赖输出,但在某些情况下,通过解析输出中的命令序列ansible-playbook -vvv foo.yml- 实现最多是不稳定的。

我鼓励您继续在此线程上讨论您想要完成的任务。很可能已经有一个解决方案,并且有人可以向您指出一个已经存在的工具。