命令在终端上有效,但不适用于 Ansible 模块

命令在终端上有效,但不适用于 Ansible 模块

alertmanager -config.file=/etc/alertmanager/alertmanager.yml当我在终端上运行该命令时,它成功运行。但是当我针对主机运行以下任务时

- name: run alertmanager
  become: yes
  command: alertmanager -config.file=/etc/alertmanager/alertmanager.yml
  tags: alertmanager

它失败并出现以下错误

fatal: [172.30.1.50]: FAILED! => {"changed": false, "cmd": "alertmanager -config.file=/etc/alertmanager/alertmanager.yml", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}

我的路径变量中有 alertmanager,一切似乎都很好。我在命令模块中缺少什么吗?

答案1

我更新了远程主机中的 PATH,但没有更新 Ansible 环境中的 PATH。以下更改解决了该问题。(在 Ansible 中添加 alertmanager 路径 /opt/bin)

environment:
    PATH: '/opt/bin:{{ ansible_env.PATH }}'

相关内容