You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Runner报错:主机列表为空仅localhost可用,求助Inventory配置

问题修复步骤

1. 修正ansible.cfg的inventory路径

你的ansible.cfg中指定的inventory文件路径是/home/me/path/ansible/hosts,但实际inventory文件名为hosts.ini,导致Ansible无法找到正确的主机列表。修改ansible.cfg:

[default]
private_key_file = "/home/path_to_key/key"
inventory = "/home/me/path/ansible/hosts.ini"

2. 修正hosts.ini的格式

Ansible的INI格式inventory遵循以下规则:

  • 组名用[组名]定义
  • 组内每行是主机IP/别名,可附带变量(如ansible_host、ansible_user等)

注意:如果要使用ansible_host变量,必须绑定到一个主机别名,不能单独写ansible_host=1.2.3.4,否则会被识别为无效的变量赋值。

正确格式示例(二选一)

方式一:直接写IP(适合IP就是连接地址的情况)

[remote_hosts]
1.2.3.4

方式二:使用别名+变量(适合需要自定义主机别名的情况)

[remote_hosts]
my_server ansible_host=1.2.3.4

3. 验证inventory配置

执行以下命令检查inventory是否能被正确解析:

ansible-inventory -i /home/me/path/ansible/hosts.ini --list

如果解析成功,会输出包含主机信息的JSON结构,不会再出现解析错误。

4. 调整Playbook(可选)

如果你的inventory组名为remote_hosts,可以将Playbook中的hosts: all改为hosts: remote_hosts,更精准地指定目标主机:

---
- name: Test
  hosts: remote_hosts
  vars:
    ansible_host_key_checking: false
  remote_user: admin_user
  become: true

5. 重新运行Python代码

此时再执行你的Ansible Runner代码,应该能正确识别主机列表,不再出现provided hosts list is empty的警告。


内容的提问来源于stack exchange,提问作者Unknown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:53:22