无法使用Ansible playbook执行Python脚本

时间:2017-04-17 19:30:00

标签: linux ansible

我有一个运行“vgs”命令的python脚本来检查可用卷组中的可用空间,然后使用lvcreate命令创建lvm。

当我在本地运行这个python脚本时,我可以毫无问题地运行它,并且也会创建lvm。但是,如果我使用Ansible playbook运行它,我已尝试使用'command'和'shell'模块,它无法找到vgs命令的路径并失败。它似乎只是寻找/usr/bin:/bin路径。请帮忙。

which: no vgs in (/usr/bin:/bin)", "No Volume Groups Found", "Space Found in Volume Group:"], "warnings": []}

"stderr": "sh: -c: line 0: syntax error near unexpected token `('\nsh: -c: line 0: `{ which: no vgs in (/usr/bin:/bin) -o VG_NAME --noheadings --units m ; } 2>&1'

1 个答案:

答案 0 :(得分:1)

  

它似乎只是在寻找' / usr / bin:/ bin'路径。

因为交互式和非交互式shell会话调用不同的rc文件集。如果在仅由交互式shell提供的rc文件中设置PATH,则这些设置不会反映在非交互式shell中。

PATH作为环境变量添加到任务中:

- command: <script_on_target_node>
  environment:
    PATH: <path_string>