##### SUMMARY
In current `devel`, using the openstack inventory plugin with the parameter `clouds_yaml_path` no longer works.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/cli/config.py
lib/ansible/plugins/inventory/openstack.py

##### ANSIBLE VERSION
```paste below
$ ansible --version
ansible 2.9.0.dev0
  config file = None
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/ansible3/bin/ansible
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
```

##### CONFIGURATION
```paste below
$ ansible-config dump --only-changed
ANSIBLE_NOCOWS(env: ANSIBLE_NOCOWS) = True
```

##### OS / ENVIRONMENT
CentOS / Mac OS / control machine


##### STEPS TO REPRODUCE
Use inventory file `openstack.yml` as follows:

(1)
```yaml
plugin: openstack
clouds_yaml_path:
  - private/openstack/clouds.yml
```

that format is the one which has historically worked. It is not the documented expected format.

----

The documentation suggests this would work, but it never has:

(2)
```yaml
plugin: openstack
clouds_yaml_path: private/openstack/clouds.yml
```

##### EXPECTED RESULTS
Generally, I would expect one of those 2 files to be successfully parsed.

Specifically, right now, I would like the 1st of those 2 to be parsed, because that is the only format that works in Ansible 2.8.


##### ACTUAL RESULTS
For inventory file (1)

```
$ ansible-inventory -i private/openstack/openstack.yml --list --export
 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with auto plugin: Invalid type for configuration
option plugin_type: inventory plugin: openstack setting: clouds_yaml_path : Invalid type provided for "string": ['private/openstack/clouds.yml']

 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with yaml plugin: Plugin configuration YAML file,
not YAML inventory

 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with ini plugin: Invalid host pattern 'plugin:'
supplied, ending in ':' is not allowed, this character is reserved to provide a port.

 [WARNING]: Unable to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml as an inventory source

 [WARNING]: No inventory was parsed, only implicit localhost is available

{
    "_meta": {
        "hostvars": {}
    },
    "all": {
        "children": [
            "ungrouped"
        ]
    }
}

```

This case errors because of validation introduced in https://github.com/ansible/ansible/pull/58530, ping @bcoca 

From verbose output:

```
 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with auto plugin: Invalid type for configuration
option plugin_type: inventory plugin: openstack setting: clouds_yaml_path : Invalid type provided for "string": ['private/openstack/clouds.yml']

  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/inventory/manager.py", line 277, in parse_source
    plugin.parse(self._inventory, self._loader, source, cache=cache)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/inventory/auto.py", line 58, in parse
    plugin.parse(inventory, loader, path, cache=cache)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/inventory/openstack.py", line 141, in parse
    self._config_data = self._read_config_data(path)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/inventory/__init__.py", line 229, in _read_config_data
    self.set_options(direct=config)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/__init__.py", line 75, in set_options
    self._options = C.config.get_plugin_options(get_plugin_class(self), self._load_name, keys=task_keys, variables=var_options, direct=direct)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/config/manager.py", line 348, in get_plugin_options
    options[option] = self.get_config_value(option, plugin_type=plugin_type, plugin_name=name, keys=keys, variables=variables, direct=direct)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/config/manager.py", line 409, in get_config_value
    keys=keys, variables=variables, direct=direct)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/config/manager.py", line 502, in get_config_value_and_origin
    (to_native(_get_entry(plugin_type, plugin_name, config)), to_native(e)))
```

----

For inventory file (2)

```
$ ansible-inventory -i private/openstack/openstack.yml --list --export
 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with auto plugin: must be str, not list

 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with yaml plugin: Plugin configuration YAML file,
not YAML inventory

 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with ini plugin: Invalid host pattern 'plugin:'
supplied, ending in ':' is not allowed, this character is reserved to provide a port.

 [WARNING]: Unable to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml as an inventory source

 [WARNING]: No inventory was parsed, only implicit localhost is available

{
    "_meta": {
        "hostvars": {}
    },
    "all": {
        "children": [
            "ungrouped"
        ]
    }
}
```

This fails because the openstack inventory plugin code depends on the input being a list. See:

https://github.com/ansible/ansible/blob/333953117c9e2ff62ebccdbcbb5947271b88ce73/lib/ansible/plugins/inventory/openstack.py#L178-L179

I can confirm that `client_config.CONFIG_FILES` is a list. Thus, the source of this error is trying to add the input value to this list. That requires both to be a list, thus, the error.

From verbose output:

```
 [WARNING]:  * Failed to parse /Users/alancoding/Documents/repos/ansible-inventory-file-examples/private/openstack/openstack.yml with auto plugin: must be str, not list

  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/inventory/manager.py", line 268, in parse_source
    plugin.parse(self._inventory, self._loader, source, cache=cache)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/inventory/auto.py", line 58, in parse
    plugin.parse(inventory, loader, path, cache=cache)
  File "/Users/alancoding/Documents/repos/ansible/lib/ansible/plugins/inventory/openstack.py", line 183, in parse
    client_config.CONFIG_FILES)

```
running ansible inside a server in the cloud and would rather
                communicate to your servers over the private network.
            type: bool
            default: 'no'
        only_clouds:
            description: |
                List of clouds from clouds.yaml to use, instead of using
                the whole list.
            type: list
            default: []
        fail_on_errors:
            description: |
                Causes the inventory to fail and return no hosts if one cloud
                has failed (for example, bad credentials or being offline).
                When set to False, the inventory will return as many hosts as
                it can from as many clouds as it can contact. (Note, the
                default value of this is opposite from the old openstack.py
                inventory script's option fail_on_errors)
            type: bool
            default: 'no'
        clouds_yaml_path:
            description: |
                Override path to clouds.yaml file. If this value is given it
                will be searched first. The default path for the
                ansible inventory adds /etc/ansible/openstack.yaml and
                /etc/ansible/openstack.yml to the regular locations documented
                at https://docs.openstack.org/os-client-config/latest/user/configuration.html#config-files
            type: string
            env:
                - name: OS_CLIENT_CONFIG_FILE