python - YAML 库存解析错误

标签 python ansible python-3.6 ansible-2.x ansible-inventory

hosts.ini

[local]
127.0.0.1 ansible_connection=local

hosts.yaml

local:
  hosts:
    127.0.0.1:
  vars:
    ansible_connection: local

然后我运行 ansible local -m ping -i ports.ini 我得到了预期的输出,然后我运行 ansible local -m ping -i ports.yaml 我得到了:

[WARNING]:  * Failed to parse /home/elruso/projects/ansible/hosts.yaml with ini plugin: /home/elruso/projects/ansible/hosts.yaml:5: Expected key=value host variable assignment, got: local
[WARNING]: Unable to parse /home/elruso/projects/ansible/hosts.yaml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: Could not match supplied host pattern, ignoring: local
[WARNING]: No hosts matched, nothing to do

根据docs我可以毫无问题地使用 yaml 文件作为库存。如何指定使用yml插件?

$ansible --version
ansible 2.4.0.0
config file = /home/elruso/projects/ansible/ansible.cfg
configured module search path = ['/home/elruso/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/elruso/.virtualenvs/ansible/lib/python3.6/site-packages/ansible
executable location = /home/elruso/.virtualenvs/ansible/bin/ansible
python version = 3.6.2 (default, Jul 20 2017, 08:43:29) [GCC 5.4.1 20170519]

更新:issue打开

最佳答案

该问题在 Python 3 中可以重现,看起来像是一个错误。

使用 Python 2 而不是 Python 3,因为后者是 not officially supported yet .

关于python - YAML 库存解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446374/

相关文章:

Ansible 中的 Git 模块在 tmp 目录上获得权限被拒绝

ansible - 如何在 ansible 角色参数规范中创建自定义类型(或验证器)?

Ansible strip 空白

python - 为什么 python 3 中的 json.dumps() 返回 python 2 的不同值?

python - 使用 python 在远程机器上列出 HDFS 目录

python - 如何从txt文件中删除奇怪的编码

python - 具有不同边值的 Networkx Spring 布局

python - asyncio.iscoroutinefunction 为异步生成器返回 False

Python 3.7 和 PyGILState_Ensure() (Windows)

python - 为什么 Datetime 的 `.timestamp()` 方法返回 `OSError: [Errno 22] Invalid argument` ?