##### SUMMARY

In the Kubernetes collection's CI tests, the sanity check, which uses `ansible-test sanity --docker -v --color --python 3.6`, started failing with the following error:

```
ERROR: Command "importer.py" returned exit status 1.
>>> Standard Error
Traceback (most recent call last):
  File "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/sanity/import/minimal-py36/bin/importer.py", line 447, in <module>
    main()
  File "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/sanity/import/minimal-py36/bin/importer.py", line 51, in main
    from ansible.utils.collection_loader import AnsibleCollectionLoader
  File "/root/ansible/lib/ansible/utils/collection_loader.py", line 15, in <module>
    from ansible import constants as C
  File "/root/ansible/lib/ansible/constants.py", line 12, in <module>
    from jinja2 import Template
ModuleNotFoundError: No module named 'jinja2'
```

Nothing in the collection has changed in the past week, and no runs failed until this morning's CI run, so it seems something committed to ansible/ansible `devel` has caused this failure.

##### ISSUE TYPE

- Bug Report

##### COMPONENT NAME

ansible-test

##### ANSIBLE VERSION

devel (as of this morning)

##### CONFIGURATION

N/A - defaults

##### OS / ENVIRONMENT

Linux

##### STEPS TO REPRODUCE

  1. Clone kubernetes collection repo
  2. Install Ansible @ devel
  3. Run `ansible-test sanity --docker -v --color --python 3.6`

##### EXPECTED RESULTS

Tests should pass, as they have for the past few weeks.

##### ACTUAL RESULTS

Test fail, with the message in this issue's summary.
"""
        Validates if is string is a well-formed fully-qualified collection reference (does not look up the collection itself)
        :param ref: candidate collection reference to validate (a valid ref is of the form 'ns.coll.resource' or 'ns.coll.subdir1.subdir2.resource')
        :param ref_type: optional reference type to enable deeper validation, eg 'module', 'role', 'doc_fragment'
        :return: True if the collection ref passed is well-formed, False otherwise
        """
        ref = to_text(ref)
        if not ref_type:
            return bool(re.match(AnsibleCollectionRef.VALID_FQCR_RE, ref))
        return bool(AnsibleCollectionRef.try_parse_fqcr(ref, ref_type))
    @staticmethod
    def is_valid_collection_name(collection_name):
        """
        Validates if the given string is a well-formed collection name (does not look up the collection itself)
        :param collection_name: candidate collection name to validate (a valid name is of the form 'ns.collname')
        :return: True if the collection name passed is well-formed, False otherwise
        """
        collection_name = to_text(collection_name)
        return bool(re.match(AnsibleCollectionRef.VALID_COLLECTION_NAME_RE, collection_name))
def get_collection_role_path(role_name, collection_list=None):