Right - there is no mechanism in Ansible to do this.  This is what we did
for linux system roles -
https://linux-system-roles.github.io/documentation/role-requirements.html -
basically, made up our own file and rely on documentation.

On Mon, Oct 10, 2022 at 7:41 AM Matt Martz <[email protected]> wrote:

> You should generally not do this.  If you have content that is
> distributed, it should only rely on others of its type.  A standalone role
> on a standalone role, or a collection on a collection.  Note that
> collections can contain roles.
>
> As such, there is no automatic installation of dependencies.
>
> Should you wish to keep your use of standalone roles with dependencies on
> collections you would just have to rely on documentation.  And maybe insert
> some form of canary test, that tries to use a module you need, wrapped in a
> block/rescue that then provides a friendly error when the module is not
> available.
>
> On Mon, Oct 10, 2022 at 8:35 AM Todd Lewis <[email protected]> wrote:
>
>> We have a handful of "common" roles that are used by many of our Ansible
>> projects. These projects list their required roles in their respective
>> roles/requirements.yml files. Nothing surprising here; it's worked this
>> way for years.
>>
>> With recent maintenance, one of these "common" roles has started using
>> bits from a couple of collections — community.general and ansible.utils.
>> From reading the docs, I erroneously thought I could specify those
>> collections in meta/requirements.yml like so:
>>
>> ---
>> collections:
>>   - name: community.general
>>   - name: ansible.utils
>>
>> However, that's wrong. (See this
>> <https://github.com/ansible/ansible/issues/73732> for details.)
>> Evidently meta/requirements.yml must be in "v1" format, which is just a
>> list of roles; no "roles:" or "collections:" dict allowed.
>>
>> So how does a required role specify the collections on which it depends?
>>
>> --
>> 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 [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/f6fafb0d-b072-4252-9115-4132663221d9n%40googlegroups.com
>> <https://groups.google.com/d/msgid/ansible-project/f6fafb0d-b072-4252-9115-4132663221d9n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Matt Martz
> @sivel
> sivel.net
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CAD8N0v-X_3HTBZ-3ex2%2BXh-STOBtdHqTeBHZJEOqMA5KQwjH5g%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CAD8N0v-X_3HTBZ-3ex2%2BXh-STOBtdHqTeBHZJEOqMA5KQwjH5g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CALF5A-KQHK1CYEOOGfXm6xtJqRupVh_XP_iAQ8RWOU_-3Bq9vQ%40mail.gmail.com.

Reply via email to