Skip to content

[Bug report] Can't find installed collections #235

@Hipska

Description

@Hipska

Describe the bug

ansible.errors.AnsibleParserError: couldn't resolve module/action 'community.general.capabilities'. This often indicates a misspelling, missing collection, or incorrect module path.

To Reproduce
ansible-playbook-grapher site.yml

Expected behavior
Grapher to load and use the collections just as any other tool.

Versions:
Outputs of :

  • ansible --version:
ansible [core 2.18.2]
  config file = /Users/Hipska/Documents/Super-Visions/Customers/OBE/MES/ansible-pb/ansible.cfg
  configured module search path = ['/Users/Hipska/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/homebrew/Cellar/ansible/11.2.0/libexec/lib/python3.13/site-packages/ansible
  ansible collection location = /Users/Hipska/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/homebrew/bin/ansible
  python version = 3.13.1 (main, Dec  3 2024, 17:59:52) [Clang 16.0.0 (clang-1600.0.26.4)] (/opt/homebrew/Cellar/ansible/11.2.0/libexec/bin/python)
  jinja version = 3.1.5
  libyaml = True
  • ansible-playbook-grapher --version: ansible-playbook-grapher 2.8.0 (with ansible 2.18.1)

Additional context

requirements.yml
---

collections:
  - name: ansible.posix
    version: 1.5.4
  - name: community.general
  - name: community.clickhouse
Full stack trace
Traceback (most recent call last):
  File "/Users/Hipska/.local/bin/ansible-playbook-grapher", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansibleplaybookgrapher/cli.py", line 459, in main
    cli.run()
    ~~~~~~~^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansibleplaybookgrapher/cli.py", line 77, in run
    playbook_nodes, roles_usage = grapher.parse(
                                  ~~~~~~~~~~~~~^
        tags=self.options.tags,
        ^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        exclude_roles=self.options.exclude_roles,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansibleplaybookgrapher/grapher.py", line 63, in parse
    playbook_node = playbook_parser.parse()
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansibleplaybookgrapher/parser.py", line 187, in parse
    playbook = Playbook.load(
        self.playbook_path,
        loader=self.data_loader,
        variable_manager=self.variable_manager,
    )
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/__init__.py", line 50, in load
    pb._load_playbook_data(file_name=file_name, variable_manager=variable_manager)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/__init__.py", line 105, in _load_playbook_data
    entry_obj = Play.load(entry, variable_manager=variable_manager, loader=self._loader, vars=vars)
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/play.py", line 137, in load
    return p.load_data(data, variable_manager=variable_manager, loader=loader)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/base.py", line 171, in load_data
    setattr(self, name, method(name, ds[name]))
                        ~~~~~~^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/play.py", line 223, in _load_roles
    roles.append(Role.load(ri, play=self))
                 ~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/role/__init__.py", line 190, in load
    r._load_role_data(role_include, parent_role=parent_role)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/role/__init__.py", line 276, in _load_role_data
    self._task_blocks = load_list_of_blocks(task_data, play=self._play, role=self, loader=self._loader, variable_manager=self._variable_manager)
                        ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/helpers.py", line 67, in load_list_of_blocks
    Block.load(
    ~~~~~~~~~~^
        b,
        ^^
    ...<6 lines>...
        loader=loader,
        ^^^^^^^^^^^^^^
    )
    ^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/block.py", line 90, in load
    return b.load_data(data, variable_manager=variable_manager, loader=loader)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/base.py", line 171, in load_data
    setattr(self, name, method(name, ds[name]))
                        ~~~~~~^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/block.py", line 118, in _load_block
    return load_list_of_tasks(
        ds,
    ...<6 lines>...
        use_handlers=self._use_handlers,
    )
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/helpers.py", line 233, in load_list_of_tasks
    included_blocks = load_list_of_blocks(
        data,
    ...<6 lines>...
        variable_manager=variable_manager,
    )
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/helpers.py", line 67, in load_list_of_blocks
    Block.load(
    ~~~~~~~~~~^
        b,
        ^^
    ...<6 lines>...
        loader=loader,
        ^^^^^^^^^^^^^^
    )
    ^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/block.py", line 90, in load
    return b.load_data(data, variable_manager=variable_manager, loader=loader)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/base.py", line 171, in load_data
    setattr(self, name, method(name, ds[name]))
                        ~~~~~~^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/block.py", line 118, in _load_block
    return load_list_of_tasks(
        ds,
    ...<6 lines>...
        use_handlers=self._use_handlers,
    )
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/helpers.py", line 299, in load_list_of_tasks
    t = Task.load(task_ds, block=block, role=role, task_include=task_include, variable_manager=variable_manager, loader=loader)
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/task.py", line 135, in load
    return t.load_data(data, variable_manager=variable_manager, loader=loader)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/base.py", line 161, in load_data
    ds = self.preprocess_data(ds)
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/playbook/task.py", line 203, in preprocess_data
    (action, args, delegate_to) = args_parser.parse()
                                  ~~~~~~~~~~~~~~~~~^^
  File "/Users/Hipska/.local/pipx/venvs/ansible-playbook-grapher/lib/python3.13/site-packages/ansible/parsing/mod_args.py", line 350, in parse
    raise AnsibleParserError("couldn't resolve module/action '{0}'. This often indicates a "
                             "misspelling, missing collection, or incorrect module path.".format(bad_action),
                             obj=self._task_ds)
ansible.errors.AnsibleParserError: couldn't resolve module/action 'community.general.capabilities'. This often indicates a misspelling, missing collection, or incorrect module path.

The error appears to be in '/Users/Hipska/<<CURRENT_DIRECTORY>>/roles/collector/tasks/security.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions