Hi,
I am writing an ansible collection to configure some internal company tools.
Inside this collection I want to have several roles. These roles are very 
similar to each other, so I want to put some shared utility functions and 
classes in some shared location. As far as I understand, that's what the 
`plugins/module_utils` directory in a collection is for.
So here is my collection structure:

```
.
├── README.md
└── ansible_collections
    └── company
        └── iam
            ├── README.md
            ├── docs
            ├── galaxy.yml
            ├── company-iam-1.0.0.tar.gz
            ├── meta
            │   └── runtime.yml
            ├── playbooks
            │   └── playbook.yml
            ├── plugins
            │   ├── README.md
            │   └── module_utils
            │       ├── api_wrapper.py
            │       ├── synchronizer.py
            │       └── utils.py
            ├── roles
            │   └── user_groups
            │       ├── README.md
            │       ├── defaults
            │       │   └── main.yml
            │       ├── files
            │       ├── handlers
            │       │   └── main.yml
            │       ├── library
            │       │   └── user_groups_sync.py
            │       ├── meta
            │       │   └── main.yml
            │       ├── tasks
            │       │   └── main.yml
            │       ├── templates
            │       ├── tests
            │       │   ├── inventory
            │       │   └── test.yml
            │       └── vars
            │           └── main.yml
            ├── tests
            │   ├── output
               ....
```
I want to call the playbook in playbooks/playbook.yml, that should run the 
role user_groups and run the code inside the library/user_groups_sync.py.

This is what the playbook looks like:

---
- hosts: localhost
  gather_facts: false
  collections:
    - company.iam
  vars:
    user_groups_file: "../user_group_vars.yml"

  roles:
    - role: company.iam.user_groups  # Use FQCN here

here is what I am doing (inside the playbooks directory)

playbooks git:(ansible_collection) ✗ ansible-playbook playbook.yml         
     
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note 
that the implicit localhost does not match 'all'
ERROR! couldn't resolve module/action 'user_groups_sync'. This often 
indicates a misspelling, missing collection, or incorrect module path.

I am really new to ansible collections and I'm afraid I haven't gotten very 
far by reading the documentation. Could I please get some help here? I'd 
really appreciate it.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/f915213d-ff2a-4686-b96b-0232eb7aac76n%40googlegroups.com.

Reply via email to