0

我的 ansible playbook 文件夹中有本地集合文件夹。我还在 ansible.cfg 中配置了路径。

cat ansible.cfg
[defaults]
collections_paths = ./ansible_collections

但是当我运行剧本时,它使用来自 python 站点包的路径

/Users/user1/opt/miniconda3/lib/python3.9/site-packages/ansible_collections

我在跑步

ansible 2.10.11
  config file = /Users/user1/Documents/work/scripts/ansible-repo/ansible.cfg
  configured module search path = ['/Users/user1/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/user1/opt/miniconda3/lib/python3.9/site-packages/ansible
  executable location = /Users/user1/opt/miniconda3/bin/ansible
  python version = 3.9.1 

作为调试剧本运行的一部分,我删除了站点包下的集合,我的剧本开始失败。

ansible-playbook 运行带有详细的调试显示

  Using module file /Users/user1/opt/miniconda3/lib/python3.9/site-packages/ansible_collections/arista/eos/plugins/modules/eos_command

ansible-galaxy 集合列表显示本地集合和站点包下的集合。

在剧本中,我的任务使用 FQCN。例如 arista.eos.eos_facts:

我还手动设置了 ANSIBLE_COLLECTIONS_PATH 变量。

env | grep ANSIBLE_COLLECTIONS_PATH
ANSIBLE_COLLECTIONS_PATHS=/Users/user1/Documents/work/scripts/ansible-repo/ansible_collections
4

0 回答 0