首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可选的local_action指令

可选的local_action指令
EN

Stack Overflow用户
提问于 2017-11-20 19:38:08
回答 2查看 55.8K关注 0票数 17

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

这是否意味着该命令完全在本地执行?假设你有这样的东西:

代码语言:javascript
复制
local_action: command which nginx
register: check_nginx
failed_when: no
changed_when: no

然后你有另一个代码块来寻找nginx的存在,如下所示:

代码语言:javascript
复制
- fail: msg="nginx unavailable"
  when: check_nginx.rc == 1

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-20 20:00:13

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

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

代码语言:javascript
复制
local_action: command ping -c 1 {{ inventory_hostname }}

它将ping您游戏中的每台主机,但ping将从Ansible控制主机启动。

票数 38
EN

Stack Overflow用户

发布于 2019-10-25 07:00:47

如果您希望为本地操作提供多个参数,它将如下所示

代码语言:javascript
复制
local_action: 
  module: command
  _raw_params: "which nginx"
register: check_nginx
failed_when: no
changed_when: no
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47391150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档