<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
While trying to include roles from collections in a dynamic manner, I used a variable as name for the collection name (eg. my_namespace.{{ collection_var_name }}.role1 ). By doing so, the role is not found. Replacing the collection_var_name with the collection name correctly i can use the role without issues.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
Collections

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```

ansible 2.9.6
  configured module search path = [u'/Users/alexandruvinogradov/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alexandruvinogradov/Library/Python/2.7/lib/python/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.16 (default, Jan 27 2020, 04:46:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)]

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
no modification
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
MacOS Mojave 10.14.6


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
Use the playbook below to try to execute role1 from a pre-created collection. Call the collection by passing the var collection_name to match the collection name. 
ansible-playbook playbook.yml  -e'{"collection_name":"name"}'

```
---
- hosts: all  
  collections:
   - namespace.{{ collection_name }}
  tasks:
    - import_role:
        name: role1
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
The expected behaviour would be that the role from the collection passed as variable gets executed. If i were to replace the variable in the playbook with the actual passed name, the role gets executed correctly.


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
The role is not recognized as part of the collection.
<!--- Paste verbatim command output between quotes -->
```
ERROR! the role 'role1' was not found

The error appears to be in 'playbook.yml': line 7, column 15, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

    - import_role:
        name: role1
              ^ here

```

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from ansible.module_utils.six import string_types
from ansible.playbook.attribute import FieldAttribute
from ansible.utils.collection_loader import AnsibleCollectionLoader
def _ensure_default_collection(collection_list=None):
    default_collection = AnsibleCollectionLoader().default_collection
    if collection_list is None:
        collection_list = []
    if default_collection:  
        if isinstance(collection_list, string_types):
            collection_list = [collection_list]
        if default_collection not in collection_list:
            collection_list.insert(0, default_collection)
    
    if collection_list and 'ansible.builtin' not in collection_list and 'ansible.legacy' not in collection_list:
        collection_list.append('ansible.legacy')
    return collection_list
class CollectionSearch:
    
    _collections = FieldAttribute(isa='list', listof=string_types, priority=100, default=_ensure_default_collection)
    def _load_collections(self, attr, ds):
        
        _ensure_default_collection(collection_list=ds)
        if not ds:  
            return None
        return ds