ansible - 来自命令行的 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 但没有成功,它看起来不是一个有效的选项
解决方案
pysnmp 安装在我的 ansible 主机上
如果这是真的,您将需要使用包含 的python 运行该模块pysnmp
,而不是运行 ansible 的模块(因为它们可以并且通常是不同的)
这与@larsks 所说的很接近:
ansible -c local -i localhost, \
-e ansible_python_interpreter=/the/path/to/the/pysnmp/python ...
推荐阅读
- java - 使用 JacksonRabbit 时读取 @JsonIgnore 字段
- angular - Angularfire2 可观察递归
- c# - 在 UWP 中使用鼠标滚轮在网格按钮之间滚动
- java - 调用 onChildChanged() 方法时将 firebase 子节点移动到顶部
- spring-boot - 找不到类型为“com.netflix.client.config.IClientConfig”的 Bean
- azure-functions - 如何确保主机中的单定时器触发azure功能
- python - 在没有屏幕管理器类的情况下在 Python 中更改屏幕
- python - Python 3.7 TypeError:“列表”对象不可调用
- firefox - 如何从 C 代码中使用 i64 而不是 i32 生成 Webassembly (WAT)
- sql - 缓存 SQL 查询以从多条记录中创建 1 行