Ansible local_action指令

时间:2017-11-20 11:38:08

标签: ansible

我对Ansible很新,对我对local_action指令的理解有一个简单的问题。

这是否意味着命令在本地完全执行?让我们说你有这样的事情:

local_action: command which nginx
register: check_nginx
failed_when: no
changed_when: no

然后你有另一个块寻找nginx存在的东西:

- fail: msg="nginx unavailable"
  when: check_nginx.rc == 1

这是否意味着如果没有在本地安装nginx或者如果没有远程安装nginx会导致playbook失败?

2 个答案:

答案 0 :(得分:18)

是的,local_action是另一种执行delegate_to: localhost的方式。

这些操作将在本地计算机(Ansible控制主机)上执行,但在变量方面仍然在远程主机的上下文中。所以你可以这样:

local_action: command ping -c 1 {{ inventory_hostname }}

将ping你游戏中的每个主机,但ping将从Ansible控制主机启动。

答案 1 :(得分:2)

如果您想为本地操作提供多个参数,它将看起来像这样

local_action: 
  module: command
  _raw_params: "which nginx"
register: check_nginx
failed_when: no
changed_when: no