030*_*030 10 ansible ansible-playbook
跑步:
- name: get vhosts
command: rabbitmqctl list_vhosts
register: vhosts
changed_when: false
Run Code Online (Sandbox Code Playgroud)
通过发行
sudo ansible-playbook file.yml
Run Code Online (Sandbox Code Playgroud)
结果是:
TASK [030.sensu : get vhosts] **************************************************
fatal: [IP]: FAILED! => {"changed": false, "cmd": "rabbitmqctl list_vhosts",
"failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}
Run Code Online (Sandbox Code Playgroud)
如果 ansible 在系统本身上运行,则不会发生此错误。
讨论
1. 是否rc
缺少命令?
rc
以远程方式在本地发出两者会导致:
bash: rc: command not found...
Run Code Online (Sandbox Code Playgroud)
如果这是一个问题,那么在本地运行剧本也会失败。
2. 这是一个已知问题吗?
"No such file or directory" rc ansible centos
在互联网上查询导致了这个问答。
根据其中一个答案,该问题是由command
. 使用shell
反而会解决这个问题。尝试了解决方案,但没有解决问题。
jsc*_*ott 11
ansible 的返回是 json。印刷精美:
{
"changed": false,
"cmd": "rabbitmqctl list_vhosts",
"failed": true,
"msg": "[Errno 2] No such file or directory",
"rc": 2
}
Run Code Online (Sandbox Code Playgroud)
您会注意到msg
包含“[Errno 2] 没有这样的文件或目录”。取而代之的rc
是命令的返回(退出)代码,在您的情况下为“2” rabbitmqctl list_vhosts
。
在 shell (bash/sh/whatever) 中运行rabbitmqctl
. 你可能没有rabbitmqctl
安装。或者,正如 EEAA 正确建议的那样,它不在$PATH
. 在某些发行版(Debian/Ubuntu)/usr/sbin
上,普通用户的路径中不包含,但 root 用户的路径中包含它。
归档时间: |
|
查看次数: |
35945 次 |
最近记录: |