0

使用 Ansible 2.10.7:

ansible 2.10.7
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/admin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/admin/.local/lib/python3.8/site-packages/ansible
  executable location = /home/admin/.local/bin/ansible
  python version = 3.8.7 (default, Jun 21 2021, 18:32:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]

在 CentOS7 机器上,我正在尝试使用自定义集合,但出现以下错误:

Exception: CollectionModuleUtilLocator can only locate below ansible_collections.(ns).(coll).plugins.module_utils, got ('ansible_collections', 'sdp', 'firewall_automation', 'plugins', 'modules', 'globals')
fatal: [localhost]: FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}

我的收藏位于: /home/admin/.ansible/collections/ansible_collections/sdp/firewall_automation

我的 ansible.cfg 看起来像:

[defaults]
collections_paths = /home/admin/.ansible/collections/
inventory = /etc/ansible/hosts
host_key_checking = false

看起来我的收藏品放置不当,但我在其他机器上使用此收藏品时,使用相同的配置没有此错误。

完整的错误回溯是:

Traceback (most recent call last):
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/task_executor.py", line 158, in run
    res = self._execute()
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/task_executor.py", line 663, in _execute
    result = self._handler.run(task_vars=variables)
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/plugins/action/normal.py", line 47, in run
    result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/plugins/action/__init__.py", line 861, in _execute_module
    (module_style, shebang, module_data, module_path) = self._configure_module(module_name=module_name, module_args=module_args, task_vars=task_vars)
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/plugins/action/__init__.py", line 231, in _configure_module
    (module_data, module_style, module_shebang) = modify_module(module_name, module_path, module_args, self._templar,
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/module_common.py", line 1299, in modify_module
    (b_module_data, module_style, shebang) = _find_module_utils(module_name, b_module_data, module_path, module_args, task_vars, templar, module_compression,
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/module_common.py", line 1139, in _find_module_utils
    recursive_finder(module_name, remote_module_fqn, b_module_data, zf)
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/module_common.py", line 917, in recursive_finder
    module_info = CollectionModuleUtilLocator(py_module_name, is_ambiguous=is_ambiguous, child_is_redirected=child_is_redirected)
  File "/home/admin/.local/lib/python3.8/site-packages/ansible/executor/module_common.py", line 807, in __init__
    raise Exception('CollectionModuleUtilLocator can only locate below ansible_collections.(ns).(coll).plugins.module_utils, got {0}'
Exception: CollectionModuleUtilLocator can only locate below ansible_collections.(ns).(coll).plugins.module_utils, got ('ansible_collections', 'sdp', 'firewall_automation', 'plugins', 'modules', 'globals')
fatal: [localhost]: FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}
4

0 回答 0