我一直在研究测试ansible剧本的不同方法,并在Jeff Geerling上看到了这篇博文。
复制他的确切示例有效,但是,当我复制它但通过pipenv安装管理python(和ansible)时出现以下错误
ERROR! the role 'ansible-test' was not found in /Users/philip/Desktop/ansible-test/tests/roles:/Users/philip/ansible-test:/Users/philip/Desktop/ansible-test/tests
The error appears to have been in '/Users/philip/Desktop/ansible-test/tests/test.yml': line 4, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
roles:
- ansible-test
^ here
test.yml
的内容是
- hosts: localhost
remote_user: root
roles:
- ansible-test
通过yamllint罚款。
ansible.cfg
包含
[defaults]
roles_path = ../../ansible-test
我猜这与在Virtualenv中有关,但无法解释。
答案 0 :(得分:1)
角色 s 路径是所有角色 s 的路径。
Ansible在roles_path
中搜索具有角色名称的目录。如果角色名为ansible-test
,则将角色名称放入roles_path
是错误的。
以这种方式设置roles_path
:
[defaults]
roles_path = ../..
当您致电ansible-playbook
时,请确保您位于正确的目录中。