aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md8
-rwxr-xr-xforeman_ansible_inventory.py13
2 files changed, 16 insertions, 5 deletions
diff --git a/README.md b/README.md
index 780d48d..fd1d241 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,12 @@ foreman_ansible_inventory
This script can be used as an ansible dynamic inventory[1].
The connection parameters are set up via a configuration
-file *foreman.ini* that resides in the same directory as the inventory
-script.
+file *foreman.ini*. *foreman.ini* is found using the following
+order of discovery.
+
+ * `/etc/ansible/foreman.ini`
+ * Current directory of your inventory script.
+ * `FOREMAN_INI_PATH` environment variable.
## Variables and Parameters
diff --git a/foreman_ansible_inventory.py b/foreman_ansible_inventory.py
index e2a53c3..bece7c7 100755
--- a/foreman_ansible_inventory.py
+++ b/foreman_ansible_inventory.py
@@ -87,9 +87,16 @@ class ForemanInventory(object):
""" Reads the settings from the foreman.ini file """
config = ConfigParser.SafeConfigParser()
- config.read(
- ["/etc/ansible/foreman.ini",
- os.path.dirname(os.path.realpath(__file__)) + '/foreman.ini'])
+ config_paths = [
+ "/etc/ansible/foreman.ini",
+ os.path.dirname(os.path.realpath(__file__)) + '/foreman.ini',
+ ]
+
+ env_value = os.environ.get('FOREMAN_INI_PATH')
+ if env_value is not None:
+ config_paths.append(os.path.expanduser(os.path.expandvars(env_value)))
+
+ config.read(config_paths)
# Foreman API related
self.foreman_url = config.get('foreman', 'url')