首页 > 解决方案 > 来自命令行的 Ansible 委托

问题描述

我正在尝试通过 snmp_facts 模块从 cisco 交换机中检索一些信息(是的 pysnmp 安装在我的 ansible 主机上)。我不断收到此错误:

TASK [snmp_facts] ******************************************************************************** fatal: [10.1.1.1]: FAILED! => changed=false msg: Missing required pysnmp module (check docs)

这是我正在运行的命令:

ansible 192.168.1.11 -m snmp_facts -a 'community=blah host={{ inventory_hostname }} version=v2c' -k

从我之前写的剧本中,我使用了 delegate_to: localhost 但没有成功,它看起来不是一个有效的选项

标签: ansible

解决方案


pysnmp 安装在我的 ansible 主机上

如果这是真的,您将需要使用包含 的python 运行该模块pysnmp,而不是运行 ansible 的模块(因为它们可以并且通常是不同的)

这与@larsks 所说的很接近:

ansible -c local -i localhost, \
    -e ansible_python_interpreter=/the/path/to/the/pysnmp/python ...

推荐阅读