我正在尝试使用 AWX 运行基本的 playbook,但该 playbook 在requirements.yml 文件中的
fetch galaxy collections from collections/requirements.(yml/yaml)
任务中始终失败。我收到的错误是
错误!集合要求条目键“名称”和“源”均未指向具体的可解析集合工件。另外,“名称”不是 FQCN。有效的集合名称必须采用以下格式:..请确保命名空间和集合名称仅包含 [a-zA-Z0-9_] 中的字符。
提示:确保您指向正确的子目录 - /var/lib/awx/projects/.__awx_cache/_8__testproject/stage/tmp/ansible-local-640q06qxv5r/tmpn_dk6jym/pylibsshmg6_wq45 看起来像一个目录,但它既不是一个集合,也不是命名空间目录。
版本信息:
ansible [core 2.13.1]
config file = None
configured module search path = ['/Users/garandre/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/ansible
ansible collection location = /Users/garandre/.ansible/collections:/usr/share/ansible/collections
executable location = /Library/Frameworks/Python.framework/Versions/3.10/bin/ansible
python version = 3.10.4 (v3.10.4:9d38120e33, Mar 23 2022, 17:29:05) [Clang 13.0.0 (clang-1300.0.29.30)]
jinja version = 3.1.2
libyaml = False
我的requirements.yml 文件如下所示:
---
collections:
- name: https://[email protected]/ansible/pylibssh.git
type: git
version: '0.4.0'
- name: https://[email protected]/ansible-collections/cisco.iosxr
type: git
version: '3.2.0'
我尝试过的大部分事情都是基于这里的文档:
任何帮助表示赞赏!谢谢!
requirements.yml 文件中的第一项实际上并不是一个集合,它是一个 python 模块,您可以使用以下命令安装它:
$ pip install \
--extra-index-url=https://ansible.github.io/pylibssh/simple/ \
--pre \
ansible-pylibssh
还有一点是,不需要指定
git@
,https://github.com/
...就足够了。