ansible/contrib
Joe 5975296770 Fix AWS EC2 external inventory script config read
EC2 inventory scripts reads configuration from an INI file. The `instance_filters` option controls which EC2 instances are retrieved for inventory. Filling this option and running the inventory script with Python 3 crashes with the following error:

```python
Traceback (most recent call last):
  File "./contrib/inventory/ec2.py", line 1328, in <module>
    Ec2Inventory()
  File "./contrib/inventory/ec2.py", line 163, in __init__
    self.read_settings()
  File "./contrib/inventory/ec2.py", line 393, in read_settings
    for instance_filter in config.get('ec2', 'instance_filters', '').split(','):
TypeError: get() takes 3 positional arguments but 4 were given
```

The problem is the last parameter of config.get() call, because `fallback` keyword argument is not specified.

The fix handles epmpty `instance_filers` in case of Python 2&3
2016-03-02 19:44:25 +01:00
..
inventory Fix AWS EC2 external inventory script config read 2016-03-02 19:44:25 +01:00
README.md

inventory

Inventory scripts allow you to store your hosts, groups, and variables in any way you like. Examples include discovering inventory from EC2 or pulling it from Cobbler. These could also be used to interface with LDAP or database.

chmod +x an inventory plugin and either name it /etc/ansible/hosts or use ansible with -i to designate the path to the script. You might also need to copy a configuration file with the same name and/or set environment variables, the scripts or configuration files have more details.

contributions welcome

Send in pull requests to add plugins of your own. The sky is the limit!